Agile At Microsoft

摘錄至 How We Test Software At Microsoft

大部分的Agile專家建議, 一個agile團隊的大小最多不要超過10人. 因此在一個大公司中, 如何大的團隊做切割是一個很大的挑戰.

在微軟公司, 對於這件事情的解法是Feature Crew. 它們在一個product或是project中有很多feature crew.

- 組成
(1) 它由各個不同角色所組成: 經理(PM), 開發人員(Dev), 測試人員(Tes)
(2) 通常是3~5個開發人員, 3~5個測試人員

- 任務
(1) 獨立開發某些功能
(2) 每個crew自己定義自己的開發方法
(3) 它會進行規劃, 開發, 測試, 整合, 直到這個功能完成並能和其他系統運作良好
(4) spec 會被切割到一個為期4週的iteration中, 經過幾個iteration後, 這個feature會被完成.

- Quality Gate
為了確保iteration完後的品質, feature crew定義了嚴謹的"做完"的條件. 以下是一個範例, Microsoft列出以下項目來檢查, 是否這個feature已經做完
(1) Testing: 所有規劃的自動化和手動測試需要被執行完並且通過
(2) Feature Bugs Closed: 所有被發現的bug需要被修復
(3) Test Plan: 需要有的計畫去描述所要做的自動化及手動的測試
(4) Code Review: 所有新寫的code都要被review, 並確保滿足code design guidelines
(5) Funcitonal Spec: functional spec需要被完成, 並且被crew所核准
(6) Doc Plan: 規劃哪些文件需要撰寫
(7) Security: 針對新 feature, threat model需要被定義, 有問題的地方需要被mitigated
(8) Code Coverage: 在新feature部分, unit test 要能達到80%以上
(9) Localization: 需要確認在不同語言上也能運作
(10) Performance: 針對新 feature, Product的performance goals 需要達到

像在Office 2007這個project中, 便有超過300 個feature crews.

此外在I.M. Wright's Hard Code一書中, 對feature crew有更深入的描述

微軟大概是以這樣的方式在進行iteration和agile. 不過他還會搭配其他practice去完成他的軟體開發.

    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()