Добавление типа рабочего элемента в невыполненную работу и доску

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Внимание

Эта статья относится к настройке проекта для моделей процессов размещенного XML и локального XML-процесса. Сведения о модели процесса наследования см. в разделе "Настройка невыполненных работ" или "Доски" для процесса. Общие сведения о моделях процессов см. в разделе "Настройка взаимодействия с отслеживанием работы".

Чтобы удовлетворить выбор бизнес-процессов, ваша команда может потребовать отслеживать дополнительные типы рабочих элементов (WIT) в качестве требований или в качестве задач. Таким образом, вы можете добавить их и отслеживать их в продукте и спринт невыполненной работы или Канбан и доски задач.

Например, может потребоваться отслеживать различные типы требований на основе целевого клиента или различных типов ошибок на основе их источника. Здесь команда Fabrikam Fibre добавила службу приложений службы для отслеживания работы, которая поддерживает свою команду обслуживания клиентов.

Добавьте пользовательский WIT, например приложение-службу, в категорию обязательных требований для отслеживания этого требования.

Совет

Если все, что вы хотите сделать, — добавить ошибки в невыполненные работы и доски, см. статью "Показать ошибки в невыполненных работах и досках ", чтобы сделать выбор вашей команды. Если вы хотите добавить еще одну невыполненную работу по WIT и портфелям, см. статью "Добавить уровень невыполненной работы портфеля".

Чтобы добавить WIT для отслеживания требований, задач или ошибок, выполните следующие действия:

Примечание.

Рекомендуется добавить WIT в одну и только одну из следующих категорий: категорию требований, категорию задач или категорию ошибок. Система предотвращает добавление одного и того же WIT в категорию требований и категорию задач. WiTs, добавляемые в категорию ошибок, будут следовать поведению ошибки для команды.

Последовательность настройки

Последовательность настройки модели размещенного XML-процесса

Примечание.

При настройке процесса с помощью импорта и экспорта файлов определений используйте следующие рекомендации. В противном случае, если вы настраиваете процесс с помощью пользовательского интерфейса администратора, см. статью "Добавление или изменение пользовательского типа рабочего элемента" для процесса.

Вы внесите изменения в файлы определения процесса, а затем импортируете этот процесс, чтобы обновить существующие проекты или использовать процесс для создания проекта.

Последовательность настройки локальной модели xml-процессов

Сначала вы экспортируете файлы определений отслеживания работы, обновляете их, а затем импортируете их в проект.

Добавление WIT для отслеживания таких требований

