2010年4月6日 星期二

軟體專案的生命週期

一個軟體專案的生命週期, 大致如下

需求發展 --> 系統分析 --> 規格設計 --> 程式開發 --> 整合測試 --> 版本發行 --> 需求發展 --> 系統分析 --> 規格設計 --> 程式開發--> .... (如此循環, 直到產品不再銷售)

每一個階段, 都能用 一筆帶過 的方式處理, 也能用 吹毛求疪 的態度追求完美. 但是做事的方法, 通常就會影響到最後產出的品質. 但太過追求完美, 也有可能需要秏費大量的時間和人力, 甚至導致專案的失敗. 這時就要考驗專案經理人的拿捏.

大多數的軟體專案經理對 程式開發 和 整合測試 會比較注意, 因為這裏的工作產出, 程式碼 和測試結果 比較容看得到效益. 需求發展到規格設計這一段, 通常都是比較弱的地方. 但輕頭重尾的結果, 很容易讓一個軟體 "短命", 容易產生 "不符合客戶需要"  和 "後續維護不易" 的問題.

CMMI 的階段式模型, 則提供了一個可執行的規範, 對軟體公司而言, 沒有導入 CMMI 還是可以開發出好的軟體, 例如 Microsoft, Oracle 等巨型的軟體公司, 並無導入 CMMI, 因為當他們成功的開發出符合大多數人需求的軟體時, 根本就還沒有 CMMI 這種東西.

那 CMMI 有什麼用呢? 基本上可以將 CMMI 想像成是一套流程規範, 讓你生產出來的東西具有一定的品質. CMMI 不能告訴你怎麼做出 MS Office 或 Linux Kernel 這樣成功的產品, 但可以幫助你在軟體專案的進行中, 維持一定的水準. 透過制度避免開發中的風險. 這對一個已經有利基產品, 但苦於品質不穩定, 時程延遲等問題的研發團隊, 是一劑有效的藥方.

在軟體專案中, 透過 CMMI 各階段的要求, 就可以比較容易確保在各軟體專案生命週期的各個階段都有投入足夠的關心, 開發出一個品質與維護性都在水準以上的專案.


沒有留言:

張貼留言