共用方式為


使用相依性追蹤器擴充功能

Azure DevOps Services

注意

我們建議您使用 傳遞計劃 來追蹤相依性,而不是相依性追蹤器。 相依性追蹤器擴充功能不是 Azure Boards 的支援功能,且不受任何產品小組支援。 如有任何問題、建議或在使用此擴充功能時遇到的問題,請造访 Azure DevOps 的 Marketplace 並查看相依性追蹤器擴充功能 頁面。 相依性追蹤器擴充功能僅適用於 Azure DevOps Services。

相依性追蹤器延伸模組可協助您跨小組、專案和組織管理相依性。 它提供可篩選的視圖,以顯示團隊所使用與產生的所有依賴。 這些檢視可讓您追蹤相依性的狀態和排程,以支援評估相依性對產品交付項目的風險。

使用相依性追蹤器在反覆專案或發行開始時規劃相依性,並在開發期間追蹤狀態。 針對任何指定的依賴關係,涉及下列相關方:

  • 使用者:有需求並開始工作請求的功能團隊。
  • 製作人:承諾交付工作的特性開發團隊。

每個工作要求和工作交付專案都會定義為工作專案。 工作專案會透過 Successor-Predecessor 連結類型或其他方向性連結類型建立連結。 如需詳細資訊,請參閱 鏈接類型參考 從鏈接產生/取用。

提示

雖然任何工作專案類型都可以參與相依性追蹤,但您可能會想要將相依性限制為特定類型,例如功能項目、Epic、使用者故事或錯誤。 您可以藉由 設定相依性追蹤器來建立限制。

從相依性追蹤器中,您可以選擇不同的檢視和篩選,然後向下切入以取得特定詳細數據。 下列各節將說明這些檢視和選項:

使用相依性追蹤器來視覺化及追蹤下列工作專案:

  • 小組所提供工作的交付專案相依性。
  • 您的團隊在交付工作時對其他團隊的依賴性。
  • 其他小組對於貴小組所提供工作的依賴。

整個組織的所有小組都可以參與追蹤相依性。

注意

依賴性追蹤器無法取代達成工作共識所必需的面對面互動。 它提供更簡單的規劃和追蹤功能。 在進入相依性追蹤器之前,所有相關方都應該事先同意相依性。

重要詞彙

  • 相依性:小組 A 必須依靠小組 B 執行某些工作,以便小組 A 能夠完成其嘗試進行的工作。
  • 客戶團隊:提出工作要求的小組。
    • 消費者負責該工作的參與和追蹤-由於這是他們場景所需的工作,因而負擔落在消費者身上,需由他們來申請、監控並追蹤工作的狀態。
    • 作業者負責將工作輸入 Azure Boards 並將工作請求提交給生產者。
    • 消費者負責管理他們要求的工作,以便他們知道任何重大變更和調整
  • 製作人:正在執行工作的團隊。
    • 一旦工作提交至製作者,製作者就會擁有工作專案,
      • 製作人負責維護 Azure Boards 中的工作項目
      • 製作者擁有工作項目和迭代的狀態
      • 消費者不應該在工作專案移交后觸碰這些值
  • 排序:生產小組的工作必須在取用小組開始工作之前完成。

先決條件

  • Tools:針對您想要追蹤相依性的組織安裝 相依性追蹤器擴充功能
  • 權限
    • 若要檢視相依性,請成為專案 專案有效使用者 群組的成員。
    • 若要建立相依性,請成為參與相依性連結之兩個專案 參與者 群組的成員。
    • 若要修改組態,請成為 專案集合系統管理員 群組的成員。
  • 驗證:若要支援跨組織參與,所有組織都必須透過相同的 Microsoft Entra ID來驗證使用者。
  • Services啟用 Azure Boards 作為一項服務
  • 組態和自訂工作
    • 設定區域路徑和小組以參與相依性追蹤。
    • 設定專案的反覆作業/短期衝刺路徑,並將其指派給參與依賴關係追蹤的工作項目。 此工作對於時間軸視圖來說,是產生有意義數據所必需的。
    • 視需要自定義您的程式,以支援任何其他工作專案或欄位。
    • 設定相依性追蹤器 來支援您的業務需求,並解決任何客製化項目。

重要

