[獨孤木] 收尾巴?!這應該還沒開始吧!

Mr. Monday: 最近看到許多文章在談軟體專案管理,針對 “收尾巴” 事件來討論,大家都講的很有道理。但是卻都少了比較全面的觀點,原本自己想要寫一下的,結果我看到獨孤木兄的文章之後,發現這篇文章簡短意賅,重點都點出來了。是的,當一個軟體的專案的 Scale 往上上升時,往往最花時間的是溝通。讓我們欣賞一下獨孤木兄的文章吧:)

==============================================

剛剛看到xdite寫的一篇文章:作網站不只是外包廠商的事,再連到Mr.6的網站,看到了這一篇:做網站的人,「收尾巴」為何重要?

在做任何評論之前,我想先分享一下最近這幾個月所完成的一個專案。

我最近才幫一個客戶,把他們的網站從快要陣亡弄到可以上線營業。我的客戶標下了一個專案。他們是提案子標案子的行家,所以標下來了一個專案,想說從中間賺一票。不過他們並沒有開發軟體專案的經驗,所以這也是他們第一個想要包下來的軟體專案。

他們一開始的時候,把專案轉包給一個在台灣的軟體公司,而這家在台灣的軟體公司,告訴他們說:『我們有很好的專案管理能力,可以透過大陸的廉價人工來幫你 開發。大陸的人工便宜,技術又好,又採用了最新的技術,所以開發速度絕對比高鐵還要快,彈性又大,你們愛怎麼改就怎麼改,我們可以打包票,這絕對沒問 題。』

在開始時,每個人都覺得很快樂。

最後要使用的出錢大客戶,覺得我們的客戶用很低的價錢就去標,他們可以省錢,他們當然很高興。

客戶覺得我可以具有很低的開發成本,還有很高速的開發速度,以及超高的彈性。可以愛怎麼改就怎麼改。

軟體公司也拿到一筆錢可以花用。大陸的工程師拿到薪水當然也覺得很不錯。

不過隔了一段時間,我的客戶發現,怎麼進度回報非常不精確。這家軟體公司的專案到底是怎麼進行管理的呢?對於bug的管控也沒有制度化的管理,然後期限一步步逼近,好像沒有什麼東西是可以用的。

過了預計交件的截止期限後,軟體公司交出了一個未完成的半成品。可能連半成品都稱不上吧。就是一整個囧。所有的畫面點沒兩步就會當掉。會有一堆exception出來跟你say hello。

大家坐下來開一次會,決定再給他們一個月的時間。一個月過去了,半成品看來依然是半成品。系統從完成30%變成了完成60%。問題是這個30%跟60%怎麼來的,沒有人知道。只要再給他們一個月,就會完成100%。

可是我們的客戶,覺得這根本連10%都還沒做完。怎麼辦?況且再拖延下去,傷害的是商譽,還有出錢的大客戶也在皺眉頭了,他們的承辦人對於這種一而再再而三的跳票也感到很震怒。

於是找上了我們。

我們進場之後,首先建立了問題追蹤的制度。接下來則是把幾個關鍵的部份整個打掉重做。

我們面對的剛好是一個需求也不是很確定,然後書面資料不太夠的情形。所以我們請客戶協助架起開發與測試環境,然後把最新的產出放在那個環境上面跑。

原來的團隊開發的程式我們還是保留了很大的一塊請他們維護到會動。不過這部份到後來還是付出不少代價。

客戶在這中間還是做了一些決定,讓他們多花了不少銀子。最重要的部份,是花在追趕中間層出不窮的milestone與新需求。當然,面對這樣的一個案子,什麼需求都算是新需求。

到最後上線的時候,時間大概比我一開始預估的要多了快要一倍,開發經費也超出我們客戶的預期達到三倍之多。

你如果問我,問題出在哪邊?為什麼很有彈性並沒有出現?開發速度很快,又跑到哪裡去了?為什麼軟體總是要花這麼多錢,寫一個會動的網站,這不是一件很簡單的事情嗎?不是很多學生,還是什麼網路上看來的故事,一個強人就可以一下子搞定了嗎?

這些問題好像我在開發軟體的這些年裡面不斷地都會碰到,很多對於軟體開發沒有太多實務經驗的人都會擁有同樣的疑問。

事實上,這是軟體開發的ABC。你要自己開發一個網站自己玩,跟你收了人家的錢,要提供專業的服務,要跟一個team一起工作,所要花的時間、人工,與力氣,通通都是不一樣的。

當你只有一個人的時候,網站發生一個錯誤,出現一個Error 500,Well,這有什麼了不起的,我們把它改到對就好了。你需要跟誰溝通?可能通通都不用,只要腦袋裡面想一想,搞不好內心暗自咒罵一聲就算了。

