忍者ブログ
日記得弟一頁寫的是誰?並不重要,重要的是許下的承諾。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

次の記事:留言板

前の記事:天龍八部--段譽
看到的兩篇文章,在此跟大家分享。分享給準備工作、正在工作的各位。或許文章講的內容是一些資工網頁的事情吧?!不過我卻覺得這是可以通用在各種需要合作的行業上。

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

[客座] 網路創業天敵,收不完的尾巴,誰的錯?

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

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,就會多燒一天的錢,如果晚一天完成,你就是要多付一整家公司一天的薪水,房租,水電,勞健保,電話費…還要生出一些沒必要的工作給這些已經請進門的員工去做。

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

---

[客座] 網路創業天敵,收不完的尾巴,誰的錯?

手上結束這不算小的專案後,又看到這幾天Mr.6的做網站的人,「收尾巴」為何重要?一文、xdite回覆的作網站不只是外包廠商的事,以及獨孤木收尾巴?!這應該還沒開始吧!。所以讓我也來參一腳,來分享一些心得。

不論網站製作或外包都算是專案,都需要進行專案控管。而小型網站或許只需要一個工程師就能獨自coding完成,但規模大的網站建置專案甚至跨部門 動用到數個團隊數十人外加數十個月的人力。而這之中許多看似簡單的小問題,往往就因為跨部門溝通聯繫不量而讓小問題變成大問題。一個只需要程式設計師花5 分鍾就能解決的小蟲子(Bugs),有時卻造成整個專案時程延後一星期。建置網站對於有過幾年程式設計經驗的programer來說不是難事,只需一根菸 的時間在腦中思考一下,馬上就可以開資料庫然後開始coding。但當系統龐大到需要跨部門協同作業時,沒經過有經驗的人來做系統分析與時程規劃的前置作 業。通常就已經可預見這個專案最終命運,delay、delay、再delay。

台灣大多數的程式人員都是從學生開始練習寫程式,一個人寫程式時都有著自己的「風格」。從學生時代到進入公司上班這數年時間,早已養成每個人寫程式 特有的習慣。所以我以前常跟同事開玩笑說:「如何短時間內認識工程師的個性?最快的方法不是跟他交談,而是看他的程式碼。因為許多高手接觸電腦的時間比跟 人相處的時間來的多,久了自然忘記如何與人交談,反而擅長與電腦對談。」當一人獨自開發時,可以盡情展現自我風格或展現高超的程式技巧。但當系統(網站) 龐大到無法僅靠一人完成時,就需要透過團隊力量來分工合作。這時候的個人風格,就會影響整個專案的進行。

在此分享個真實故事。某個大型網站的專案分割為三個子系統,其中一個子系統將蒐集的資料傳回JAVA Server,然後存到資料庫中。讓另一個工程師建置的php站台來讀取資料庫資料。一切看似都如此的完美與簡單,但事情發展總出乎意料。某日因為負責 php的同仁進度超前,所以打算先測試php站台功能是否能與資料庫正常運作。但其他同事正為了專案進度落後而焦頭爛額,沒時間裡會資料庫中還沒有任何資 料。所以php工程師直接進資料庫修改資料表,打算直接丟幾筆測試資料。填完資料測完功能,也跟該部門的同事發現php系統上要改的地方。也就「順便」直 接在資料庫中新增資料表與欄位,滿足了原先系統未滿足的需求。等要丟入正式資料到資料庫時,大家才發現晴天霹靂的恐怖事情。不知何時共用的資料庫中的所有 資料表,竟然資料欄位全部變成小寫?而兩個各有數千行程式碼的子系統,一個全用小寫、另個全用大寫來命名。這時究竟要改哪個系統才好早已沒人知道,大家已 陷入一片哀嚎與咒罵聲中。

從大家三篇的文章加上前面志威分享的小故事,可看出網站的成敗與否。問題不單單只是xdite心中所想的:「改一個功能並不是很難,只是我要花一些 時間去看程式碼和重新改寫。」但對於老闆來說,他的專業不在於技術的研究。老闆甚至可以不懂任何一行程式,他該做的事情是要看的是比員工更高層次的「方 向」與「未來」。也不僅只是Mr.6單純的認為:「你給我成品前,難道自己不會『撿撿』嗎?」。身為員工的程式撰寫員寫出來的程式,在自己眼中是看不到老 闆眼中使用者真正需求(很多時候程式的修改不是功能問題,而是老闆的需求改變)。而擁有豐富專案管理實務經驗的獨孤木前輩,文中就提到網站建置或外包的重 要問題。問題的癥結點是溝通!溝通與協調上會花去絕大部分的時間,而時間之於專案就如同汽車與汽油的關係。每多開一公里就多浪費一公里的油錢,專案多延宕 一天沒結案,總成本就會持續超出預算。

其實大家都沒錯,只是看事情的眼界高低的差異與出發的觀點不同。幾位朋友分別從網站開發的程式設計者、網站外包的業主與專案管理者,這些不同的角度 去看網站(專案)長尾巴這件事情。而我再進一步補充,究竟要如何找到讓專案順利並圓滿完成的解決方案呢?這個答案就是找到一個稱職、有能力的PM。一個良 好的PM除要具備相當的domain knowhow與時程控管能力外,最重要的就是溝通協調能力。他必須將老闆時長過於遠大的夢想,找到執行與實做的方法,更要能溝通協調把像在各星球各自為 政、不同部門的理性嚴謹工程師與行銷、美工等創意人員,通通揉合在一起朝相同目標前進。也能夠事前就規劃好整個專案的時程,並且設定適當的check point,隨時掌控進度與各部門狀況。這也是為何有些前輩會說,看一個網站建置(專案)的成敗,只要看看帶頭的PM是誰?就能明白這個專案未來的成敗。


PR
次の記事:留言板

前の記事:天龍八部--段譽
この記事にコメントする
名字
標題
文字顏色
MAIL
URL
留言
修改用密碼   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事にトラックバックを送る
この記事へのトラックバックURL:
- HOME -
留言板~

Buboo
博客萊暢銷書
Last.Fm
訪客人數



Powered by  [PR]
 | 忍者ブログ