相依性追蹤器的預設設定支援敏捷流程。 如果您的專案是以不同的程式為基礎,或您已自定義程式,您可能需要修改組態。 請參閱本文稍後的 設定相依性追蹤器

開啟相依性追蹤擴充功能

  1. 開啟您小組定義所在專案的入口網站。

  2. 選取 Boards>相依性追蹤器

    螢幕快照,其中顯示 Azure Boards 中的相依性追蹤器中樞。

  3. 從下拉功能表中,選擇希望檢視依賴關係的團隊所對應的 區域

    顯示選取區域的螢幕快照。

    您只能篩選針對項目定義的區域路徑。

篩選選項

輸入關鍵詞或使用一或多個字段來篩選每個支持的檢視。 提供的欄位包括 [狀態]、[工作項目類型] 和 [反復項目路徑]。 根據您輸入的關鍵詞,篩選功能會依據任何顯示的欄位列出工作專案。

若要顯示篩選工具列,請選擇 篩選圖示。

顯示相依性追蹤器篩選選項的螢幕快照。

選擇篩選圖示來開啟和關閉篩選。 若要查看更多篩選條件,請使用篩選清單結尾的箭號。

從每個欄位的下拉功能表中選擇一或多個值。 這些欄位會填入下列值:

  • [工作項目類型]:勾選您想要檢視的工作項目類型的一個或多個核取方塊。 設定為參與相依性追蹤的工作項目類型。 默認工作項目類型為:Epic、Feature、User Story 和 Bug。 若要修改組態,請參閱 相依性追蹤器的組態
  • 狀態:勾選一或多個複選框以檢視您想要的工作項目狀態。 下拉式清單應該包含針對所選檢視中顯示的所有工作項目類型所定義的所有工作流程狀態。
  • 反覆項目:選取一或多個核取方塊,以查看您想要檢視的反覆項目路徑。 下拉式清單應包含針對專案 設定的所有反覆專案路徑 ,以及目前檢視中列出的工作專案。
  • 優先事項:勾選一個或多個核取方塊以查看您想要檢視的優先事項。 指派給工作項目的優先順序值
  • 合作夥伴:定義工作專案的合作夥伴組織。

您的篩選選項依賴於為相依性追蹤器定義的 組態,且對應於符合篩選準則且在選取檢視中顯示的工作專案。 例如,如果您沒有被指派到 Sprint 4 的任何工作項目,則 [Sprint 4] 選項不會出現在 [迭代路徑] 的篩選選項中。

您可以在選取的區域內卸除相依性,以排除小組內的相依性。

檢視向下切入選項

數個檢視可透過向下切入提供互動式視覺效果。 這些功能會在本文的後續內容中的分頁檢視描述中說明。

螢幕快照顯示消耗相依性,深入已完成工作的區域。

建立相依性

相依性代表某個小組相依於另一個小組的工作。 這兩個小組都應該在自己的區域路徑中追蹤自己的工作。 藉由連結相依於其他小組的工作,即可將相依性可視化並追蹤。

  1. 選擇 新增相依性

    顯示選擇『新增相依性』的螢幕快照。

    如果合作夥伴小組位於不同的組織中,請先選擇 合作夥伴帳戶設定相依性追蹤器,即可啟用或停用合作夥伴帳戶選項。

    [建立相依性] 對話框的螢幕快照,選擇合作夥伴帳戶。

  2. 使用 ID 搜尋工作項目,或在工作項目的標題中輸入關鍵字。 在下列範例中,我們會連結使用者故事和錯誤。

    [建立相依性] 對話框的螢幕快照,請選擇兩個要鏈接的現有工作專案。

    • 執行團隊是負責交付工作的團隊。
    • 使用者是需要或依賴於工作的團隊。
    • 建立相依性連結的最快方式是在搜尋方塊中輸入生產者和取用者工作專案識別碼,然後選擇 儲存

    您可以選擇 [建立新],以新增工作項目並將其連結為相互依賴。 在這裡,我們會建立兩個新功能並加以連結。

    [建立相依性對話方塊] 的螢幕擷圖,建立新的工作專案以進行連結。

    如果相依性中有一半的工作專案不存在,您可以視需要建立新的工作專案。

  3. 選取 [儲存]。 只有在選擇並連結兩個工作項目後,才能使用 [儲存] 按鈕。

  4. 從 [成功確認] 對話框中,選取 [檢視相依性]。

    [成功確認] 對話框的螢幕快照。

    您連結的工作項目會反白顯示。

    在下列範例中,Fabrikam Fiber/Service Delivery/Voice 小組相依於 MyFirstProject 小組,以提供其 User Story 706: Cancel order form 來完成 Bug 390: Cancel order form

    [建立相依性] 對話框的螢幕快照,連結的相依工作專案。

