l

2011年1月20日 星期四

開下去就對了

Jan. 20 21:31~22:39

2009 年 10 月 Teddy 去上 Certified ScrumMaster 課程的時候,上課的講師 Bas 問了一個問題:『如果你的專案進度落後,在不增加人的情況下,要如何加速?

若是鄉民們有讀過『人月神話 (The Mythical Man-Month)』這本書,就會知道『在一個延遲的專案中,加入更多的人,只會使得專案更加延遲』這個道理,所以 Bas 好心的在問題中加了『不增加人』的限制。

上課的學員們也不是省油的燈,大家七嘴八舌講了一堆方法,Teddy 只依稀記得幾個:
  • 外包...這和增加人手不是一樣?
  • 減少需求...問題是客戶不准啊...
  • 假裝進度正常...用『馬扁』的也行喔!
  • 加班...這是一定要的啦...不過,只有短期效果...長期加班只會讓效率更差...
最後 Bas 講了一個很簡單的方法,只要『口袋夠深』就可以,這個方法就是『花錢』。不過這錢可不能亂花,像是『發展國際一流大學及頂尖研究中心計劃』(是誰想得那麼繞口的名稱,又是一個 A Name without Quality 的最佳範例),一下子就把『五年五百億』花光光 還嫌不夠。或是『八年八百億治水計劃』一樣,不把錢當錢看(把錢當選票看)。這都是失敗的範例。

那錢要如何花才能改善專案進度落後的問題呢?方法很簡單,就是朝著『改善開發與測試環境』開始。
  • 很多專案因為被拿來當作測試環境的電腦只有一台,因此 programmers 要等待這個共用的測試資源。Teddy 親身的體驗,在絕大多數的情況下,增加測試設備可以立即有效改善開發進度。
  • 買大螢幕(至少 22 吋 16 比 10 的液晶螢幕),好用滑鼠與鍵盤給 programmers。螢幕不要買太爛的牌子,看久了眼睛會酸。
  • 買高級的電腦給 programmers 寫程式,記憶體『能加多大就加多大』。吸管要多粗有多粗,冰塊要多大有多大,差不多就是這個精神。
  • 給 programmers 用大桌子。
  • 如果口袋再深一點,最好能有超高級『人體工學椅子』可以坐。不過,一張椅子至少也要一萬新台幣以上...一般正常的公司實在是敗不下去。
以上所說絕對不是勸敗文,也不是幫政府鼓勵消費。因為整個軟體開發專案的成本,絕大部分都是花費在人員的『薪水』上面,和那些動不動就要幾百上千億的『高科技工廠』比起來,軟開發的設備費只能算是九牛一毛。只要少少的投資,便可有效利用最昂貴的『人力』成本,鄉民們您說划不划算。

很可惜,很多『老闆』並不懂這一點,總是想著能省則省:
  • 大家『公家用』一台測試電腦就好了啦,幹麼每人一台,又不是隨時都在測試(Teddy 內心獨白:會這樣講,就知道這個老闆沒在寫程式)。
  • 螢幕不要用太大啦,對眼睛不好。(Teddy 內心獨白:讓我瞎了吧!)
  • 你跑什麼程式需要用到 8G 的記憶體嗎...(Teddy 內心獨白:這是爽度問題)
  • 又不是要『辦桌』,寫程式桌子用那麼大幹麼?(Teddy 內心獨白:桌子太小容易打翻咖啡)
  • 開什麼玩笑,一張椅子要一萬?我睡覺用的床都不用一萬。(Teddy 內心獨白:人家體質特殊需要特別照顧啊)
***

前一陣子 Teddy 申請了兩台 32G SSD 當作跨平台測試機器的硬碟。因為需要從 DRBL Server 上載入不同的 OS Images(不懂的鄉民請參考『土炮跨平台自動化功能測試環境 』),為了加快測試速度,所以改用 SSD。因為 Teddy 從來沒用過 SSD,所以先買個兩台 漱漱口 試一下,結果真的挺方便的。後來 一時衝動 經過仔細分析,當下決定幫每一個 team member 都申請一台 64G 支援 SMART 功能的 SSD,今天剛拿到,真是 太爽了 太方便了。以後要安裝,備份,還原測試的 OS images 就可以省下不少時間。

算一算最近一個月為了測試花了快十萬...不知道何時會被罵...可是... Teddy 還有好多東西想申請啊...好歹再來個 4G DDR3 ECC RAM * 20 條還差不多...

***

友藏內心獨白:Scrum Master 快變成採購人員了。

2 則留言:

  1. 一人一台
    有USB3.0, 兩顆8核, 128G RAM的測試機 -(機王勿來).
    IPhone4 - 方便溝通與求救.

    重點!!!!!!!!!
    穩定的網路!

    回覆刪除
  2. 我想到Yahoo用的一張好幾萬的椅子... (好像還每個人都有)

    回覆刪除