可是如果你是一個收人家錢做事的team,客戶就會跑來抱怨啦,為什麼會有這個問題出現?你要有人聽這些人在抱怨,分析問題出在哪裡,把程式寫出來,丟到測試環境,驗證系統是不是正確,再丟到正式環境,再驗證系統是不是正確。而這中間所牽涉到的每一個人,都需要進行溝通。

如果客戶心理面又覺得很不安心,所以又找人去罵了一頓,要有人去挨罵,還要有人去扮和事佬,還要有人去扮演心理醫生。

這每一件事,每一個人都要錢。

所以這也不像是xdite所說的:「改一個功能並不是很難,只是我要花一些時間去看程式碼和重新改寫。」因為當牽涉到的人多了,比如說你收了金主的一筆種 子基金,你就不能允許網站一天到晚當機。你要找人跟金主解釋這個解釋那個。單單改一個功能這一件事可能不是很難,可是牽涉的人多了,就變得很難。

事實上,做專案花錢花時間最兇的地方就在於溝通。所以外包到印度,外包到大陸,其實以現在台灣與這兩地的工資來計算,外包出去不見得划算。特別當你把時間 也列入考量的時候。當然,最關鍵的還是你找的團隊。團隊的功力好不好其實會差很多。很多問題,都是因為思想上不連貫或是具有盲點所產生的。

當然,如果這是個軟體團隊自己出來創業,那問題與成本會小很多。

有些話其實一個人講的時候,不見得是講給每一個人聽的。所以我們在研究他的想法時,其實可以去想想他所想要傳遞給哪些聽眾知道。以Mr.6這篇文章來說, 我覺得聽眾應該是他們公司內部的員工吧。所以會抱持著鼓勵的態度。如果以我一個局外人來看,我是覺得,以他們目前的狀態來說,收尾巴?這說的太早了。這應 該還沒開始吧!哈哈哈。

一個網站連第一版都還沒正式對外launch,這其實還在very first beginning。我記得我們在做幹圖王的時候,頭一年大改版三次,小改版大概是用百次去算的吧。一路走到了今天,其實大大小小改了幾百個版有吧。連 diggirl在還沒launch之前,就整個內部大改版過一次。這還是整個推倒重做的大改版喔!

我是覺得Mr.6的問題最主要的地方還是在於,他缺少一個夠經驗的PM,也沒有一個夠有力的SA。這其實是所有想要外包出去的公司,最需要有的兩種人。只 是說,這兩種人強者難尋。而且,這兩種人如果夠格的話,通常薪水待遇都很好,一家新興的網路公司,這種工作機會對他們來說,風險很大可是可以預期的獲利很 不確定,吸引不了強者入場。二來公司是不是可以常態性的付得起他們的薪水,這就又是另外一回事了。

退而求其次就是要找我們這種傭兵了。我看到他寫的『最近聽過幾個創業家找外包廠商做網站,有的找到印度去,沒有仔細找的,在「收尾巴」的部份都做得相當糟糕。』我還覺得蠻奇怪的。有錢找國外的傭兵,為什麼不找台灣軟體界的傭兵呢?嗯,看來我應該要刊個廣告才對。哈哈哈。

不過像我們這種傭兵,就不會跟你搏感情,願意拿什麼stock option來拼未來。這種話我已經聽了7年了,所以耳朵自然具有免疫的能力。我比較喜歡大家拿錢辦事,各盡所能。我們給建議,然後跳錶賺錢。以我們跟客 戶之間的合作來說,其實運作的還不錯。只是說,你就不要想說可以用什麼地攤價買到正牌的Gucci。一分錢,一分貨。這在人力市場上是還蠻正確的一件事。

我後來想了一想,對很多沒經驗的人來說,都會覺得自己要怎麼樣樽節成本,所以一定要花最少的成本來開發軟體。

對於一家網路公司來說,這是一個完全不正確的想法。

我會建議,你應該要從如果這個軟體晚一天上市,你晚一天完成,會需要多燒多少錢的角度來思考。

我自己很久以前就算過了,這該用公司一天營運的成本來計算。對一家網路公司來說,晚一天launch,就會多燒一天的錢,如果晚一天完成,你就是要多付一整家公司一天的薪水,房租,水電,勞健保,電話費…還要生出一些沒必要的工作給這些已經請進門的員工去做。

所以每次我看到很多公司節省一些看得到的小錢,卻完全沒考慮到投進去的成本是與日俱增的狀況,都會覺得還蠻好笑的。你在這部份節省掉的成本,其實是會在隱形的地方要你用十倍百倍吐出來。只是說,為什麼好像大家都視而不見,我就不知道了。

喜歡這篇文章嗎? 分享出去給作者一點鼓勵吧!