Adicionar um tipo de item de trabalho a uma lista de pendências e quadro

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Importante

Este artigo se aplica à personalização de projeto para XML hospedado e modelos de processo XML local. Para o modelo de processo de herança, consulte Personalizar suas listas de pendências ou quadros para um processo. Para obter uma visão geral dos modelos de processo, consulte Personalizar sua experiência de acompanhamento de trabalho.

Para satisfazer processos de negócios selecionados, sua equipe pode querer controlar tipos de item de trabalho adicionais (WITs) como requisitos ou como tarefas. Desta forma, você pode adicioná-los e rastreá-los dentro do produto e sprint backlogs ou Kanban e quadros de tarefas.

Por exemplo, você pode querer rastrear diferentes tipos de requisitos com base em seu cliente-alvo ou diferentes tipos de bugs com base em sua origem. Aqui, a equipe da Fabrikam Fiber adicionou o Service App WIT para acompanhar o trabalho que dá suporte à equipe de atendimento ao cliente.

Adicione um WIT personalizado, por exemplo, Service App, à Categoria de Requisito para rastreá-lo como um requisito

Gorjeta

Se tudo o que você deseja fazer é adicionar bugs às suas listas de pendências e painéis, consulte Mostrar bugs em listas de pendências e quadros para fazer a seleção da sua equipe. Se você quiser adicionar outro WIT e lista de pendências de portfólio, consulte Adicionar um nível de lista de pendências de portfólio.

Para adicionar um WIT para rastrear como requisitos, tarefas ou como bugs, execute as etapas correspondentes:

Nota

Recomendamos que você adicione um WIT a uma e apenas uma das seguintes categorias: Categoria de requisito, Categoria de tarefa ou Categoria de bug. O sistema impede que você adicione o mesmo WIT à Categoria de Requisito e à Categoria de Tarefa. Os WITs que você adicionar à Categoria de Bug seguirão o comportamento de bug definido para a equipe.

Sequência de personalização

Sequência de personalização do modelo de processo XML hospedado

Nota

Use as orientações a seguir se personalizar seu processo por meio da importação/exportação de arquivos de definição. Caso contrário, se você personalizar seu processo por meio da interface do usuário admin, consulte Adicionar ou modificar um tipo de item de trabalho personalizado para um processo.

Você fará as alterações nos arquivos de definição de processo e, em seguida, importará esse processo para atualizar projetos existentes ou usar o processo para criar um projeto.

Sequência de personalização do modelo de processo XML local

Primeiro, você exportará seus arquivos de definição de acompanhamento de trabalho, atualizá-los e, em seguida, importá-los para seu projeto.

Adicione um WIT para rastreá-lo como um requisito

