Compartilhar via


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

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Importante

Este artigo se aplica à personalização de projeto para modelos de processo XML hospedados e 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 atender a processos de negócios selecionados, sua equipe pode querer acompanhar WITs (tipos de item de trabalho) adicionais como requisitos ou tarefas. Dessa forma, você pode adicioná-los e rastreá-los dentro do produto e das listas de pendências de sprint ou quadro 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 de Fibra da Fabrikam adicionou o WIT do Aplicativo de Serviço para acompanhar o trabalho que dá suporte à equipe de atendimento ao cliente.

Adicione um WIT personalizado, por exemplo, Aplicativo de Serviço, à Categoria de Requisito para rastreá-lo como um requisito

Dica

Se tudo o que você deseja fazer é adicionar bugs às suas listas de pendências e quadros, 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 acompanhar como requisitos, tarefas ou bugs, execute as etapas correspondentes:

Observação

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

Observação

Use as diretrizes a seguir se você 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 do administrador, consulte Adicionar ou modificar um tipo de item de trabalho personalizado para um processo.

Você fará suas 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, os atualizará e, em seguida, os importará para seu projeto.

Adicionar um WIT para rastreá-lo como um requisito

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

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

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

    Personalizar / Sintaxe para adicionar ou atualizar

    Campo Classificação de pilha (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 de prioridade de 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: Adicione transições de Active to Removed e Resolved to Removed; remova as regras que preenchem Activated By e Activated Date os campos quando state=Resolved
    • Scrum, item de lista de pendências do produto: 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 o Service App.

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

    • Mapeie o início de cada estado de fluxo de trabalho para type="Proposed"
    • Mapeie cada estado de fluxo de trabalho intermediário que você deseja que apareça no quadro para type="InProgress"
    • Mapeie o final de cada estado de fluxo de trabalho para type="Complete"
    • Certifique-se de que você tenha apenas um Estado mapeado para type="Complete"
      Por exemplo, adicione o estado de 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 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 campos obrigatórios para dar suporte às ferramentas de planejamento do Agile.

  1. Exporte seu processo (XML hospedado) ou seus arquivos de definição (XML local) conforme indicado em 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 de prioridade de backlog ** (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 de disciplina (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 section
    Atualize ou verifique a WORKFLOW seção da seguinte maneira:

    • Agile, User Story: Adicione transições de Active to Removed e Resolved to Removed; remova as regras que preenchem Activated By e Activated Date os campos quando state=Resolved
    • Scrum, item de lista de pendências do produto: 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 section
    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 a Tarefa de Serviço.

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

    • Mapeie o início de cada estado de fluxo de trabalho para type="Proposed"
    • Mapeie cada estado de fluxo de trabalho intermediário que você deseja que apareça no quadro de tarefas para type="InProgress"
    • Mapeie o final de cada estado de fluxo de trabalho para type="Complete"
    • Certifique-se de que você tenha 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 seu projeto:

  7. Confirme se você pode adicionar o WIT ao quadro de tarefas. Abra a página do quadro de tarefas ou atualize a página se ela 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 painel de tarefas, arraste o item de trabalho para atualizar seu status. Você observará que não pode arrastar um item para uma coluna para a qual o estado não é válido. Por exemplo, você não pode 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 de 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 em 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 acompanhar como requisitos e Adicionar um WIT para acompanhar 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. Atualize ou verifique a seção ProcessConfiguration definition: BugWorkItems para o WIT que você está adicionando.

    Especificamente, certifique-se de que as seguintes condições sejam atendidas:

    • Mapeie o início de cada estado de fluxo de trabalho para type="Proposed"
    • Mapeie cada estado de fluxo de trabalho intermediário que você deseja que apareça no quadro ou no Quadro de Tarefas para type="InProgress"
    • Mapeie o final de cada estado de fluxo de trabalho para type="Complete"
    • Certifique-se de que você tenha 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 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 nos quadros conforme o esperado e se você pode adicioná-lo por meio 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.

Dica

Com o witadmin, você pode importar e exportar arquivos de definição. Outras ferramentas que você pode usar incluem o Editor de Processos (exige 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: Personalizar e gerenciar 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 a 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 WIT do ServiceApp:

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

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 acompanhamento de trabalho.

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