2015年7月30日 星期四

TFS 實作新增待處理項目階層(Portfolio管理)

 ALM   Team Foundation Server


背景


因為主管需要做專案組合Portfolio的管理,因此在MSDN找到這一篇TFS延伸功能的文章:

實作後,發現 對於實務上的Portfolio管理幫助不大,
只是單純在原本的需求(Product Backlog)→工作(或稱Sprint Backlog) 的階層再往上加了一層 
(恩,想了一下,就暫且在本文稱之為Portfolio Backlog XD)

先看一下預期的結果, 待處理項目」中,在功能及需求的階層之上,多了一個我們客製化的最上層: Initiatives


在右邊可看出整個的工作階層 : Initiatives→特殊功能→需求→工作

PS. 小組報表也可顯示相關資訊~


環境

l   Windows 7 Enterprise
l   8 GB Ram
l   Team Foundation Server 2013 Update 5 RC


實作


列出所有TFSWIT (Work Item Type)

開啟「VS2013 開發人員命令提示字元」,輸入以下指令:

witadmin listwitd /collection:http://localhost:8080/tfs/DefaultCollection /p:CMMI-Project

l   /collection : TFS專案集合Url
l   /p : 指定該專案集合下的哪一個專案

列出的結果(TFS 2013 CMMI預設專案範本為例) :
Bug
程式碼檢閱要求
程式碼檢閱回應
特殊功能
意見要求
意見回應
工作
問題
變更要求
風險
需求
檢閱
測試案例
共用步驟
測試計劃
測試套件


匯出TFS的設定檔

匯出相關設定的XML
l   Process config : 流程設定

witadmin exportprocessconfig
/collection:http://localhost:8080/tfs/defaultcollection
/p:CMMI-Project
/f:"C:\temp\Config.xml"

l   WITD : 工作項目設定

witadmin exportwitd
/collection:http://localhost:8080/tfs/defaultcollection
/p:CMMI-Project
/f:"C:\temp\Feature.xml"
/n:特殊功能
n   /n : 只要指定這次要修改的WIT

l   Categories : 功能類別設定

witadmin exportcategories
/collection:http://localhost:8080/tfs/defaultcollection
/p:CMMI-Project
/f:"C:\temp\Categories.xml"


Feature.xml為範本,建立新的工作項目設定(WIT definition)

l   <WORKITEMTYPE name="特殊功能"> 改為 <WORKITEMTYPE name="Initiative">


l    
<WorkItemTypeFilters FilterType="include">
<Filter WorkItemType="需求" />
</WorkItemTypeFilters>
改為
<WorkItemTypeFilters FilterType="include">
<Filter WorkItemType="功能" />
</WorkItemTypeFilters>



修改Categories.xml (功能類別設定) : Category列表加入新工作項目類型及目錄。

在裡面加上
<CATEGORY refname="Microsoft.InitiativeCategory" name="Initiative類別">
    <DEFAULTWORKITEMTYPE name="Initiative" />
</CATEGORY>



修改Config.xml (流程設定檔)

在流程設定檔的<PortfolioBacklogs>內,加入
<PortfolioBacklog category="Microsoft.InitiativeCategory" pluralName="Initiatives" singularName="Initiative">
      <AddPanel>
        <Fields>
          <Field refname="System.Title" />
        </Fields>
      </AddPanel>
      <Columns>
        <Column width="100" refname="System.WorkItemType" />
        <Column width="400" refname="System.Title" />
        <Column width="100" refname="System.State" />
        <Column width="50" refname="Microsoft.VSTS.Common.BusinessValue" />
        <Column width="200" refname="System.Tags" />
      </Columns>
      <States>
        <State type="Proposed" value="已提議" />
        <State type="InProgress" value="作用中" />
        <State type="InProgress" value="已解決" />
        <State type="Complete" value="已關閉" />
      </States>
    </PortfolioBacklog>

並將原本 <PortfolioBacklog category="Microsoft.FeatureCategory" … >
加入一個父階層:
parent="Microsoft.InitiativeCategory"





匯入所有已修改的TFS設定檔

witadmin importwitd
/collection:http://tp-chenghanlin:8080/tfs/defaultcollection
/p:CMMI-Project
/f:C:/temp/Feature.xml

witadmin importcategories
/collection:http://tp-chenghanlin:8080/tfs/defaultcollection
/p:CMMI-Project
/f:C:/temp/Categories.xml

witadmin importprocessconfig
/collection:http://tp-chenghanlin:8080/tfs/defaultcollection
/p:CMMI-Project
/f:C:/temp/Config.xml



結果 (待處理項目)



Reference



















沒有留言:

張貼留言