軟件生產的3要素:功能、品質、生產力,我們在項目開發(fā)管理過程中所做的工作也是為了保證這3個方面。針對項目實施過程中的風險,如何來管理和控制,筆者粗淺地談幾點經驗。 1、針對項目需求分析工作的風險
(1)界面原型法
應對的風險:
l 需求反復
l 用戶需求不明確,不知道做成什么樣子
l 需求理解不一致
方法:
采用HTML構建系統(tǒng)原型,和用戶進行講解、引導、討論。
優(yōu)點:
l 需求溝通
l 需求引導,引導用戶的隱含需求
l 需求確認
l 項目組下階段的設計工作輸入
(2)結對分析,業(yè)務與技術人員一對一進行需求分析
應對的風險:
l 需求理解不一致
l 溝通不順暢
方法:
借鑒結對編程做法,業(yè)務人員與技術人員一對一進行需求分析
2、針對設計與編碼的不一致的風險
(1)模型驅動開發(fā)(MDD)
應對的風險:
l 設計與編碼不一致
l 各角色:架構師、設計師、編碼人員溝通問題
l 設計文檔更新困難,不及時
l 生產力不高,缺乏有效的工具
做法:基于角色、貫穿生命期的工具,設計完畢正向自動生成代碼框架,后期對于代碼的修改可反向體現到設計的模型當中。
優(yōu)點:
l 實現模型與代碼的雙向同步,提高生產力
l 有效解決各角色的溝通
l 軟件文檔保持一致性,做到實時更新
3、針對進度、質量方面的風險
(1)持續(xù)集成
應對的風險:
l 在監(jiān)控過程中,每個成員的進度都是100%,但是為什么最后卻產生進度落后?缺乏一種機制來保證質量
l 集成階段的時間長、工作量大、問題多
l 本應早該發(fā)現的問題沒有發(fā)現,以致帶到最后階段,加大了排除BUG成本、時間
做法:以一定的頻率進行整個系統(tǒng)的構建、保證可執(zhí)行、自動測試(JUNIT)。關鍵是自動化,簡單易操作:單一代碼源(cc)-〉代碼歸還(早期3天,中后期每天。前提:本地創(chuàng)建成功)-〉專人創(chuàng)建(每天)-〉反饋(有錯誤,通知開發(fā)人員修改)
優(yōu)點:
l 有效規(guī)避遺留“尾巴”問題,導致最后問題越積越多
l 及時發(fā)現各模塊之間的相互影響,
l 變相地提高了生產力
(2)代碼走查
保證:軟件的品質
走查重點:
l 標準和規(guī)范
l 事務、異常、日志、安全等非功能性關鍵點
走查做法:
l 制定CheckList
l 質量經理負責,全員參與
l 溝通、反饋機制
l 可以采用工具