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 satisfazer processos de negócios selecionados, sua equipe pode querer controlar tipos de item de trabalho (WITs) adicionais como requisitos ou como tarefas. Dessa forma, você pode adicioná-los e rastreá-los dentro do produto e sprint backlogs ou quadro e Taskboards.

Por exemplo, talvez você queira 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, Aplicativo de Serviço, à Categoria de Requisito para rastreá-lo como um requisito

Dica

Se tudo o que você quer 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 controlar como requisitos, tarefas ou como 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á 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 controle de trabalho, os atualizará e, em seguida, os importará 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 e na placa do produto. 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 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 Prioridade do Backlog (Scrum)

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

    Campo Área do 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 Atualize ou verifique a WORKFLOW seção da seguinte maneira:

    • Ágil, história do usuário: adicione transições de Active e Resolved Removed para Removed; remover regras que preenchem Activated By e Activated Date campos quando state=Resolved
    • Scrum, item Product backlog: 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 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 aplicativo de serviço.

    <CATEGORY name="Requirement Category" refname="Microsoft.RequirementCategory">
       <DEFAULTWORKITEMTYPE name="User Story" />
       <WORKITEMTYPE name="Service App" />
    </CATEGORY>
    
  4. Atualize ou verifique a definição de ProcessConfiguration: RequirementBacklog para a seção WIT que você está adicionando. Especificamente, certifique-se de que as seguintes condições sejam 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 para type="InProgress"
    • Mapeie o final de cada estado do fluxo de trabalho para type="Complete"
    • Certifique-se de ter apenas um Estado mapeado para type="Complete"
      Por exemplo, adicione o estado 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:

Adicionar um WIT para rastreá-lo como uma tarefa

Os WITs adicionados à 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 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 Prioridade de Backlog** (Scrum)

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

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

    • Ágil, história do usuário: adicione transições de Active e Resolved Removed para Removed; remover regras que preenchem Activated By e Activated Date campos quando state=Resolved
    • Scrum, item Product backlog: 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 definição de ProcessConfiguration: TaskBacklog para a seção WIT que você está adicionando.
    Especificamente, certifique-se de que as seguintes condições sejam 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 ter 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 quadro de tarefas, arraste o item de trabalho para atualizar seu status. Você notará que não é possível 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 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 ágil 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 na Etapa 2 de Adicionar um WIT para controlar como requisitos e Adicionar um WIT para controlar 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 definição de ProcessConfiguration: BugWorkItems para a seção WIT que você está adicionando.

    Especificamente, certifique-se de que as seguintes condições sejam 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 ou no Quadro de Tarefas para type="InProgress"
    • Mapeie o final de cada estado do fluxo de trabalho para type="Complete"
    • Certifique-se de ter 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 placas 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 controlar 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 placas. 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 controle de trabalho para obter uma visão geral de todas as opções disponíveis para personalizar objetos de controle 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).