您也可以使用 [連結] 標籤來連結工作項目,以建立 [後續/前置] 連結。 前序項目是工作項目的產出者,或是必須先行的項目。 「後續項目」是指工作的取用者,或依賴於第一項的項目。

[新增連結] 對話框的螢幕快照,請手動建立連結。

注意

後續任務/前置任務(消耗/產生)連結類型是相依性追蹤器的預設連結類型。 如果您使用裝載的 XML 進程模型自定義專案,則可以在相依性追蹤器設定中指定不同的連結類型。 如需詳細資訊,請參閱本文稍後的 設定相依性追蹤器,以及 連結使用者故事、問題、錯誤和其他工作項目

您可以從連結的工作項目中選擇 [ 動作] 圖示,然後從功能表選擇 [移除相依性連結] 選項,以移除相依性。

工作專案清單的螢幕快照,請選擇 [動作] 功能表以移除相依性連結。

您可以選擇性地從工作專案的 [連結] 索引標籤中移除連結。

建立相依性的查詢

若要開啟一組互相依存的工作專案,請以與 大量編輯相同的方式選取它們,然後從選取的連結工作專案之一中選擇 動作圖示,並從功能表中選擇 [在查詢中開啟] 選項

工作專案清單的螢幕快照,建立相依性的查詢。

新的索引標籤將開啟,並顯示 [查詢結果] 頁面。

您也可以選取 [工作專案] 和 [直接連結] 查詢類型,然後選擇任何工作項目類型,以建立自定義查詢。

選擇 複製到 HTML 將選取的工作專案以格式化表格複製到剪貼簿。

消耗相依性檢視

消耗相依性 檢視會顯示一個小組依賴於其他小組或區域路徑的工作。

相依性追蹤器的螢幕快照,使用中相依性檢視。

條形圖上的每一個數據行都代表另一個區域路徑,該路徑會依所選 區域檢視的工作流程狀態產生相依性。 下表顯示唯一相依性的數目。 它也會列出參與已追蹤相依性篩選檢視的所有工作專案。

在資料表中,您可以完成下列動作。

  • 選擇條形圖圖表中的其中一個區域路徑橫條和進度狀態,以篩選工作項目清單
  • 使用 展開及 折迭圖示,展開或折疊工作專案清單,以顯示相依工作專案的完整清單。
  • 開啟 [資料行選項] 以新增或移除資料行欄位
  • 選擇 [顯示:使用者] 置頂 或 [顯示:產生者] 置頂,以切換工作項目的順序。

生成相依性視圖

產生相依性 檢視會顯示其他小組或區域路徑相依於每個選取區域的工作。

相依性追蹤器的螢幕快照,產生相依性檢視。

條形圖上的每個欄都代表不同的區域路徑,該路徑會依據所選 區域檢視的工作流程狀態取用相依性。 下表顯示唯一相依性的數目,並列出追蹤相依性篩選檢視中包含的所有工作專案。

在數據表中,您可以完成與取用相依性檢視中相同的動作。

時間軸索引標籤

時間軸 標籤 提供依存關係的行事曆檢視。 時程表檢視為測試版。

重要

若要讓時程表顯示有意義的數據,請將相依的工作專案指派給反覆項目路徑,而且反覆專案路徑必須已指派開始和結束日期。

時間軸檢視有兩個版本:正確流程錯誤流程。 每個版本都會顯示色彩編碼的工作流程狀態。 您可以在 相依性追蹤器組態中自定義色彩代碼。

正確的流程視圖

[正確流程] 視圖會顯示順序正確的依存關係。 後續工作專案在前置工作項目之後完成。

時間軸視圖的螢幕快照,正確的流程。

不正確的流程檢視

錯誤流程檢視會顯示那些順序錯誤的相依性。 至少有一個前置工作項目在其後續工作項目之後完成。

時間軸檢視的螢幕快照,流程不正確。

