TFS對軟件項目的簡單管理 (learnfuture.com)
TFS對軟件項目的簡單管理
——利用TFS進行軟件項目管理(二)
劉夢奇
【摘要】
在當今軟件開發日常運用技術愈加成熟的時代,技術已經不是軟件開發的瓶頸。目前,大多數軟件項目都存在技術成熟、開發周期偏短的特點,在這種情況下,管理已經逐步取代技術的位置,成為軟件項目成功的關鍵。好的管理才能開發出好的軟件,才能在客戶對項目的需求、預算、時間等等條件下成功完成項目交付。
TFS作為微軟在軟件開發管理領域,在VSS、Ofiice、Project等工具的基礎上,優化結合而推出的最新軟件開發管理工具,它囊括了一個軟件的整個生命周期管理,包括前期的需求分析、項目計划;以及隨后的代碼編寫、測試及BUG查找修復,生成,版本控制等等。是適應當前軟件發展的最優管理工具之一。
【正文】
一、 准備
開始創建新的團隊項目之前,我們應收集以下信息:
n 要為項目使用的過程。
創建新的團隊項目時,要用於管理項目的過程決定了應該選擇什么模板。它還可幫助我們評估應該在何種程度上定制所提供的模板。如果希望采用靈活的項目執行風格,則可以選擇用於“敏捷軟件開發”(MSF)模板的“Microsoft 解決方案框架”(MSF),然后考慮進行任何所需的定制。
n 項目名稱。
要慎重考慮團隊項目的命名約定。確保項目名稱具有足夠的唯一性,且項目名稱要便於其他人員查找。一些組織使用項目代碼作為名稱的一部分,而有些組織則可能使用部門和項目題目的組合。
n 源代碼管理結構。
考慮是否需要從一個空的源代碼管理樹開始,還是應基於現有源代碼開始。基於代碼和分支需求來確定適當的源代碼管理結構。(如對設計源代碼管理文
件夾結構感興趣,請參閱參考資料中 “如何在Visual Studio Team
Foundation Server 中設計源代碼管理文件夾的結構”)
二、 選擇過程模板
從選擇過程模板開始。考慮要為項目使用的過程,然后檢查TFS 所提供的兩種模板的不同功能。要評估的功能包括工作項定義(它們是否提供了足以滿足需求的字段?)、文檔模板、工作流、簽入策略和報告。
TFS 提供了以下兩種過程模板:
n 用於敏捷軟件開發的MSF(MSF Agile)
這是為小型和非正式軟件項目提供的輕量級過程。這種過程模板基於場景和上下文驅動的操作,它既以項目為中心,又以團隊成員(人員)為中心。
n 用於 CMMI® Process Improvement 的MSF(MSF CMMI)
這是為更成熟的軟件項目設計的過程。它擴展了MSF Agile,提供了對審計、驗證和正式過程的支持。它依賴且遵守過程,並且以組織為中心。
三、 創建團隊項目
選定想要使用的模板之后,就可以開始創建新的團隊項目了。創建新的團隊項目:
1. 確保Visual Studio 連接到TFS 實例。
2. 在團隊資源管理器中,右擊服務器節點然后單擊“新建團隊項目…”。
3. 在“新項目創建向導”的第一頁,輸入團隊項目的名稱然后單擊“下一步”。
4. 在“選擇一個過程模板”頁面,從下拉列表中選擇第一步中選定的過程模板。對於本示例,選擇“MSF for Agile Software Development –v6.0”過程模板,然后單擊“下一步”。
5. 在“團隊網站設置”頁面,配置站點路徑,然后單擊“下一步”。此處提供的路徑名稱用於生成團隊門戶的 Microsoft Windows SharePoint® Services 網站。
6. 在“指定源代碼管理設置”頁面中,選擇“創建一個空源代碼管理文件夾”,然后單擊“下一步”。
7. 在“確認團隊項目設置” 頁面中,檢查設置然后單擊“完成”。
這將基於MSF Agile 過程模板在TFS 服務器上創建一個團隊項目。
四、 創建安全組
在TFS 中創建項目時,無論選擇了怎樣的過程模板,都會為該項目創建四個默認組。默認情況下,這些組均擁有一個預定義的權限集,用於控制組成員的權限。
我們可以為團隊項目創建一個安全組,以便更好地滿足組織的安全需求。創建安全組是為一組用戶授予團隊項目的指定權限集的有效方法。確保僅為該組授予了必要的最少權限,僅添加了必須屬於這個新團隊項目組的用戶或小組。
要執行此過程,我們必須是項目管理員組的成員,而不一定需要是Windows管理員。
五、 添加 Team Foundation Server 中的團隊成員
在這一步中,我們確定將要在項目上使用的資源以及它們的角色,然后將這些運輸隊成員分配給TFS。我們可以將用戶添加到現有團隊項目組或服務器級(server-level)組。我們還必須為創建的組添加成員。只有Team Foundation 管理員組的成員才能執行這些步驟。
1. 在“團隊資源管理器”中選擇團隊項目。
2. 在“團隊”菜單中指向“團隊項目設置”,然后單擊“組成員資格”。要將用戶添加到服務器級組,指向“Team Foundation Server 設置”,然后單擊“組成員資格”。
3. 在彈出的項目網頁中,點擊添加,從下拉菜單中選擇添加成員的方式。這兩種方式可以說是兩種組織架構,一個是windows的組、另一個是tfs的組,按需求添加即可。
4. 輸入域名\用戶名,檢索添加成員。
六、 確定迭代周期
迭代是用於計划、調度和執行工作的固定長度的時間段。軟件開發生命周期的所有組件(從需求定義到分析、設計、部署、編碼和測試)均被組織到這些迭代中,迭代的時間長度通常為 2 - 6 周。
在這一步中我們確定項目的迭代周期。在確定迭代周期時要記住以下重要的事項:
n 迭代周期應足夠長,以便有充足時間完成重要工作,並且應該至少涵蓋幾種方案。
n 迭代周期應足夠短,以便靈活地適應變更和不斷變化的優先級。
迭代周期的長度取決於項目的規模和復雜度。在實踐中,兩周的迭代周期適用於大多數的項目。
七、 計划迭代
在這一步中,我們來規划迭代,方法是將方案、QoS 需求以及其他工作項分解為任務,估計每個任務的工作量並將任務分配給相關的團隊成員。每個迭代周期均重復此步驟。
八、 監視過程(報表)
每個過程模板均包括一組報告,這些報告可用於跟蹤項目狀態和健康狀況。以下是可用於監視進度的默認報告。
n Bug:
Ø BUG趨勢:顯示一段時間內發現和解決bug的平均速率。
Ø BUG狀態:顯示一段時間內處於每個狀態的bug數、按優先級別或按嚴重級別對bug進行細分以及指派給每位團隊成員的bug數目。
Ø 重新激活:顯示團隊一段時間內解決的bug數和團隊解決后又重新激活的bug數的對比情況。
n 測試:
Ø 測試計划進度:顯示一段時間內運行測試的結果。
Ø 測試用例准備情況:顯示處於每種准備狀態的測試用例數。
n 面板:
Ø 燃盡:顯示團隊已完成的工時數、進行的工時數、尚需的工時數以及理想趨勢。
Ø 燃速:顯示團隊實際的燃速(每天完成的工時數)。
n 生成:
Ø 每日生成結果:跟蹤團隊已簽入的代碼的質量變化。顯示每日最后一次生成的測試結果。
Ø 生成摘要:幫助管理者確定每個生成的狀態。顯示包含測試結果、測試覆蓋率、代碼改動和質量說明的生成列表。
Ø 生成質量顯示器:跟蹤已完成代碼與發行質量的接近程度。顯示測試覆蓋率、代碼改動及bug計數。
n 項目管理:
Ø 計划外工作:顯示有多少計划外工作。
Ø 情景概述:跟蹤每個用戶情景的實現情況。顯示每個情景的尚需工時數和實際完成工時數、各情景的驗收測試結果以及每個情景相關的bug數目。
Ø 情景進度:跟蹤每個用戶情景的最新進度。顯示每個情景的剩余工作、已完成工作和最近完成的工作。
Ø 燃盡和燃速:跟蹤團隊迭代工作的完成進度。顯示團隊已完成的工時數、剩余工時數、進度比率以及指派給每位團隊成員的工作。
Ø 剩余工作:跟蹤團隊的進度。顯示一個迭代中的總工時數和團隊完成該迭代的進度
Ø 所有迭代的狀態:跟蹤團隊的后續迭代的績效。顯示每個迭代的工時數、團隊實際完成的工時數、尚需工時數以及bug數目的初始估計。