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去完成他的軟體開發.

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 kojenchieh 的頭像
    kojenchieh

    David Ko的學習之旅

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