Risk Graph

Risk Graph 提供相依性如何從消費者團隊流向生產者團隊,或從生產者流向消費者的視覺效果。 圖表可讓小組瞭解一目了然的相依性和風險層級。 此外,風險圖檢視示範了如何連結相依性並將其以階梯式方式組織和優先排序至使用者故事的重要性。

相依性追蹤器風險圖表的螢幕快照。

有兩個檢視: 取用和 而生產。 工作流程狀態色彩編碼可設定。 線條的寬度會指出該區域中有多少相依性,連結越厚,相依性就越厚,如圖例所示。

從...取用

相依性追蹤器風險圖表的螢幕快照,從檢視取用。

為...而生產

相依性追蹤器風險圖表的螢幕快照,產生以供查看。

根據特定相依性進行篩選

您可以選擇其中一個依賴關係以深入了解細節。

相依性追蹤器風險圖表的螢幕快照,並針對相依性進行篩選。

設定相依性追蹤器

成為專案集合管理員群組的成員,以修改組態。 組態的所有變更都會套用至組織中定義的所有專案。

若要變更設定,請選擇 齒輪圖示,並修改列出的語法。 當您完成時,請選擇 [儲存]。

您可以修改的主要屬性摘要如下:

  • 用來建立相依性連結的連結類型。 預設為 [後續任務/前置任務] 連結類型。 只有在您使用 託管 XML 模型自定義工作追蹤 時,才會進行自定義。
  • 工作專案和工作項目類型
    • 參與相依性追蹤的工作項目類型
    • 工作項目類別狀態與色彩的對應
    • 工作項目流程狀態和顏色的對應
  • 相依列表中的預設欄位
  • 預設篩選選擇項目:
    • 選取的相依性工作項目類型
    • 選取的迭代路徑
  • 已開啟的選項:
    • 時程表
    • 新增相依性連結
    • 跨組織帳戶相依性
    • 跨帳戶相依性切換預設狀態
  • 風險圖表組態:
    • 與紅色(代表高風險)相關聯的工作項目狀態
    • 與中性 (灰色) 工作專案相關聯的工作項目狀態
    • 工作項目狀態與處於正常進度 (綠色) 的工作項目相關聯

如需完整清單和描述,請參閱本節稍後所提供的 屬性描述

啟用或停用 [新增相依性] 選項

newDependencyButtonEnabled 屬性會啟用或停用 [新依存關係 連結] 選項。 啟用時,鏈接會出現在 [相依性追蹤器] 頁面上。 停用時,用戶無法從追蹤器建立相依性,只檢閱透過其他方式建立的相依性。 預設值會設定為 true (已啟用)。

啟用或停用跨組織連結

crossAccountConfigs 屬性會啟用或停用 [新增相依性] 對話框中的跨組織相依性連結功能。 預設值會設定為 true (已啟用)。

若要停用,請將 JSON 組態中的下列語法設定為 false

{
"crossAccountConfigs": {
  "crossAccountDependencyEnabled": false,
  "crossAccountDependencyToggleDefaultState": false, //default state for cross account toggle
  "crossAccountDependencyToggleOnText": "Cross-account dependencies on",
  "crossAccountDependencyToggleOffText": "Cross-account dependencies off"}
}

跨帳戶連結需要使用特殊連結類型,而且應該只與 [新增相依性] 選項搭配使用。

屬性描述

下表描述配置檔案中指定的每個屬性項目。

屬性/描述

預設/範例

consumesLinkName

指定用來建立產生者到取用者連結的連結類型。

System.LinkTypes.Dependency-Reverse

producesLinkName

指定用來建立取用者到產生者連結的連結類型。

System.LinkTypes.Dependency-Forward

查詢欄位

指定自定義欄位,以取代依賴性追蹤器用來返回連結工作項目結果的系統欄位。 預設為 。 系統參考名稱可用來傳回下列欄位的值:

  • areaPath - 區域路徑
  • assignedTo - 指派給
  • id - 識別碼
  • areapath - IterationID
  • areapath - 區域路徑 - 迭代路徑
  • areapath - 優先順序
  • areapath - 狀態
  • areapath - 標記
  • 團隊專案 - 團隊專案
  • zh-TW: 標題 - Title
  • workItemType - 工作項目類型

