l

2010年6月16日 星期三

加班,加班,我愛你

06/16 22:09~23:25

為了讓非軟體產業的鄉民們對於台灣軟體業有所了解,請容許 Teddy 簡述一下許多軟體專案進行的方式。

專案成員
  • 夢想與天一樣高或瘋狂想賺錢的老闆,或兩者皆是。
  • 標準配備為十二英吋口徑加農嘴砲的業務(永遠搞不懂,也不需要懂他在賣什麼東西)。
  • 只會畫甘特圖與 WBS 的專案經理(可能擁有 PMP 證照)。
  • 該死的工程師(實際上應該要做事的人)。
專案進行方式
  • 老闆或是業務靠著『冥想』,『政商關係』,『人脈』,以及『眼睛被蛤蠣蓋住的客戶』加持之下,接到專案。至於專案內容是什麼,拜託,這不重要。
  • 在老闆一聲令下,決定了專案的時程。訂定時程其實很簡單,依據 專案的大小 收錢的多寡,只要遵循 一,三,六,九,十二 這個原則就 OK 了。在這幾個數字中隨便挑幾個用來,一,三 和 六 可能是最常使用的,不管專案要做什麼,反正老闆都認為三個月就應該可以完成。
  • 專案經理依照聖上(老闆)的聖旨,以緊迫釘人的方式,督促工程師趕上進度。
  • 工程師在還沒搞清楚要做什麼之前,三個月的期限已經到了。
看到這邊鄉民們可能會以一個疑問:『啊,三個月到了案子沒做完,那誰負責』。

老闆:專案經理,案子進行的如何?

專案經理:進行的很順利,工程師每天都加班到很晚,功能都做的差不多了,只剩下測試還有『幾個』 小 bugs 要修。

老闆:測試就不用了,讓客戶自己測就好了。這樣還需要多久?

專案經理:大概.... 三個月吧!

老闆:給你一個月。

***

鄉民乙:那專案到底多久做完?

Teddy:這不是重點,結案才是重點。

鄉民乙:沒做完也可以結案?

Teddy:當然。

鄉民乙:那要如何結案?

Teddy:這是秘密,講出來會動搖國本。

鄉民乙:(消音)。

***

Teddy 今天想提的,其實是『加班』這件事。每個工程師都知道一件事,就是專案的『時程 (schedule)』就像台鐵的火車時刻表一樣,僅供參考之用。有的專案更誇張,居然膽敢訂出『反攻大陸』時程表。

老闆:給你一個班的兵力,兩年內把大陸給我打下來。

老闆要做夢鄉民們也犯不著吵醒他,但是又要保護自己在夢醒時分不會遭遇不測。因此,雙方發展出一套遊戲規則:『加班』。
 
老闆 :我的員工好認真,每天加班到 12 點,假日也來上班,統一大業指日可待。

員工:我每天都加班,假日也來加班,東西做不出來也不能怪我。啊不然你是要怎樣。

有了『加班』這個方便法門,老闆不用去花腦筋去提昇管理績效,員工也不用花腦筋去改善做事方法。反正,『這是主流』啊,順著潮流走就對了。(PS:花腦筋是很違反人性的一件事,這也是為什麼周星星的電影那麼多人看,還看了不只一遍。)

***

Agile methods 提倡『每週工作 40 小時』,就像 TPS (Toyota Production System) 提倡『零庫存』是一樣的,目的就是要『把問題暴露出來』。每天加班事情還是做不完,大家已經習以為常,不用花腦筋去想,多方便。那,如果不加班要把事情做完呢,這就難了:
  • 我們專案時程根本亂訂,業務搶到一堆案子,做一個賠兩個。
  • 我們的 bugs 太多了,所以事情做不完。要準時下班,就要想辦法減少 bugs。
  • 程式亂寫,後續根本無法維護,也找不到願意維護的人。
  • 工程師看不到未來,無法成長,人員流動太快。
  • 沒有自動化測試,改一行程式錯 100 個地方也沒人發現。
這個 list 要再加上個 100 條也是輕而易舉的事,這些問題平常都被掃到地毯下,沒人願意去管。反正有『加班』這個萬用武器,何必花時間與力氣去做些吃力不討好的事。

要拯救一個快散掉的軟體開發團隊,首先想想,要如何可以讓團隊成員不再加班也可以達成進度。不管這個團隊有多少問題,這都是一個不錯的出發點。


***

友藏內心獨白:Teddy 年輕的時候也加了不少班,案子還是做的一團亂。

5 則留言:

  1. 有了『加班』這個方便法門,老闆不用去花腦經去提昇管理績效,員工也不用花腦經去改善做事方法。

    I can't agree with you more.. 加班其實是老闆最不需要花工夫的管理方式, 但也是最差的一種..

    回覆刪除
  2. 不過當你處於一個快散掉的團隊(A.K.A 快沉的船)時,只需要確定兩件事:
    1.確定自己有脫離火箭
    2.確定點燃了脫離火箭後有地方可以著陸

    其他什麼搶救團隊(A.K.A 沉船)的事都是徒勞,多幹幾次之後就會想去賣雞排(或保險)

    回覆刪除
  3. Teddy 也很想去過『自己自足』的生活,可惜沒有農地也沒有『深口袋』,只能繼續『搶救雷恩大兵』。不過話說回來,電影中去搶救別人的人,通常沒什麼好下場。

    那裡有賣『脫離火箭』?

    回覆刪除
  4. 首先想想,要如何可以讓團隊成員不再加班也可以達成進度

    =>在台灣, 我認為這有點複雜, 牽涉到的文化的問題:信任

    =>因為你這個專案負責人經過遍訪名師,自己再不眠不休的努力之下, 如果不小心找到方法的話(實踐後證明成功),以本人多年的工作經驗, 台灣的血汗老闆們反而會這樣想:原來不用加班就可以準時完成工作, 那麼你們應再認真點加班, 這樣專案就可以提早完成, 產品也可以提早上市

    回覆刪除
  5. 格主您說的對極了,您那句"給你一個班的兵力,兩年內把大陸給我打下來。"好中肯xDD

    回覆刪除