“敏捷規劃”存在語意矛盾嗎?希望您不會這樣認為,但在最近于洛杉磯召開的一次專項小組會議中,其中一位與會者指出其組織已從敏捷開發轉為采用更為正式的方法。在經過進一步的詢問后,她坦承其團隊無法再根據其經理的口頭要求進行代碼修復并立即將修復結果部署到生產中,F在,她不得不使用正式的程序。對她而言,即意味著放棄了敏捷開發。
實際上她對敏捷開發的理解并不準確,但是我非常高興她的組織能夠制訂正式的更改流程。敏捷并不是指盲目進行加速或出于速度考慮才選擇敏捷的。相反,它是一種符合標準的規劃方法并且其中融入了經驗數據。
Visual Studio Team System (VSTS) 2010 引入了一些新的特性和功能來幫助敏捷團隊進行規劃。在本文中,我將向您介紹一些全新的產品積壓工作簿、小版本積壓工作簿以及一組新報表,它們可以幫助敏捷團隊規劃和管理版本和小版本。
長期規劃
人們總是擔心沒有精確的長期規劃,這已成為推廣敏捷方法的主要障礙。在 2008 年度敏捷開發狀況調查中,缺乏事先規劃是受訪組織在采用敏捷方法時最關注的問題。我懷疑對許多人來說,缺乏精確的長期規劃就等同于缺乏協同規劃。敏捷團隊選擇多個層級的規劃并在瀑布式規劃過程中進行期間修正,當然本來就該如此。
Steve McConnell 在軟件評估的不確定性圓錐中指出,在項目中過早進行評估可能會得出不準確的結果,偏向高邊的錯誤最高會達到 400%:“在項目早期,待構建軟件本質的具體細節、特定需求的細節、解決方案的細節、項目規劃、人員構成以及其他項目變數均不確定。這些因素的可變性會導致項目評估的可變性!
當然,這并不意味著主管人員的管理策略是“我們不知道項目何時能完成,也不知道完成時會是什么樣子”。它實際上是想說明團隊規劃版本的方法以及各版本中所完成工作的范圍均存在變數。

圖 1 產品和小版本積壓版本和小版本規劃
對于敏捷團隊而言,規劃是在以下兩個截然不同的層級完成的:版本規劃和小版本規劃。版本規劃是一項高級規劃活動,用于幫助敏捷團隊查看各種功能或用戶案例。積壓中的項目隨后被依次堆疊、評估并分配給一組小版本。請注意,在此階段使用的是諸如 T 恤尺寸(小、中、大)等單位來執行評估的。其目的是粗略評估積壓中各個項目的成本,而非精確的報價。這也有助于客戶根據心目中的大致尺寸來依次堆疊需求。
在 Scrum 中,這組用戶案例被存放在一個名為“產品積壓”的列表中(請參見圖 1)。每個小版本中需要處理的工作范圍主要取決于團隊進度。版本的定義主要取決于按照客戶要求完成一組可靠需求的時間。例如,如果需要四個小版本才能實現第一組功能,則預計在第四個小版本后能形成第一個版本。
小版本規劃是一項更為詳細的規劃活動,它在每個小版本開始之前執行。來自產品積壓的高級用戶案例將在核查后根據需要拆分成較小的用戶案例。此時,團隊已準備好將用戶案例拆分成較小的案例并定義完成用戶案例所需的任務。然后將會以小時為單位評估這些用戶案例及相關聯的任務。此時,團隊可以了解到小版本的范圍。
在敏捷團隊的工具箱中,除索引卡和便箋外,經常還會發現 Microsoft Office Excel 這一工具。VSTS 2010 引入了兩個新的 Excel 工作簿來幫助敏捷團隊管理產品積壓和小版本積壓。但在介紹這兩個工作簿之前,讓我們先來快速了解一下 VSTS 2010 附帶的新 Agile 過程模板。
VSTS 中的過程模板包括工作項類型、查詢、報表以及文本指南。在這里工作項是關鍵實體。工作項可以是用戶案例、任務、錯誤等。首先,在 Team Foundation Server (TFS) 中建立一個團隊項目,然后在“New Team Project Wizard”(新建團隊項目向導)中選擇 VSTS Process for Agile Software Development v1.0 模板。此模板包括以下工作項類型:
任務
用戶案例
錯誤
問題
測試用例
您可以創建自己的工作項類型或自定義特定的工作項。要了解更多有關工作項自定義的信息,請參閱 Brian Randell 在 2008 年 12 月撰寫的有關使用和自定義 TFS 過程模板的文章:“Team System:使用過程模板簡化團隊項目”。
接下來,我們將深入探討 Excel 工作簿并了解這些工作項在開發過程中的流動方式以及它們如何幫助用戶規劃和管理價值流。
VSTS 2010 Excel 工作簿
在“敏捷性工具”一文中,Kent Beck 討論了敏捷團隊中存在的大量轉換以及在考慮轉換時對工具的需求; Excel 的規劃工作簿與 TFS 工作項跟蹤的集成有助于最大程度地降低轉換開銷。通過使產品積壓和小版本積壓保持同步,可自動將用戶案例或任務工作項的狀態更新信息捕獲到小版本積壓中以生成各種報表,許多常見活動要么被淘汰,要么被優化。
在使用 VSTS 2010 來管理產品積壓和小版本積壓時,建議敏捷團隊使用以下流程:
使用 VSTS 2010 Agile 模板新建一個團隊項目。
通過將用戶案例添加到產品積壓工作簿或通過在 Visual Studio 中添加工作項來構建產品積壓。
根據各個項目在產品積壓中的堆疊順序,將其分配到某個小版本。默認情況下會創建 Iteration 0、Iteration 1 和 Iteration 2?墒褂脠F隊項目設置來創建更多的小版本。
文章來源于領測軟件測試網 http://www.kjueaiud.com/