如果使用自訂欄位取代其中一個系統欄位,您可以輸入下列字段來設定替換:

{
title: "Custom.Title",
assignedTo: "Custom.AssignedTo" 
}

相依性工作項目類型

指定參與相依性追蹤的工作項目類型。 從 [建立相依性] 對話框中,只能建立列出的工作項目類型。

違約:

[  
"Epic",  
"Feature",  
"User Story",  
"Bug"  
]

如果使用 Scrum 程式,您會將項目變更為:

[  
"Epic",  
"Feature",  
"Product Backlog Item",  
"Bug"  
]

選擇的相依性工作項目類型

僅將初始焦點限制為相依性追蹤器顯示或清單的工作項目類型。 根據預設的 「Any」,會顯示或列出包含相依性連結類型的任何工作項目類型。 用戶可以透過篩選來變更焦點。

違約:

Any

若要將工作項目類型限製為僅 Epics 和 Features,請指定:

[  
"Epic",  
"Feature"  
]

選定版本

將初始焦點限制於那些指派給迭代路徑等於或低於指定版本的工作項目。 根據空白預設值,不會套用任何限制。 用戶可以透過篩選來變更焦點。

違約:

[]

若要將 Fabrikam 專案的工作項目類型限制為僅限於「版本 1」和「版本 2」,請指定:

[  
"Fabrikam/Release 1",  
"Fabrikam/Release 2",  
]

工作項目類別與顏色

根據工作項目的類別和工作流程狀態,指定用來代表工作專案的色彩。 如需詳細資訊,請參閱如何在待辦事項和看板中使用工作流程狀態和狀態類別

違約:

{
"Proposed": {
"displayName": "Proposed",
"color": "#a6a6a6"
},
"InProgress": {
"displayName": "In Progress",
"color": "#00bcf2"
},
"Completed": {
"displayName": "Completed",
"color": "#9ac70b"
},
"Removed": {
"displayName": "Removed",
"color": "#d9242c"
},
"Resolved": {
"displayName": "Resolved",
"color": "#ff9d00"
}
}

workItemDislayStatesAndDisplayColors

將工作流程狀態對應至用來顯示它們的色彩。 如果您自定義工作流程狀態,或使用使用不同工作流程狀態的程式,您必須更新此屬性。

違約:

{  
"New": {  
"textColor": "rgb(112, 112, 112)",  
"chartColor": "rgb(112, 112, 112)",  
"states": [  
"New"  
]  
},  
"Active": {  
"textColor": "rgb(0, 122, 204)",  
"chartColor": "rgb(0, 122, 204)",  
"states": [  
"Active",  
"Resolved"  
]  
},  
"Closed": {  
"textColor": "rgb(16, 124, 16)",  
"chartColor": "rgb(16, 124, 16)",  
"states": [  
"Closed"  
]  
},  
"Removed": {  
"textColor": "rgb(204, 41, 61)",  
"chartColor": "rgb(204, 41, 61)",  
"states": [  
"Removed"  
]  
},  
"Other": {  
"textColor": "rgb(178, 178, 178)",  
"chartColor": "rgb(178, 178, 178)",  
"states": []  
}  
}  

風險評估數值

指定 Risk 欄位值。 [風險] 欄位指定對使用者故事成功完成的相關不確定性的主觀評價。 它是針對敏捷式程式所定義,但可以新增至其他進程中使用的工作項目類型。

違約:

["1-High", "2-Medium", "3-Low"]

合作夥伴帳戶

選擇性設定,指定在建立跨帳戶相依性時,可從 [相依性] 對話框選取哪些 Azure DevOps 組織。 如果未指定,則根據使用者先前拜訪過的組織產生清單。

違約:

[]

例:

["account-1", "account-2"]

啟用時間軸

啟用或停用時程表檢視。

違約:

true

newDependencyButtonEnabled (新依賴按鈕啟用)

啟用或停用 新的相依性 連結,以建立新的連結相依性。

違約:

true

crossAccountConfigs

(1)啟用或停用支援在其他合作夥伴帳戶的工作項目建立新相依性功能,並且(2)在 [建立相依性] 對話框中指定 [合作夥伴帳戶] 選項的預設狀態。

違約:

{
"crossAccountDependencyEnabled": true,  
"crossAccountDependencyToggleDefaultState": false
}

