2008年3月3日 星期一

第一次當PM的心得(二)

現在來解釋前一篇文章為什麼我覺得我的Project沒有成功

之前在Local的軟體公司工作快兩年
一直深深覺得身為軟體人大家的腦袋應該比很多行業都好一些那為什麼有那麼多班要加 ? 是我們程度不夠嗎 ? 如果加班是加在有Value的事上我還沒什麼話說但是常常是在瞎忙Project schedule的不合理scope的不明確管理者用製造業的心態在管理軟體業........等等問題

後來除了專業技能外我也花了一些時間在研究軟體工程
念了幾本有關軟體工程的書人月神話(The Mythical Man-Month: Essays on Software Engineering)最後期限(the deadline)以及Study RUP與Extreme programing...等等的一些方法論

在一個我可以作主的Project中
我就很積極的想把一些想法落實在方法論中我選擇了Extreme programing為什麼選他呢 ? 因為我對UP的開發模式覺得太龐大了要花不少時間也許開發產品或是長達半年一年的大案子選擇UP是不錯的方式至於做中小案子速度跟靈巧很重要而且我對Agile的理念很多都很認同尤其是減少垃圾文件的產生與測試先行等等概念

我花了一些時間找資料以及上一些技術論壇網站與前輩交換意見架了一個站使用Xplanner來做為這次使用Extreme programing的管理工具去大陸前還跟老闆報告我這"幼稚的雄心壯志"老闆也給了我一些意見

我心中滿是樂觀的看待我這軟體工程的導入看是不是真能提升品質減少文件以及減少溝通成本

漸漸的管理失控了我歸類下列原因

1.習慣性: 大家都習慣透過mail電話作溝通要工程師"主動"上系統看有哪些item要處理然後點選開始處理等到做完後還要進系統塡上Close工程師覺得麻煩沒有這個習慣

2.管理層面: 我們公司是採用矩陣組織(Matrix structure)該軟體開發部門要support來自很多不同事業群的案子如果只是做我的案子就要適應我想要的開發模式每一個跟他們合作的人都提一個開發方式那麼該單位的人就會被玩到死所以對方的意願沒有很高這種模式應該是由他們部門內部發起比較合理

3.我的經驗不足當: 一開始出現問題時我沒有很堅持第一個Iteration做完還算可以但是第2次Iteration時開始就有一些工程師沒上系統或是沒有回去增加他的test case寫test code直接開發起來開發到一半我才發現但是我為了進度妥協了沒有強硬的要求他們馬上回去補那些test case造成test case有缺所以沒有測試碼的那些case就人工測試

大家都知道案子做完大家拍拍屁股走人叫工程師回頭把人工測試的部份補上測試程式是很困難的所以我理想中的將來要是有修改就不用人工測試把測試碼run一次就好的美夢並沒有發生

雖然專案是成功但是軟體工程的導入某些方面是失敗的不過這次我也是學到了不少

沒有留言:

張貼留言