WiTs, которые добавляются в категорию требований, отображаются в невыполненной работы продукта и доске Kanban. Необходимо убедиться, что определение WIT содержит обязательные поля для поддержки средств гибкого планирования.

  1. Экспортируйте процесс (размещенный XML) или файлы определений (локальный XML), как показано на первых шагах.

  2. Измените определение WIT для поддержки средств планирования.

    Настройка и синтаксис для добавления или обновления

    Поле ранжирования стека (Agile, CMMI)

    <FIELD name="Stack Rank" refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension">     
    <HELPTEXT>Work first on items with lower-valued stack rank. Set in triage. 
    </HELPTEXT>      
    </FIELD> 
    

    Поле "Приоритет невыполненной работы" (Scrum)

    <FIELD name="Backlog Priority" refname="Microsoft.VSTS.Common.BacklogPriority" type="Double" reportable="detail" /> 
    

    Поле "Область значений"

    <FIELD name="Value Area" refname="Microsoft.VSTS.Common.ValueArea" type="String"> 
    <REQUIRED />   
    <ALLOWEDVALUES>    
    <LISTITEM value="Architectural" />   
    <LISTITEM value="Business"/>   
    </ALLOWEDVALUES>   
    <DEFAULT from="value" value="Business" /> 
    <HELPTEXT>Business = delivers value to a user or another system; Architectural = work to support other stories or components  
    </HELPTEXT>   
    </FIELD>
    

    Поле типа требования (CMMI)

    <FIELD name="Requirement Type" refname="Microsoft.VSTS.CMMI.RequirementType" type="String" reportable="dimension">  
    <REQUIRED />  
    <ALLOWEDVALUES>  
    <LISTITEM value="Scenario" />  
    <LISTITEM value="Quality of Service" />  
    <LISTITEM value="Functional" /> 
    <LISTITEM value="Operational" />  
    <LISTITEM value="Interface" />  
    <LISTITEM value="Security" />  
    <LISTITEM value="Safety" />  
    <LISTITEM value="Business Objective" />  
    <LISTITEM value="Feature" />  
    </ALLOWEDVALUES> 
    <DEFAULT from="value" value="Functional" />  
    </FIELD>
    

    WORKFLOW Обновление раздела или проверка WORKFLOW раздела следующим образом:

    • Гибкая, пользовательская история: добавление переходов из ActiveRemoved и RemovedResolved в; удаление правил, заполняющих Activated By и Activated Date полей, когда состояние=Resolved
    • Scrum, элемент невыполненной работы продукта: добавление перехода с CommittedRemoved
      Если вы настроили WORKFLOWсопоставление, обязательно определите необходимые сопоставления состояния к метастатикам в разделе ProcessConfigurationRequirementBacklog.

    FORM раздел "Добавить" или проверить, добавлены следующие поля в FORM раздел:

    • Гибкой:
    <Control FieldName="Microsoft.VSTS.Scheduling.StoryPoints" Type="FieldControl" Label="Story Points" LabelPosition="Left" />  
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />  
    
    • CMMI:
    <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.Size" Label="Size" LabelPosition="Left" />
    <Control Type="FieldControl" FieldName="Microsoft.VSTS.CMMI.RequirementType" Label="Type" LabelPosition="Left" /> 
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />  
    
    • Scrum:
    <Control FieldName="Microsoft.VSTS.Scheduling.Effort" Type="FieldControl" Label="Effort" LabelPosition="Left" />  
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />  
    
  3. Измените определение категорий. Добавьте WIT в категорию "Требование". Здесь мы добавим приложение службы.

    <CATEGORY name="Requirement Category" refname="Microsoft.RequirementCategory">
       <DEFAULTWORKITEMTYPE name="User Story" />
       <WORKITEMTYPE name="Service App" />
    </CATEGORY>
    
  4. Обновление или проверка определения ProcessConfiguration: RequirementBacklog раздел для добавляемого объекта WIT. В частности, убедитесь, что выполнены следующие условия:

    • Сопоставление начала каждого состояния рабочего процесса с type="Proposed"
    • Сопоставление каждого промежуточного состояния рабочего процесса, с которым нужно отобразить на доске Kanban type="InProgress"
    • Сопоставление конца каждого состояния рабочего процесса с type="Complete"
    • Убедитесь, что у вас есть только одно состояние, сопоставленное с type="Complete"
      Например, добавьте состояние ожидающего рабочего процесса:
    <States>    
         <State value="New" type="Proposed" />  
         <State value="Active" type="InProgress" />  
         <State value="Pending" type="InProgress" />  
         <State value="Resolved" type="InProgress" />  
         <State value="Closed" type="Complete" />  
    </States>   
    
  5. Добавьте определение цвета WIT в раздел ProcessConfiguration WorkItemColors . Например:

    <WorkItemColor primary="FF33CC33" secondary="FFD6F5D6" name="Service App" />
    
  6. Обновите проект:

Добавление WIT для отслеживания такой задачи