如果您不想要建立屬於其他組織的任何相依性,請將此設定變更為:

{  
"crossAccountDependencyEnabled": false,  
"crossAccountDependencyToggleDefaultState": false
}

優先值

指定 優先順序 域值。 [優先順序] 字段會指定與業務相關的錯誤、問題、工作或使用者劇本的主觀評等。 它針對大部分待辦工作項目類型及其對應流程設有定義,但也可以新增到用於其他流程的工作項目類型。

違約:

["0","1","2","3","4","(blank)"]

預設欄位

指定用來顯示相依性清單的欄位和順序。

違約:

[
"Id",
"Area Path",
"Dependency Title",
"State",
"Consumers",
"Producers"
]

風險分析已啟用

指定是否啟用風險功能。 如果設定為 true,則必須定義 riskAssessmentValues 屬性。

違約:

False

風險評估值

違約:

[]

riskGraphConfig

將工作流程狀態對應至圖形上顯示的三個風險區域之一:atRisk 為紅色、neutral 為 Gray,且 onTrack 為綠色。

默認值:8

{  
"atRisk": [  
"Removed"  
],  
"neutral": [  
"New"  
],  
"onTrack": [  
"Active",  
"Resolved",  
"Closed",  
"Other"  
]
}

新增或移除參與相依性追蹤的工作項目類型中使用的工作流程狀態。

迭代深度

指定相依性追蹤器查詢以建構時間軸視圖時,反覆路徑的階層深度。

默認值:8A 深度 3 會對應至:Fabrikam/Release 1/Sprint 20。

默認組態語法

{
    "consumesLinkName": "System.LinkTypes.Dependency-Reverse",
    "producesLinkName": "System.LinkTypes.Dependency-Forward",
    "queryFields": {},
    "dependencyWorkItemTypes": [
        "Epic",
        "Feature",
        "User Story",
        "Bug"
    ],
    "selectedDependencyWorkItemTypes": "Any",
    "selectedReleases": "",
    "workItemCategoriesAndColors": {
        "Proposed": {
            "displayName": "Proposed",
            "color": "#a6a6a6"
        },
        "InProgress": {
            "displayName": "In Progress",
            "color": "#00bcf2"
        },
        "Completed": {
            "displayName": "Completed",
            "color": "#9ac70b"
        },
        "Removed": {
            "displayName": "Removed",
            "color": "#d9242c"
        },
        "Resolved": {
            "displayName": "Resolved",
            "color": "#ff9d00"
        }
    },
    "workItemDislayStatesAndDisplayColors": {
        "New": {
            "textColor": "rgb(112, 112, 112)",
            "chartColor": "rgb(112, 112, 112)",
            "states": [
                "New"
            ]
        },
        "Active": {
            "textColor": "rgb(0, 122, 204)",
            "chartColor": "rgb(0, 122, 204)",
            "states": [
                "Active",
                "Resolved"
            ]
        },
        "Closed": {
            "textColor": "rgb(16, 124, 16)",
            "chartColor": "rgb(16, 124, 16)",
            "states": [
                "Closed"
            ]
        },
        "Removed": {
            "textColor": "rgb(204, 41, 61)",
            "chartColor": "rgb(204, 41, 61)",
            "states": [
                "Removed"
            ]
        },
        "Other": {
            "textColor": "rgb(178, 178, 178)",
            "chartColor": "rgb(178, 178, 178)",
            "states": []
        }
    },
    "riskAssessmentValues": [],
    "releases": [],
    "partnerAccounts": [],
    "timelineEnabled": true,
    "newDependencyButtonEnabled": true,
    "crossAccountConfigs": {
        "crossAccountDependencyEnabled": true,
        "crossAccountDependencyToggleDefaultState": false
    },
    "priorityValues": [
        "0",
        "1",
        "2",
        "3",
        "4",
        "(blank)"
    ],
    "defaultColumns": [
        "Id",
        "Area Path",
        "Dependency Title",
        "State",
        "Consumers",
        "Producers"
    ],
    "riskGraphConfig": {
        "atRisk": [
            "Removed"
        ],
        "neutral": [
            "New"
        ],
        "onTrack": [
            "Active",
            "Resolved",
            "Closed",
            "Other"
        ]
    },
    "iterationDepth": 8
}