Os WITs que você adiciona à Categoria de Requisito aparecem na lista de pendências do produto e no quadro Kanban. Você deve certificar-se de que a definição WIT contém campos obrigatórios para dar suporte às ferramentas de planejamento Agile.

  1. Exporte seu processo (XML hospedado) ou seus arquivos de definição (XML local) conforme indicado nas primeiras etapas.

  2. Edite a definição de WIT para dar suporte a ferramentas de planejamento.

    Personalizar / Sintaxe para adicionar ou atualizar

    Campo Stack Rank (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> 
    

    Campo Prioridade do backlog (Scrum)

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

    Campo Área de Valor

    <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>
    

    Campo Tipo de Requisito (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 seção Atualize ou verifique a WORKFLOW seção da seguinte maneira:

    • Agile, User Story: Adicionar transições de Active para Removed e Resolved para Removed; remover regras que preenchem Activated By e Activated Date campos quando state=Resolved
    • Scrum, Product backlog item: Adicionar transição de Committed para Removed
      Se você personalizou o WORKFLOW, certifique-se de definir os mapeamentos de estado para metaestado necessários na seção ProcessConfigurationRequirementBacklog.

    FORM seção Adicione ou verifique se os seguintes campos foram adicionados à FORM seção:

    • Ágil:
    <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. Edite a definição de Categorias. Adicione o WIT à categoria Requisito. Aqui adicionamos Service App.

    <CATEGORY name="Requirement Category" refname="Microsoft.RequirementCategory">
       <DEFAULTWORKITEMTYPE name="User Story" />
       <WORKITEMTYPE name="Service App" />
    </CATEGORY>
    
  4. Atualizar ou verificar a definição de ProcessConfiguration: RequirementBacklog seção para o WIT que você está adicionando. Especificamente, certifique-se de que as seguintes condições são atendidas:

    • Mapeie o início de cada estado do fluxo de trabalho para type="Proposed"
    • Mapeie cada estado intermediário do fluxo de trabalho que você deseja que apareça no quadro Kanban para type="InProgress"
    • Mapeie o final de cada estado do fluxo de trabalho para type="Complete"
    • Certifique-se de que tem apenas um Estado mapeado para type="Complete"
      Por exemplo, adicione o estado do fluxo de trabalho Pendente:
    <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. Adicione a definição de cor WIT à seção ProcessConfiguration WorkItemColors . Por exemplo:

    <WorkItemColor primary="FF33CC33" secondary="FFD6F5D6" name="Service App" />
    
  6. Atualize o seu projeto:

Adicione um WIT para rastreá-lo como uma tarefa

Os WITs que você adiciona à Categoria de Tarefa aparecem nas listas de pendências de sprint e nos quadros de tarefas. O WIT adicionado deve especificar os campos obrigatórios para dar suporte às ferramentas de planejamento Agile.

  1. Exporte seu processo (XML hospedado) ou seus arquivos de definição (XML local) conforme indicado nas primeiras etapas.

  2. Edite a definição de WIT para dar suporte a ferramentas de planejamento.

    Personalizar / Sintaxe para adicionar ou atualizar

    Campo Stack Rank (Ágil, 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> 
    

    ** Campo Prioridade da lista de pendências** (Scrum)

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

    Campo de atividade (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>    
    

    Campo disciplinar (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>    
    

    Campo Trabalho Restante (todos)

    <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>    
    

    Campos de agendamento adicionais (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 secção
    Atualize ou verifique a WORKFLOW seção da seguinte maneira:

    • Agile, User Story: Adicionar transições de Active para Removed e Resolved para Removed; remover regras que preenchem Activated By e Activated Date campos quando state=Resolved
    • Scrum, Product backlog item: Adicionar transição de Committed para Removed
      Se você personalizou o WORKFLOW, certifique-se de definir os mapeamentos de estado para metaestado necessários na seção ProcessConfigurationTestBacklog.

    FORM secção
    Adicione ou verifique se os seguintes campos foram adicionados à FORM seção:

    • Ágil:
    <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. Edite a definição de Categorias. Adicione o WIT à categoria Tarefa. Aqui adicionamos Tarefa de Serviço.

    <CATEGORY name="Task Category" refname="Microsoft.TaskCategory">
       <DEFAULTWORKITEMTYPE name="Task" />
       <WORKITEMTYPE name="Service Task" />
    </CATEGORY>
    
  4. Atualizar ou verificar a definição de ProcessConfiguration: TaskBacklog seção para o WIT que você está adicionando.
    Especificamente, certifique-se de que as seguintes condições são atendidas:

    • Mapeie o início de cada estado do fluxo de trabalho para type="Proposed"
    • Mapeie cada estado intermediário do fluxo de trabalho que você deseja que apareça no quadro de tarefas para type="InProgress"
    • Mapeie o final de cada estado do fluxo de trabalho para type="Complete"
    • Certifique-se de que tem apenas um Estado mapeado para type="Complete"

    Por exemplo, adicione o estado do Blocked fluxo de trabalho:

    <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. Adicione a definição de cor WIT à seção ProcessConfiguration WorkItemColors . Por exemplo:

    <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Service Task" />
    
  6. Atualize o seu projeto:

  7. Confirme que você pode adicionar o WIT ao quadro de tarefas. Abra a página do quadro de tarefas ou atualize a página se já estiver aberta.
    Você deve ser capaz de selecionar Tarefa ou Tarefa de Serviço como um item de trabalho vinculado a uma história de usuário.
    Quadro de tarefas com o tipo de item de trabalho Tarefa de Serviço adicionado

    No quadro de tarefas, arraste o item de trabalho para atualizar seu status. Você notará que não pode arrastar um item para uma coluna para a qual o estado não é válido. Por exemplo, não é possível arrastar Tarefa para o estado Bloqueado ou uma Tarefa para um estado resolvido. Se você quiser usar esses estados, adicione-os à definição de fluxo de trabalho para a definição WIT correspondente.

Adicionar um WIT à categoria de bug

Os WITs que você adicionar à Categoria de Bug serão tratados com base na configuração da equipe. Como esses WITs podem ser tratados como requisitos ou tarefas, eles devem atender aos requisitos da ferramenta de planejamento Agile para requisitos e tarefas.

  1. Exporte seu processo (XML hospedado) ou seus arquivos de definição (XML local) conforme indicado nas primeiras etapas.

  2. Edite a definição de WIT para dar suporte a ferramentas de planejamento atendendo às condições listadas para a Etapa 2 de Adicionar um WIT para rastrear como requisitos e Adicionar um WIT para rastrear como tarefas.

  3. Edite a definição de Categorias. Adicione o WIT à categoria de bug. Aqui adicionamos dois WITs.

    <CATEGORY name="Bug Category" refname="Microsoft.BugCategory">  
       <DEFAULTWORKITEMTYPE name="Bug" />  
       <WORKITEMTYPE name="Service Bug" />  
       <WORKITEMTYPE name="Feedback" />  
    </CATEGORY>
    
  4. Atualizar ou verificar a definição de ProcessConfiguration: BugWorkItems seção para o WIT que você está adicionando.

    Especificamente, certifique-se de que as seguintes condições são atendidas:

    • Mapeie o início de cada estado do fluxo de trabalho para type="Proposed"
    • Mapeie cada estado intermediário do fluxo de trabalho que você deseja que apareça no Kanban ou no quadro de tarefas para type="InProgress"
    • Mapeie o final de cada estado do fluxo de trabalho para type="Complete"
    • Certifique-se de que tem apenas um Estado mapeado para type="Complete"

    Por exemplo, adicione o estado do Investigate fluxo de trabalho:

    <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. Adicione a definição de cor WIT à seção ProcessConfiguration WorkItemColors . Por exemplo:

    <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Service Bug" />  
    <WorkItemColor primary="FFFF00FF" secondary="FFFFCCFF" name="Feedback" />  
    
  6. Atualize o seu projeto:

  7. Escolha a configuração da sua equipe para saber como os bugs são rastreados.

  8. Confirme se o WIT aparece nas listas de pendências e quadros conforme esperado e se você pode adicioná-lo através das listas de pendências conforme o esperado.

Importar e exportar arquivos de definição (XML local)

Use os comandos witadmin para importar e exportar arquivos de definição. Para obter detalhes, consulte witAdmin: Personalizar e gerenciar objetos para acompanhar o trabalho.

Gorjeta

Com o witadmin, você pode importar e exportar arquivos de definição. Outras ferramentas que você pode usar incluem o Editor de processos (requer que você tenha instalado uma versão do Visual Studio). Instale o editor de modelo de processo do Visual Studio Marketplace.

  1. Abra uma janela do Prompt de Comando de acordo com as instruções fornecidas em witAdmin: Personalize e gerencie objetos para acompanhar o trabalho. Por exemplo:
  1. Insira o witadmin comando, substituindo seus dados pelos argumentos mostrados. Por exemplo, para importar um WIT:

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

    Para CollectionURL , especifique a URL de uma coleção de projetos e, para ProjectName, especifique o nome de um projeto definido dentro da coleção. Você deve especificar o URL no seguinte formato: http://ServerName:Port/VirtualDirectoryName/CollectionName.

    Para DirectoryPath, especifique o caminho para a WorkItem Tracking/TypeDefinitions pasta que contém o modelo de processo que você baixou. O caminho do diretório deve seguir esta estrutura: Drive:\TemplateFolder\WorkItem Tracking\TypeDefinitions.

    Por exemplo, importe o ServiceApp WIT:

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

Use estes comandos para exportar e importar WITs, categorias e configuração de processos:

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"  

Acabamos de mostrar como adicionar outro WIT às suas listas de pendências ou quadros. No entanto, se você quiser adicionar outro WIT para atuar como uma lista de pendências de portfólio, consulte Adicionar listas de pendências de portfólio.

Consulte Personalizar sua experiência de acompanhamento de trabalho para obter uma visão geral de todas as opções disponíveis para personalizar objetos de rastreamento de trabalho.

Para saber como os elementos hierárquicos ou aninhados são exibidos em uma lista de pendências ou quadro, consulte Como as listas de pendências e os quadros exibem itens hierárquicos (aninhados).