WiTs, добавляемые в категорию задач, отображаются в невыполненных спринтах и досках задач. Добавленная функция WIT должна указать обязательные поля для поддержки средств планирования Agile.

  1. Экспортируйте процесс (размещенный XML) или файлы определений (локальный XML), как показано на первых шагах.

  2. Измените определение WIT для поддержки средств планирования.

    Настройка и синтаксис для добавления или обновления

    Поле ранжирования стека (Agile, CMMI)

    <FIELD name="Stack Rank" refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension">  
    <HELPTEXT>Work first on items with lower-valued stack rank. Set in triage.  
    </HELPTEXT>   
    </FIELD> 
    

    ** Поле "Приоритет невыполненной работы"** (Scrum)

    <FIELD name="Backlog Priority" refname="Microsoft.VSTS.Common.BacklogPriority" type="Double" reportable="detail" />   
    

    Поле действия (Agile, Scrum)

    <FIELD name="Activity" refname="Microsoft.VSTS.Common.Activity" type="String" reportable="dimension"> 
    <HELPTEXT&gt;Type of work involved&lt/HELPTEXT> 
    <SUGGESTEDVALUES&gt;  
    <LISTITEM value="Development" />    
    <LISTITEM value="Testing" />    
    <LISTITEM value="Requirements" />    
    <LISTITEM value="Design" />    
    <LISTITEM value="Deployment" />    
    <LISTITEM value="Documentation" />    
    </SUGGESTEDVALUES>    
    </FIELD>    
    

    Поле дисциплины (CMMI)

    <FIELD name="Discipline" refname="Microsoft.VSTS.Common.Discipline" type="String" reportable="dimension">  
    <ALLOWEDVALUES&gt;  
    <LISTITEM value="Analysis" />    
    <LISTITEM value="User Experience" />   
    <LISTITEM value="User Education" />    
    <LISTITEM value="Development" />   
    <LISTITEM value="Test" />   
    </ALLOWEDVALUES>    
    </FIELD>    
    

    Оставшееся рабочее поле (все)

    <FIELD name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure" formula="sum">    
    <HELPTEXT>    
    An estimate of the work remaining to complete the task (in person hours)  
    </HELPTEXT>
    </FIELD>    
    

    Дополнительные поля планирования (Agile, CMMI)

    <FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum">    
    <HELPTEXT&gt; The original estimate of work required to complete the task (in person hours)</HELPTEXT>   
    </FIELD>    
    <FIELD name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure" formula="sum">    
    <HELPTEXT>An estimate of the work remaining to complete the task (in person hours)
    </HELPTEXT>  
    </FIELD>    
    <FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum">    
    <HELPTEXT>    
    The work that has been completed for this task (in person hours)  
    <HELPTEXT>    
    </FIELD>    
    <FIELD name="Start Date" refname="Microsoft.VSTS.Scheduling.StartDate" type="DateTime" reportable="dimension" />   
    <FIELD name="Finish Date" refname="Microsoft.VSTS.Scheduling.FinishDate" type="DateTime" reportable="dimension" />   
    

    Раздел WORKFLOW
    Обновите или проверьте WORKFLOW раздел следующим образом:

    • Гибкая, пользовательская история: добавление переходов из ActiveRemoved и RemovedResolved в; удаление правил, заполняющих Activated By и Activated Date полей, когда состояние=Resolved
    • Scrum, элемент невыполненной работы продукта: добавление перехода с CommittedRemoved
      Если вы настроили WORKFLOWсопоставление, обязательно определите необходимые сопоставления состояния к метастатикам в разделе ProcessConfigurationTestBacklog.

    Раздел FORM
    Добавьте или убедитесь, что в раздел добавлены FORM следующие поля:

    • Гибкой:
    <Control FieldName="Microsoft.VSTS.Scheduling.StoryPoints" Type="FieldControl" Label="Story Points" LabelPosition="Left" />    
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />    
    
    • CMMI:
    <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.Size" Label="Size" LabelPosition="Left" /&gt;    
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />    
    
    • Scrum:
    <Control FieldName="Microsoft.VSTS.Scheduling.Effort" Type="FieldControl" Label="Effort" LabelPosition="Left" />   
    <Control FieldName="Microsoft.VSTS.Common.ValueArea" Type="FieldControl" Label="Value area" LabelPosition="Left" />    
    
  3. Измените определение категорий. Добавьте WIT в категорию задач. Здесь мы добавим задачу службы.

    <CATEGORY name="Task Category" refname="Microsoft.TaskCategory">
       <DEFAULTWORKITEMTYPE name="Task" />
       <WORKITEMTYPE name="Service Task" />
    </CATEGORY>
    
  4. Обновление или проверка определения ProcessConfiguration: TaskBacklog раздел для добавляемого объекта WIT.
    В частности, убедитесь, что выполнены следующие условия:

    • Сопоставление начала каждого состояния рабочего процесса с type="Proposed"
    • Сопоставление каждого промежуточного состояния рабочего процесса, с которым нужно отобразить на доске задач type="InProgress"
    • Сопоставление конца каждого состояния рабочего процесса с type="Complete"
    • Убедитесь, что у вас есть только одно состояние, сопоставленное с type="Complete"

    Например, добавьте Blocked состояние рабочего процесса:

    <States>  
       <State value="New" type="Proposed" />  
       <State value="Active" type="InProgress" />  
       <State value="Blocked" type="InProgress" />  
       <State value="Resolved" type="InProgress" />  
       <State value="Closed" type="Complete" />  
    </States>  
    
  5. Добавьте определение цвета WIT в раздел ProcessConfiguration WorkItemColors . Например:

    <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Service Task" />
    
  6. Обновите проект:

  7. Убедитесь, что вы можете добавить WIT в доску задач. Откройте страницу доски задач или обновите страницу, если она уже открыта.
    Вы можете выбрать задачу или задачу службы в качестве связанного рабочего элемента с историей пользователя.
    Добавлен тип рабочей задачи

    На доске задач перетащите рабочий элемент, чтобы обновить его состояние. Вы заметите, что не удается перетащить элемент в столбец, для которого состояние недопустимо. Например, невозможно перетащить задачу в заблокированное состояние или задачу в разрешенное состояние. Если вы хотите использовать эти состояния, добавьте их в определение рабочего процесса для соответствующего определения WIT.

Добавление WIT в категорию ошибок

