軟體工程中的死亡行軍
我們在進行軟體專案中, 有些專案會成功,有些專案會失敗 。而有些專案過程相當痛苦, 甚至看不到終點。 這類型的專案最終則真的走向了失敗。這文章是根據Death Marth 這本書上的內容所寫的摘要。我們可以很快的分辨哪些類型的專案,"可能"是屬於死亡行軍,而我們有機會避免或是修正。
死亡行軍專案的定義:
- 與用合理估算得出的數值相比,開發的時程被壓縮了一半以上
- 與正常情況下相比,所需的員工數量被壓縮了一半以上
- 預算以及相關資源被削減了一半以上
- 與正常情況相比,專案被要求產出兩倍的功能,特性,性能或是其他技術要求
死亡行軍專案發生的原因:
- 公司內的政治問題
在公司內就算不想要觸碰政治問題,但是還是會受到了政治的影響。例如經理與其他的部門之間有競爭意識,所以把開發的時程給縮短,企圖做出亮眼的成績。 或是因為某些權力鬥爭,所以在人員,預算,資源上比正常狀況還要少了50%以上。這些都是讓專案邁向了死亡之旅
- 缺乏經驗的業務,經理,PM等人所作出的幼稚承諾
由於缺乏經驗,導致經理,業務,專案經理做出了不切實際的承諾。而高階的管理人員如果已經做出了幼稚的承諾,在開發中途發現不可行,但卻又覺得無論如何都一定要信守承諾。也可能是業務知道自己如果告知客戶真實的開發時間以及困難,必定無法拿到合約,所以利用類似欺瞞的手法來得到合約。
- 年輕人天真的樂觀主義: "這個週末就能完成!!"
充滿樂觀主義的工程師的想法 跟青少年的"自以為無所不能,無所不知"的錯覺很類似。他們心裡想著"沒問題,這個星期應該就可以把他硬幹出來",而當你告訴他這不太可能的時候,他們不見得會接受,心理滴咕著:"這很簡單阿, 我只要一星期就可以完成這項功能"。當他們對系統或是專案都採取著過於樂觀的態度時候,也可能使專案成為死亡之旅。
- 新公司的創業精神
新創公司的創業精神其實跟前面幾項也是有所關連。新創的公司通常缺乏人手,經費以及管理。而許多新創的公司都是有一些技術狂熱者所創立,這些人都確信自己的新技術,新的創意將帶來財富。其實這也是某一種程度的樂觀主義,如上述的狀況類似。
- 海軍陸戰隊精神: 真正的工程師無需睡眠!!
剛起步的公司有時比較容易有這樣的症候群,而這樣的文化可能正好也就是企業創建者的個性或是想要建立的文化。新進的員工可能會在某些場合接聽到"我們每個案子都是這樣做的","這邊每個人都會自主加班,如果你無法這麼做的話,你就不屬於我們"。長期之下,公司裡面的優秀人才可能慢慢的流失,但是進度以及目標的評估卻不會因此而改變。因為"你如果不能這樣做的話, 你就不屬於我們"
- 市場全球化所導致的殘酷競爭
由於市場上的改變,也會導致專案邁向死亡。例如筆電的式微,Smart Phone的興起,這相信對製造筆電的製造商造成了很大的衝擊,不管是咬牙前進,還是轉換方向製造其他產品,都有可能會遭遇資金,時程縮短的壓力。
- 由於新技術而引發的激烈競爭
新技術的興起也是會使專案產生巨大的變化。例如Web的興起, 可能會衝擊到原本的桌面應用程式,而為了因應新技術,在短期間之內要將自己的產品用HTML5改寫。也可能是原本開發Window Phone, 因為android的興起,必須使用不熟悉的新技術來開發。
- 不可預期的政府法令所導致的巨大壓力
政府頒佈的法令當然也是有可能影響到專案的開發,而通常這件事會造成困擾通常都是因為產品開發已經到了中後期。例如政府規定要通過特別的認證, 而這不是當初在專案開發所被評估進去的。但是產品已經快到交付日,如果不符合政府規範,可能會有鉅額的損失。這樣的例子也是可能會使專案突然面臨危機。
- 出乎意料或未經計畫的危機: 例如, RD team 出差時, 空難死了
這類的意外一向都很突然,或許不是這麼驚人的意外。但是例如公司裡面最頂尖的兩三個人才突然相繼離職,所合作的廠商突然倒閉,這些也會讓專案立刻就面臨了危機,甚至導致失敗。
沒有留言:
張貼留言