David Chesnut and Lori Lamkin
Microsoft Corporation
適用于:
Microsoft Visual Studio® 2005 Team System
摘要:本文研究 Visual Studio 2005 Team System 中可用的軟件 Project Management Tools。
注 本文檔于產品投入生產之前編寫,因此您可能會發現這里所包含的細節與發布的產品有不一致的地方。文中的信息均依據撰寫本文時的產品狀況,僅供您在計劃時參考。如有更改,恕不另行通知。Microsoft 擁有本文檔中的主題所涉及的專利、專利應用程序、商標、版權或其他的知識產權。除非 Microsoft 以任何書面許可協議明確提供,向您提供本文檔并沒給予您使用這些專利、商標、版權或其他知識產權的任何許可證。
![]() |
簡介 |
![]() |
軟件設計項目管理的難題 |
![]() |
我們的解決方案 |
![]() |
小結 |
Visual Studio Project Management Tools 可以實現更好的計劃、安排、協作、溝通、報告和流程控制。Visual Studio Project Management Tools 與 Visual Studio 集成開發環境 (IDE)、Microsoft Office、Windows SharePoint Services 和 SQL Server 2005 Reporting Services 相集成。Visual Studio Project Management Tools 允許項目數據和流程具有非侵入性的 (non-intrusive) 可見性和規范,從而使 IT 部門管理項目的方式產生變革。
項目經理或主管在構建軟件項目時遇到了大量的問題。
轉換工作中的缺口
客戶需求與開發團隊計劃的工作之間存在著缺口。安排的工作與實際工作之間也存在著缺口。重要信息在這些缺口中丟失。需求沒有完全滿足,而完成的工作并不影響客戶需求。需求管理工具試圖解決這一問題,方法是提供這些缺口的鏈接以形成可跟蹤矩陣。這些鏈接很快就變得過時且毫無意義,并給項目主管帶來很大的維護負擔。
團隊協作和溝通很差
由于存在完全不同的文檔,而且它們不一定是最新的或與實際工作進展同步,因此團隊的協作和溝通受到了阻礙。項目主管必須花時間收集來自不同計劃和列表的狀態,而團隊成員必須花時間發送狀態報告并更新文檔。這影響了團隊工作效率,特別是當團隊成員為了提供其工作狀態而中斷時。團隊工作流的效率低下,其原因是團隊可能要等待工作完成后他們才能開始,但他們缺少一種可靠的機制來確切獲悉工作已完成。有時,僅僅在團隊成員之間傳遞工作、跟蹤問題或收集狀態就用掉了工作的全部時間。
更正系統問題困難
即使項目主管發現必須進行項目過程更改時,在項目團隊中實現適當的更改也是非常困難的。進行流程更改對團隊的工作效率有很大的影響。團隊成員要完成工作就必須不怕麻煩地查找流程信息或正確的文檔模板。
對于分配到包含不同流程的多個項目的團隊成員,查找正確的流程信息甚至會更加困難。為了決定應用哪些策略和規則,團隊成員必須記住使用哪個流程。因此,團隊成員對流程產生了厭惡感,而且不理會流程的更改,從而削弱了項目主管的作用。
跟蹤,但沒有管理
獲得項目的重要衡量標準對于跟蹤狀態和做出決策十分重要。由工具生成的大部分衡量標準沒有以統一的方式進行存儲或訪問。創建報告需要手動將信息從不同的工具剪切和粘貼到一種報告格式中,變得費時又費力。
因此,項目主管需要花非常多的時間從眾多不同的工具收集衡量標準,以使項目計劃保持最新狀態并通知項目團隊。通常,項目主管會身陷于跟蹤細節,而沒有進行項目風險分析和項目過程修正。
Visual Studio Project Management Tools 旨在根據項目經理已知的軟件來解決這些問題:Microsoft Excel、Microsoft Project、Microsoft Word 和 Windows SharePoint Services。
共享數據和自定義視圖
項目主管將需求分解為組件或方案,進而分解成任務,分配給開發團隊,因此 Visual Studio Project Management Tools 可以沿著這個路線捕獲視圖。這些視圖存儲工作產品(例如,功能規范、風險評估和項目計劃)之間的關系。視圖通過推理所建立的關系來提供上下文信息,這些信息在所有不同的視圖之間共享,因此任何視圖中的更新都會反映到所有項目工作產品上。
項目主管可以有很大的靈活性來組織他們的工作,而不會強制他們只用一個項目層次視圖。項目主管可以根據功能、方案和組件在項目中創建視圖,方法是在不同的視圖中相應地選擇和組織相同的數據。項目主管可以在項目的元素之間創建多對多的關系,這種關系可以反映確切的項目狀態,而不會在無意義的可跟蹤矩陣中徒勞無獲。
在 Microsoft Excel 中構建工作項列表
項目經理通常使用 Microsoft Excel 來存儲問題列表、工作項,甚至安排工作。Visual Studio Project Management Tools 提供一個 Microsoft Excel 加載項,將電子表格中的列表對象連接到工作項數據庫中。工作項數據庫是一個存儲所有工作項(例如,錯誤、風險和任務)的地方。
考慮這種情況:項目經理創建一個電子表格,它包含最主要的 10 個風險。隨著項目經理更改這些風險的分配、優先級和其他字段,團隊成員會在他們的工作項隊列中接收到更新的信息。項目經理不再需要查詢工作項的狀態,而且可以將這些信息從工作項數據庫直接“拉”到電子表格中。
創建工作項列表有兩種方式。通過 Portfolio Explorer(Visual Studio IDE 中的一個項目視圖),項目經理可以選擇一個工作項查詢或文檔節點,并創建一個新的數據綁定電子表格。這個新的電子表格將包含一個工作項列表,該列表填充了從查詢獲得的數據。
項目經理還可以從 Excel 中創建工作項列表,方法是使用加載項選擇一個項目并導入工作項。
使用 Microsoft Project 維護項目計劃
項目經理可以使用 Microsoft Project 來布局任務依賴項、加載平衡資源和估計結束日期。Visual Studio Project Management Tools 提供了一個 Microsoft Project 加載項,它可以將項目計劃和項目團隊數據連接在一起。在項目計劃中安排工作之后,項目經理可以將數據發布到工作項數據庫中。新的工作項會因為 Microsoft Project 中進行的任務分配而產生,而且任務會顯示在相應開發人員的工作項隊列中。當開發人員解決了問題并將新狀態反映到工作項數據庫中時,項目經理只需刷新項目計劃即可獲得最新信息。項目經理現在可以有效地使用 Microsoft Project 視圖來跟蹤任務狀態,而無需召開狀態會議和手動更新他們的項目計劃。
實際上,項目主管可以監視幾個不同項目計劃中的任務狀態。例如,項目主管可能想要按需求查看項目狀態。而開發主管可能想要按組件查看項目狀態。這兩個人可以承擔同一組任務,并將其組織在兩個不同的項目計劃中。當工作項中的狀態更新時,開發主管可以查看開發項目計劃中的組件進度,而項目經理可以查看需求項目計劃中的需求進度。
可以按照與創建數據綁定 Microsoft Excel 電子表格的相同方式創建數據綁定項目計劃:通過 Portfolio Explorer 中的查詢、Portfolio Explorer 中的文檔節點創建,或者從任何 .MPP 文件中創建。
Portfolio Explorer
Visual Studio Project Management Tools 中的軟件項目稱為公文包項目。公文包項目是一個中心概念,它將團隊創建特定軟件技術或產品的成果存放在一起。當項目經理創建新的公文包項目時,有幾個關鍵的配置可以用來集中公文包項目中的團隊成果??梢詣摻ㄒ粋€團隊項目 Web 站點來包含文檔模板和常用報告??梢詣摻ㄒ粋€工作項數據庫來跟蹤項目中的所有成果??梢园惭b一個方法模板來確定所有工作成果的規則、策略、安全組和查詢。同時,還可以選擇創建一個源代碼分支來進行源代碼管理。
Visual Studio Project Management Tools 的特性之一 Portfolio Explorer,它可以從 Visual Studio IDE 中輕松導航到工作產品(例如,功能規范、風險評估和項目計劃)。團隊成員可以查看有關產品版本的信息、進入到源代碼、查詢分配給他們的任務、查看整體項目狀態、定位文檔、查看報告和創建與項目有關的工作產品。
項目站點
項目站點存儲工作產品并對其進行版本控制,它是由 Windows SharePoint Services (WSS) 宿主的團隊 Web 站點??梢酝ㄟ^ Portfolio Explorer 使用的相同工作產品也可以通過項目站點作為項目參與者的控制板使用。實際上,如果您在 Portfolio Explorer 中創建新的文檔節點,則會在項目站點中創建新的文檔文件夾。
項目站點附帶了預填充的文檔模板、常用報告和項目流程的 Web 版。項目站點也包含一個用于掛接 RSS Feed 的 Web 部件,以及用于查看報告的 Microsoft SQL Server 2005 Web 部件。
因為項目站點是由 WSS 宿主的,所以該項目站點還可以通過其他 SharePoint Web 部件(例如,通知或事件)進行擴展。這樣,團隊就能夠以任何最適合其項目的外觀和風格來自定義他們的項目站點。
團隊溝通和協作
工作項數據庫
Visual Studio Project Management Tools 維護了一個工作項數據庫,它存儲每個公文包項目的工作項。工作項是一個可以通過特定工作流程分配和跟蹤的工作單元。例如,錯誤工作項跟蹤工作以解決軟件產品中的可疑問題。錯誤的典型工作流是活動、待定、解決和關閉?,F成可用的工作項有錯誤、風險、需求、方案、功能和任務。其他工作項類型則可以隨時創建。
工作項與 Visual Studio 集成在一起,因此開發人員不用離開 Visual Studio IDE 就可以查詢分配給他(或她)的所有錯誤。測試人員也可以在 Visual Studio IDE 中創建一個新的錯誤。因為工作項數據庫是集中式的,所以工作的狀態始終是最新的。
將代碼簽入與工作項相關聯
另一個可以改進協作的 Visual Studio Project Management Tools 功能是,支持將代碼簽入與工作項相關聯。常見的情形是開發人員修復錯誤。開發人員讀取錯誤工作項,簽出代碼,進行修復,然后將代碼簽入。
Visual Studio Project Management Tools 使用“Pending Check-in”窗口來控制代碼簽入。當開發人員簽入代碼時,他或她可以將簽入與工作項相關聯(在本例中為已修復的錯誤)。開發人員不需要使用另一個工具來更新錯誤狀態。此外,還可以設置一個策略來強制將所有的代碼簽入與工作項相關聯。這可以確保在沒有與分配的工作相關聯的代碼的情況下,不會進行代碼開發。
管理軟件流程
Visual Studio Project Management Tools 使軟件流程成為軟件項目開發工作的一個集成部分。通過將軟件流程集成到工具中,可以在團隊成員之間自動進行處理和交接。組成一個流程的元素有:文檔模板、工作項和工作流、報告、安全組、簽入策略和流程指導。這些元素打包到一個可在組織中推廣和標準化的方法模板中。
每個公文包項目都基于一個方法模板。即使項目已經啟動,也可以通過修改方法模板來輕松地向團隊推廣流程調優。
現成的方法模板
Visual Studio Project Management Tools 包含基于 Microsoft Solutions Framework (MSF) 的方法模板。MSF 是一個用于技術項目的精確且符合規定的方法,它基于來自 Microsoft 的一套定義好的原則、模型、規定、概念、指導和公認的做法。有兩個現成可用的方法模板:MSF Agile 和 MSF Formal。MSF Agile 是一個用于小型或非正式軟件項目的輕量級流程,而 MSF Formal 是為較成熟的軟件項目設計的。項目經理可以在這些方法模板公認的做法中進行挑選,以便管理他們項目中的流程。
流程指導
每個方法模板的流程指導都與 Visual Studio 幫助系統無縫集成在一起。當某個團隊成員需要幫助時,他們就可以獲得針對手頭任務的上下文的流程指導。例如,如果一個開發人員在一個使用 MSF Agile 方法模板的錯誤窗體中按 F1,系統就會顯示幫助信息來描述特定于該 MSF Agile 錯誤窗體的字段,以及針對該錯誤要遵循的工作流。流程指導也與其他幫助主題一起進行交叉引用,例如,使用工具的過程和概念性的信息。此外,流程指導的幫助源代碼也包括在內,因此組織可以通過添加新主題、修改步驟和進行任何必要的更改來對其進行自定義,以便支持他們的特定流程。
文檔模板
方法模板包括團隊在項目中使用的文檔模板。文檔模板集成在幾個工具區域中。團隊成員可以通過項目站點和 Portfolio Explorer 使用文檔模板。文檔模板的例子有規范、風險和項目計劃??梢噪S時添加或創建新的文檔模板。
工作項和工作流
項目中使用哪些工作項類型由方法模板確定。每個工作項都有自己的一套字段和規則,它們可以確定該工作項的工作流程,以及團隊成員如何分配和執行任務。工作項跨 Portfolio Explorer、Microsoft Project 和 Microsoft Excel 集成。此外,沒有 Visual Studio 的團隊成員也可以在 Intranet 上通過瀏覽器與處理工作項。Visual Studio Project Management Tools 中包含的工作項類型有錯誤、風險、任務、方案、功能和需求。如果需要,可以隨時添加或創建新的工作項類型。
退出條件
退出條件 (Exit Criteria) 是一些特殊的任務,它們在退出特定活動或重要事件之前必須完成。例如,只有當名為 Project Plan Updated and Approved 的退出條件完成之后,穩定性活動才能視為完成。最初使用的退出條件由方法模板確定,Microsoft Excel 加載項提供一個特定視圖,項目經理可以通過該視圖查看和更新項目中的所有退出條件。
報告
方法模板還確定項目中使用的報告。報告列表衡量標準描述項目的狀態和運行狀況。它們可以通過 Portfolio Explorer 和項目站點進行訪問,如果需要,還可以隨時添加或創建新的報告。
安全組
項目經理不需要 Windows 管理員身份就可以創建安全組。Visual Studio Project Management Tools 將組和權限與項目站點、工作項數據庫和其他數據庫同步。項目經理可以控制誰有權查看或操作項目中的報告、工作產品和工作項。
簽入策略
最后,方法模板為公文包項目配置簽入策略。例如,一種策略可以要求開發人員在簽入之前始終對其代碼運行靜態分析。這種級別的控制是一種很好的控制代碼質量和審核的方式。
自定義軟件流程
項目經理不會僅限于使用 Visual Studio Project Management Tools 附帶的方法模板,因為他們可以安裝由第三方提供的方法模板。另外,項目經理或項目管理辦公室 (PMO) 可以創建自定義方法模板。
作為自定義方法的一個例子,我們考慮這樣的情形:一個名叫 Carol 的項目經理決定實現特定控制,以便更好地遵循 Sarbanes-Oxley 規定。她決定只允許一個特定的安全組將代碼簽入源代碼樹中的資金節點。她還決定讓代碼的更改必須與一個工作項相關聯,并包含簽入說明。
Carol 可以通過 Portfolio Explorer 管理公文包項目設置。她創建了一個新的安全組,這個安全組具有將代碼簽入資金節點的權限。她還將其團隊的特定成員添加到這個新安全組中。該組外的任何人如果試圖將代碼簽入該資金節點,其訪問將被拒絕。
接下來,Carol 再次使用公文包項目設置修改源代碼控制策略。她啟用了一個簽入策略,要求每次更改設置時都提交簽入備注。她還配置了一個自定義 Sarbanes-Oxley 簽入策略加載項,要求每次簽入都與一個工作項相關聯。
之后,她就可以使用 Visual Studio Project Management Tools 報告功能來查看報告:誰簽入某個組件代碼、做了什么工作(相關的工作項)以及簽入備注(原因)。記錄曾接觸該組件的每個人的完整審核日志有助于 Carol 遵循 Sarbanes-Oxley 規定。所有這些更改都可以輕松地通過集成管理用戶界面來實現。
通過 Rich Metrics Reporting 進行管理
Visual Studio Project Management Tools 通過集成 Microsoft SQL Server 2005 Reporting Services 以及提供現成的報告,來提供各種報告功能。Visual Studio 2005 Team System 的所有工具的全部衡量標準都記錄在一個中央數據倉庫中。這些衡量標準包括有關工作項、簽入的信息以及其他項目的相關信息。通過使用報告服務,項目經理不再需要花時間交叉引用各種工具的衡量標準了。項目經理還可以得到更多的數據,這提供了查看項目運行狀況的新角度。
現成的報告
預定義的報告是通過方法模板提供的,并可以通過項目站點和 Portfolio Explorer 訪問。這些報告基于業界中公認的做法,以及 Microsoft 內部團隊用于管理成功項目的實際報告。
下面的列表是 Visual Studio Project Management Tools 中的一些報告功能示例。這些工具的一個強大功能是,可以輕松地將來自多個工具的衡量標準集成到一個報告中。
• |
代碼質量報告:該報告使用錯誤、測試失敗和代碼變動來描述代碼的質量。 |
• |
計劃進度報告:該報告通過查看任務完成和任務延遲情況來描述項目安排的進展情況。 |
• |
計劃穩定性報告:該報告通過查看一些更改(例如,需求和安排等)來描述一個項目的穩定性。 |
• |
測試合理性報告:該報告通過查看測試運行細節來幫助評估測試的有效性。 |
與 Microsoft SQL Server 2005 Reporting Services 相集成
因為 Visual Studio Project Management Tools 報告使用 Microsoft SQL Server 2005 Reporting Services,所以您可以分析各種格式的數據?;緢蟾嬉?HTML 格式顯示。然而,您也可以使用 Microsoft Excel Pivot Tables 來查看數據,以便了解感興趣的特定區域。提供的 Microsoft Excel 模板可以幫助您連接到數據倉庫和分析數據。
最后,您始終可以直接使用 Microsoft SQL Server 2005 Reporting Services 分析項目數據。
Visual Studio 2005 Team System 提供一系列基于項目經理已知軟件的項目管理工具,這些軟件包括:Microsoft Excel、Microsoft Project、Microsoft Word 和 Windows SharePoint Services。通過與 Microsoft Office 集成,項目經理不再需要將來自這些應用程序的數據映射為開發團隊使用的數據。項目站點提供控制板視圖,而且給參與者提供了瀏覽項目數據的功能。Portfolio Explorer 將工作產品集成到 Visual Studio IDE,以便于團隊能夠有效地訪問。豐富的報告可以提供從團隊的整個自然工作流中收集的衡量標準?;跇I界公認的做法的可自定義項目流程驅動了該生命周期。
原文轉自:http://www.anti-gravitydesign.com