WiTs, добавляемые в категорию ошибок, будут обрабатываться на основе параметра команды. Так как эти WIT могут рассматриваться как требования или задачи, они должны соответствовать требованиям средства гибкого планирования как для требований, так и для задач.

  1. Экспортируйте процесс (размещенный XML) или файлы определений (локальный XML), как показано на первых шагах.

  2. Измените определение WIT для поддержки средств планирования, выполнив условия, перечисленные на шаге 2 . Добавление WIT для отслеживания как требований и добавление WIT для отслеживания задач.

  3. Измените определение категорий. Добавьте WIT в категорию ошибок. Здесь мы добавим два WIT.

    <CATEGORY name="Bug Category" refname="Microsoft.BugCategory">  
       <DEFAULTWORKITEMTYPE name="Bug" />  
       <WORKITEMTYPE name="Service Bug" />  
       <WORKITEMTYPE name="Feedback" />  
    </CATEGORY>
    
  4. Обновление или проверка определения ProcessConfiguration: BugWorkItems раздел для добавляемого объекта WIT.

    В частности, убедитесь, что выполнены следующие условия:

    • Сопоставление начала каждого состояния рабочего процесса с type="Proposed"
    • Сопоставление каждого промежуточного состояния рабочего процесса, с которым вы хотите отобразиться на панели задач Канбан или доска задач type="InProgress"
    • Сопоставление конца каждого состояния рабочего процесса с type="Complete"
    • Убедитесь, что у вас есть только одно состояние, сопоставленное с type="Complete"

    Например, добавьте Investigate состояние рабочего процесса:

    <States>  
     <State value="New" type="Proposed" />  
     <State value="Active" type="InProgress" />  
     <State value="Investigate" type="InProgress" />  
     <State value="Resolved" type="InProgress" />  
     <State value="Closed" type="Complete" />  
    </States>  
    
  5. Добавьте определение цвета WIT в раздел ProcessConfiguration WorkItemColors . Например:

    <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Service Bug" />  
    <WorkItemColor primary="FFFF00FF" secondary="FFFFCCFF" name="Feedback" />  
    
  6. Обновите проект:

  7. Выберите параметр команды для отслеживания ошибок.

  8. Убедитесь, что WIT отображается в невыполненных работах и досках, как ожидалось, и вы можете добавить его через невыполненные работы.

Импорт и экспорт файлов определений (локальный XML)

Используйте команды witadmin для импорта и экспорта файлов определений. Дополнительные сведения см. в статье wit Администратор. Настройка объектов для отслеживания работы и управление ими.

Совет

С помощью witadmin можно импортировать и экспортировать файлы определений. Другие средства, которые можно использовать, включают редактор процессов (требуется, чтобы вы установили версию Visual Studio). Установите редактор шаблона процесса из Visual Studio Marketplace.

  1. Откройте окно командной строки в соответствии с инструкциями, приведенными в wit Администратор. Настройка объектов для отслеживания работы и управление ими. Например:
  1. witadmin Введите команду, подставив данные для отображаемых аргументов. Например, чтобы импортировать WIT:

    witadmin importwitd /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\WITDefinitionFile.xml"
    

    Для CollectionURL укажите URL-адрес коллекции проектов и для ProjectName укажите имя проекта, определенного в коллекции. Необходимо указать URL-адрес в следующем формате: http://ServerName:Port/VirtualDirectoryName/CollectionName

    Для DirectoryPath укажите путь к папке WorkItem Tracking/TypeDefinitions , содержащей скачанный шаблон процесса. Путь к каталогу должен соответствовать этой структуре: Drive:\TemplateFolder\WorkItem Tracking\TypeDefinitions

    Например, импортируйте ServiceApp WIT:

    witadmin importwitd /collection:"http://MyServer:8080/tfs/DefaultCollection"/p:MyProject /f:"DirectoryPath/ServiceApp.xml"
    

Используйте эти команды для экспорта и импорта WIT, категорий и конфигурации процесса:

witadmin exportwitd /collection:CollectionURL /p:"ProjectName" /n:TypeName /f:"DirectoryPath\WITDefinitionFile.xml"  
witadmin importwitd /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\WITDefinitionFile.xml"  
witadmin exportcategories /collection:"CollectionURL" /p:"ProjectName" /f:"DirectoryPath/categories.xml"  
witadmin importcategories /collection:"CollectionURL" /p:"ProjectName" /f:"DirectoryPath/categories.xml"   
witadmin exportprocessconfig /collection:"CollectionURL" /p:"ProjectName" /f:"DirectoryPath/ProcessConfiguration.xml"  
witadmin importprocessconfig /collection:"CollectionURL" /p:"ProjectName" /f:"DirectoryPath/ProcessConfiguration.xml"  

Мы только что показали, как добавить еще один WIT в невыполненные работы или доски. Тем не менее, если вы хотите добавить другой WIT, чтобы выступать в качестве невыполненной работы портфеля, см. статью "Добавление невыполненных работ по портфелю".

Ознакомьтесь с обзором всех параметров, доступных для настройки объектов отслеживания работы.

Сведения о том, как иерархические или вложенные элементы отображаются в невыполненной или доске, см. в статье о том, как невыполненные работы и доски отображают иерархические (вложенные) элементы.