在敏捷開發中的風險控制的具體實踐

袁斌_AgileDo發表於2012-11-16

風險控制、成本控制是專案管理中非常重要的兩個部分,這裡我分享一下對“風險控制”的一些實踐。

“發現風險越早,消除風險的成本就越低”是我在“風險控制”領域實踐中最重要的一個原則。以下是一些最常用的幾個實踐:

實踐一:專案透明

專案透明指專案干係人對專案的重要要素一目瞭然。專案狀態透明是把專案的釋出計劃完成情況、釋出風險、每一次迭代的完成狀態、迭代風險通過物理白板(如果是離岸開發則建議用工具代替)反映出來,如果是迭代過程則要反映每一天專案的完成狀態和發現的風險,這樣所有的專案干係人(這裡不僅僅是研發團隊)都會對專案的風險關注,而且關注每一天的風險,風險會在剛剛產生的萌芽狀態得到消除和控制

實踐二:結對程式設計

很多技術類的風險,例如底層架構的開發和複雜業務路徑的開發,測試成本非常高,而且如果等到測試發現風險後再修改的編碼成本同樣很高。這樣的情況我們會採用強結對編碼的方式,把可能的研發風險控制在編碼階段

實踐三:非功能性需求和高優先順序測試用例

在較大的專案中,非功能性需求的測試一般放在較後的階段,首先測試的是功能性測試。但是如果非功能性測試出現問題,例如效能、併發等問題,需求修改架構或者資料庫儲存方式,帶來的編碼修改成本是巨大的。我們在大型專案中會成立獨立的測試小組,在前幾個迭代中會重點測試非功能性需求以驗證架構、資料庫等修改成本高的部分,同時要求每一個迭代中測試用例必須按照優先順序進行執行,以保證高風險的Bug最早時間提供給研發團隊。測試用例的最高階是“出現Bug的可能”和“使用者使用的頻率”同時滿足。

實踐四:靜態程式碼質量

為了減少技術債務,我們會堅持高頻率的使用專業的工具持續檢查靜態程式碼的質量,例如Findbugs。

相關文章