Adicionar bugs ao painel de tarefas ou à lista de pendências
Algumas equipes gostam de acompanhar bugs como itens de lista de pendências, itens de lista de pendências de produto, histórias ou requisitos. Outros processos de negócios podem exigir acompanhamento tipos de item de trabalho adicional (WITs) no painel de lista de pendências ou tarefa.
Se você estiver usando um projeto do Scrum, bugs ainda aparecem na lista de pendências. No entanto, se seu projeto de equipe foi criado usando outros modelos de processo, como Agile ou CMMI, os bugs não aparecerão no painel de lista de pendências ou tarefa.
Para adicionar bugs ou outros WITs, você pode definir as configurações de equipe ou personalizar seu projeto de equipe para oferecer suporte a essas opções:
Implantação |
Opções |
---|---|
Visual Studio Online |
|
No local com a atualização do TFS 2013.4 |
|
Local sem a atualização do TFS 2013.4 |
|
Se você trabalha em um TFS local, você pode personalizar seu projeto de equipe para que os bugs ou outros WITs aparecem na lista de pendências ou o painel de tarefas, mas não ambos.
Se você estiver fazendo alterações em projetos de equipe definidos no TFS 2012, consulte o versão do Visual Studio 2012 deste tópico.
Opção r: permitir que as equipes para optar por controlar bugs na lista de pendências (Visual Studio Online ou TFS 2013.4)
Cada equipe pode optar por rastrear bugs em sua lista de pendências. Se você se conectar a um TFS local, ela deverá ser atualizada para o TFS 2013.4. (Consulte Microsoft Visual Studio 2013 atualização 4.
Se você não for um administrador de equipe, seja adicionado como um.
Abra configurações da página de administração e marque a caixa de seleção para rastrear bugs da equipe.
Se você não vir a opção, você precisa atualizar a configuração do processo para seu projeto de equipe.
Para ver as alterações, abra ou atualize a página de lista de pendências da equipe.
Atualizar a configuração do processo para oferecer suporte a controle de bugs na lista de pendências (TFS local)
Se rastrear bugs na opção de lista de pendências está desabilitado na página de configurações de equipe, verifique ou atualize os seguintes arquivos de definição de XML para seu projeto de equipe. Você precisará ser um membro do grupo Administradores do projeto para atualizar esses objetos.
Categorias: A categoria de requisito deve conter somente os WITs associados a itens de lista de pendências. A categoria de Bug deve conter apenas os WITs associados a erros. Especificamente, a categoria de requisito não deve conter uma entrada para o Bug.
Por exemplo, essas definições estão corretas:
<CATEGORY name="Bug Category" refname="Microsoft.BugCategory"> <DEFAULTWORKITEMTYPE name="Bug" /> </CATEGORY> <CATEGORY name="Requirement Category" refname="Microsoft.RequirementCategory"> <DEFAULTWORKITEMTYPE name="Product Backlog Item" /> </CATEGORY>
E, essas definições estão incorretas porque o WIT de Bug é incluído na categoria de requisito:
<CATEGORY name="Bug Category" refname="Microsoft.BugCategory"> <DEFAULTWORKITEMTYPE name="Bug" /> </CATEGORY> <CATEGORY name="Requirement Category" refname="Microsoft.RequirementCategory"> <DEFAULTWORKITEMTYPE name="Product Backlog Item" /> <WORKITEMTYPE name="Bug" /> </CATEGORY>
Para atualizar categorias, consulte Importar e exportar categorias [witadmin].
ProcessConfiguration: contém o BugWorkItems elemento que define a categoria de Bug e mapeie os estados do fluxo de trabalho de bug para metatstates. Por exemplo:
<BugWorkItems category="Microsoft.BugCategory" pluralName="Bugs" singularName="Bug"> <States> <State value="Active" type="InProgress" /> <State value="Resolved" type="Resolved" /> <State value="Closed" type="Complete" /> </States> </BugWorkItems>
Além disso, os mapeamentos de metaestado devem ser consistentes em RequirementWorkItems e BugWorkItems. Por exemplo, Active não pode ser mapeado para Proposed em uma e ao InProgress em outro.
Para atualizar ProcessConfiguration, consulte Importar e exportar configuração do processo [witadmin].
Definições de WIT: WITs que estão incluídos na categoria de Bugs devem ter os seguintes campos definidos:
Campo usado para controlar o esforço (type=Effort no arquivo ProcessConfiguration), por exemplo pontos de história (storypoints) ou tamanho (Scheduling) com base em se o modelo de processo do Agile ou CMMI foi usado para criar o projeto de equipe.
Campo usado para controlar a prioridade da lista de pendências (type=Order no arquivo ProcessConfiguration), por exemplo classificação da pilha (stackrank).
Para um projeto de equipe com base no MSF for CMMI, o campo de tipo de requisito (Microsoft.VSTS.CMMI.RequirementType) porque ele está incluído no painel de adição rápida para a configuração do processo.
Para atualizar as definições de WIT, consulte Importar, exportar e gerenciar tipos de item de trabalho [witadmin].
Verifique ou atualize os mapeamentos de coluna do quadro Kanban
Abra a página Bloco da lista de pendências de produto (bloco Kanban).
Se você vir uma mensagem indicando que as configurações da coluna não são válidas, você precisará ajustar os mapeamentos de coluna.
Abra personalizar colunas e mapeie os estados do fluxo de trabalho de bug para cada coluna que você definiu.
Por exemplo, mapeie cada coluna, conforme mostrado:
Opção b: todas as equipes rastrear bugs ou outros WITs na lista de pendências
WITs que você adiciona a categoria de requisito aparecem nas páginas de lista de pendências. Bugs apareçam na histórias do usuário (Agile) ou na página de lista de pendências de requisitos (CMMI), fazer as seguintes modificações para seu projeto de equipe do TFS local:
Adicione o campo usado para estimar o esforço para o bug ou outra definição de WIT: pontos de história (Agile) ou tamanho (CMMI)
Adicione o bug ou outros WITs na categoria de requisito.
Verifique os mapeamentos de metaestado na configuração do processo.
Aqui está como você adiciona o WIT bug para um projeto de equipe baseado em MSF para o modelo de processo do Agile.
Adicione o campo pontos de história
Exporte o definição de WIT de bug.
witadmin exportwitd /collection:" CollectionURL" /p:MyProject /n:bug /f:DirectoryPath/bug.xml
Adicionar o pontos de história campo.
<FIELDS> . . . . <FIELD name="Story Points" refname="Microsoft.VSTS.Scheduling.StoryPoints" type="Double" reportable="measure" formula="sum"> <HELPTEXT>The size of work estimated for implementing the bug.</HELPTEXT> </FIELD> . . . . </FIELDS>
Para um projeto de equipe com base no MSF for CMMI, adicione tamanho e tipo de requisito.
<FIELD name="Size" refname="Microsoft.VSTS.Scheduling.Size" type="Double" reportable="measure" formula="sum" > <HELPTEXT>The size of work estimated for implementing this requirement</HELPTEXT> </FIELD> <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>
Adicionar pontos de história ao layout do formulário.
<FORM> . . . <Column PercentWidth="33"> <Group Label="Planning"> <Column PercentWidth="100"> <Control FieldName="Microsoft.VSTS.Scheduling.StoryPoints" Type="FieldControl" Label="Story Points" LabelPosition="Left" /> <Control FieldName="Microsoft.VSTS.Common.StackRank" Type="FieldControl" Label="Stack Rank" LabelPosition="Left" NumberFormat="DecimalNumbers" MaxLength="10" EmptyText="<None>" /> <Control FieldName="Microsoft.VSTS.Common.Priority" Type="FieldControl" Label="Priority" LabelPosition="Left" /> <Control FieldName="Microsoft.VSTS.Common.Severity" Type="FieldControl" Label="Severity" LabelPosition="Left" /> </Column> </Group> </Column> . . . </FORM>
Para um projeto de equipe CMMI com base em com, adicione tamanho e tipo de requisito a seção do formulário.
<Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.Size" Label="Size" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.CMMI.RequirementType" Label="Type" LabelPosition="Left" />
Importe a definição de bug atualizada.
witadmin importwitd /collection:"CollectionURL" /p:MyProject /f:"DirectoryPath/bug.xml"
Adicione o WIT de bug na categoria de requisito
Exporte a definição das categorias. Se você não tiver permissões de administração do TFS, obtenha-as.
witadmin exportcategories /collection:"CollectionURL" /p:MyProject /f:"DirectoryPath/categories.xml"
Adicione o tipo de item de trabalho bug à categoria de requisito.
<CATEGORY refname="Microsoft.RequirementCategory" name="Requirement Category"> <DEFAULTWORKITEMTYPE name="User Story" /> <WORKITEMTYPE name="Bug" /> </CATEGORY>
Importe o arquivo de categorias.
witadmin importcategories /collection:"CollectionURL" /p:MyProject /f:"DirectoryPath/categories.xml"
Verifique os mapeamentos de metaestado na configuração do processo
Exporte a definição de configuração do processo.
witadmin exportprocessconfig /collection:"CollectionURL" /p:MyProject /f: "DirectoryPath/ProcessConfiguration.xml"
Verifique se o estado Resolvido é definido na seção RequirementBacklog.
<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Stories" singularName="User Story"> <States> <State value="New" type="Proposed" /> <State value="Active" type="InProgress" /> <State value="Resolved" type="InProgress" /> <State value="Closed" type="Complete" /> </States>. . . </RequirementBacklog>
Se tiver personalizado seu bug para incluir estados adicionais, adicione os mapeamentos para cada estado incluído. Sempre mapeie o último estado dentro de uma transição de encaminhamento como type="Complete".
Importe a configuração do processo.
witadmin importprocessconfig /collection:"CollectionURL" /p:MyProject /f:"DirectoryPath/ProcessConfiguration.xml"
Confirme se você pode adicionar bugs à lista de pendências de produto
Abra a página da lista de pendências de produto ou atualize a página se ela já estiver aberta.
Você verá um menu suspenso para o item de trabalho tipo.
Personalize o bloco Kanban para mapear estados de Bug para swim lanes
Abra a página Bloco da lista de pendências de produto (bloco Kanban).
Se você adicionou o tipo de item de trabalho Bug ou qualquer outro tipo de item de trabalho, você verá uma mensagem indicando que as configurações da coluna não são válidas.
Abra personalizar colunas e mapeie os estados do fluxo de trabalho de bug para cada coluna que você definiu.
Por exemplo, mapeie cada coluna, conforme mostrado:
Opção c: todas as equipes rastrear bugs ou outros WITs no painel de tarefas
WITs que você adiciona a categoria de tarefa aparecem no painel de tarefas e iteração páginas de lista de pendências. Para bugs e tarefas sejam exibidos no painel de tarefas, você deve vinculá-las para um item de lista de pendências de produto pai (Scum), a história de usuário (Agile) ou requisito (CMMI).
Para o TFS local, faça essas modificações para acompanhar bugs como tarefas:
Adicione os campos necessários para o definição de WIT de bug.
Adicione o WIT de bug na categoria de tarefa.
Adicione os mapeamentos de metaestado necessário na configuração do processo.
Explicamos abaixo como fazer isso para um projeto de equipe com base no modelo de processo do MSF para Agile.
Adicione os campos necessários
Se você não tem permissões de administrador para seu projeto de equipe, seja adicionado como um administrador do projeto.
Abra uma janela de Prompt de comando onde o Visual Studio ou do Team Explorer está instalado e digite:
cd %programfiles%\Microsoft Visual Studio 12.0\Common7\IDE
Em uma edição de 64 bits do Windows, substitua %programfiles% por %programfiles(x86)%. É possível baixar o Team Explorer gratuitamente.
Exporte a definição do tipo de item de trabalho de bug.
witadmin exportwitd /collection:"CollectionURL" /p:MyProject /n:bug /f: "DirectoryPath/bug.xml"
Um exemplo de CollectionURL é "http://MyServer:8080/tfs/TeamProjectCollectionName".
Adicione o campo Atividade. Caso contrário, a configuração não será válida. Opcionalmente, adicione os campos de planejamento para que possa acompanhar o trabalho restante e o concluído. Os campos Microsoft.VSTS.Scheduling.XXX são usados em relatórios prontos para uso, mas não pelas ferramentas de planejamento do Agile. Se sua equipe não usar esses campos, então não será preciso incluí-los.
<FIELDS> . . . <FIELD name="Activity" refname="Microsoft.VSTS.Common.Activity" type="String" reportable="dimension"> <HELPTEXT>Type of work involved</HELPTEXT> <SUGGESTEDVALUES> <LISTITEM value="Development"/> <LISTITEM value="Testing"/> <LISTITEM value="Requirements"/> <LISTITEM value="Design"/> <LISTITEM value="Deployment"/> <LISTITEM value="Documentation"/> </SUGGESTEDVALUES> </FIELD> <FIELD name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure" formula="sum"> <HELPTEXT>An estimate of the number of units of work remaining to complete this task</HELPTEXT> </FIELD> <FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum"> <HELPTEXT>Initial value for Remaining Work - set once, when work begins</HELPTEXT> </FIELD> <FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum"> <HELPTEXT>The number of units of work that have been spent on this task</HELPTEXT> </FIELD> <FIELD name="Start Date" refname="Microsoft.VSTS.Scheduling.StartDate" type="DateTime" reportable="dimension"> <HELPTEXT>The date to start the task</HELPTEXT> </FIELD> <FIELD name="Finish Date" refname="Microsoft.VSTS.Scheduling.FinishDate" type="DateTime" reportable="dimension"> <HELPTEXT>The date to finish the task</HELPTEXT> </FIELD> . . . </FIELDS>
Para um projeto de equipe com base no MSF for CMMI, você poderia adicionar os campos de agendamento e disciplina.
<FIELD name="Discipline" refname="Microsoft.VSTS.Common.Discipline" type="String" reportable="dimension"> <ALLOWEDVALUES> <LISTITEM value="Analysis" /> <LISTITEM value="User Experience" /> <LISTITEM value="User Education" /> <LISTITEM value="Development" /> <LISTITEM value="Test" /> </ALLOWEDVALUES> <HELPTEXT>The discipline to which the task belongs</HELPTEXT> </FIELD>
Adicione o campo Atividade e os campos de planejamento ao formulário do item de trabalho. Você pode simplesmente copiar os Groups definidos no tipo de item de trabalho de Tarefa e substituir os Groups que estão ali.
<FORM> . . . <Group Margin="(10,0,0,0)"> <Column PercentWidth="30"> <Group Label="Status"> <Column PercentWidth="100"> <Control FieldName="System.AssignedTo" EmptyText="<No one>" Type="FieldControl" Label="Assi&gned To" LabelPosition="Left" /> <Control FieldName="System.State" Type="FieldControl" Label="Stat&e" LabelPosition="Left" /> <Control FieldName="System.Reason" Type="FieldControl" Label="Reason" LabelPosition="Left" /> </Column> </Group> </Column> <Column PercentWidth="20"> <Group Label="Planning"> <Column PercentWidth="100"> <Control FieldName="Microsoft.VSTS.Common.StackRank" Type="FieldControl" Label="Stack Rank" LabelPosition="Left" NumberFormat="DecimalNumbers" MaxLength="10" EmptyText="<None>" /> <Control FieldName="Microsoft.VSTS.Common.Priority" Type="FieldControl" Label="Priority" LabelPosition="Left" /> <Control FieldName="Microsoft.VSTS.Common.Activity" Type="FieldControl" Label="Activity" LabelPosition="Left" EmptyText="<None>" /> </Column> </Group> </Column> <Column PercentWidth="30"> <Group Label="Classification"> <Column PercentWidth="100"> <Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="&Area" LabelPosition="Left" /> <Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="Ite&ration" LabelPosition="Left" /> </Column> </Group> </Column> <Column PercentWidth="20"> <Group Label="Effort (Hours)"> <Column PercentWidth="100"> <Control FieldName="Microsoft.VSTS.Scheduling.OriginalEstimate" Type="FieldControl" Label="Original Estimate" LabelPosition="Left" /> <Control FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Type="FieldControl" Label="Remaining" LabelPosition="Left" /> <Control FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Type="FieldControl" Label="Completed" LabelPosition="Left" /> </Column> </Group> </Column> </Group> . . . </FORM>
Importe a definição de bug atualizada.
witadmin importwitd /collection:"CollectionURL" /p:MyProject /f:"DirectoryPath/bug.xml"
Adicione o WIT de bug na categoria de tarefa
Exporte a definição de categorias.
witadmin exportcategories /collection:"CollectionURL" /p:MyProject /f:"DirectoryPath/categories.xml"
Adicione o bug à categoria de tarefas.
<CATEGORY refname="Microsoft.TaskCategory" name="Task Category"> <DEFAULTWORKITEMTYPE name="Task" /> <WORKITEMTYPE name="Bug" /> </CATEGORY>
Dica
Há problemas para o tipo de item de trabalho bug deve pertencer a duas categorias — a categoria de Bug e a categoria de tarefa.
Importe o arquivo de categorias.
witadmin importcategories /collection:"CollectionURL" /p:MyProject /f:"DirectoryPath/categories.xml"
Adicione o mapeamento de metaestado à configuração do processo
Exporte a definição de configuração do processo.
witadmin exportprocessconfig /collection:"CollectionURL" /p:MyProject /f:"DirectoryPath/ProcessConfiguration.xml"
Adicione um mapeamento de metaestado para o estado Resolvido para a seção TaskBacklog.
<TaskBacklog category="Microsoft.TaskCategory" pluralName="Tasks" singularName="Task"> <States> <State value="New" type="Proposed" /> <State value="Active" type="InProgress" /> <State value="Resolved" type="InProgress" /> <State value="Closed" type="Complete" /> </States> . . . </TaskBacklog>
Se tiver personalizado seu bug para incluir estados adicionais, adicione os mapeamentos para cada estado incluído. Sempre mapeie o último estado dentro de uma transição de encaminhamento como type="Complete".
Importe a configuração do processo.
witadmin importprocessconfig /collection:"CollectionURL" /p:MyProject /f:"DirectoryPath/ProcessConfiguration.xml"
Confirme se você pode adicionar bugs ao painel de tarefa
Abra a página do painel de tarefas ou atualize a página se ela já estiver aberta.
Você poderá selecionar uma tarefa ou bug como um item de trabalho vinculado a uma história de usuário.
Para adicionar bugs existentes ao painel de tarefas, abra uma história do usuário. Neste exemplo, a história do usuário chama-se Dívida de bug. Na guia TODOS OS LINKS, escolha os bugs a serem incluídos no sprint.
Você pode ter que atualizar o painel de tarefas para que os bugs apareçam.
Dica
Não é possível adicionar bugs por meio da guia Implementação, pois ela se restringe somente a tarefas.Para oferecer suporte à inclusão de bugs por meio da guia Implementação, modifique a seção FORM do tipo de item de trabalho da história do usuário para incluir o filtro para bugs.
No painel de tarefas, arraste um bug ou uma tarefa de atualizar seu status. Você observará que não é possível arrastar um item a uma coluna para a qual o estado não é válido. Por exemplo, você não pode arrastar um bug no novo estado ou uma tarefa em um estado resolvido. Se você quiser usar esses estados, adicioná-los para a definição de fluxo de trabalho para a definição de WIT correspondente.
Perguntas e respostas
P: quais outras ferramentas posso usar para editar arquivos de definição XML?
R: com o witadmin ferramenta de linha de comando, você pode importar e exportar arquivos de definição, como mostrado neste tópico. Outras ferramentas que você pode usar para essa tarefa são o Process Editor, disponível com o download do TFS Power Tools, ou TFS Team Project Manager, um projeto de recursos da comunidade disponível no CodePlex. Usando o TFS Team Project Manager, você pode exportar, editar e importar rapidamente arquivos de definição XML sem ter que usar a interface de linha de comando.
P: o que acontece se eu remover o WIT Bug da categoria de requisito para meu projeto de equipe com base em Scrum?
R: consultas de caixa e personalizadas que fazem referência à categoria de requisito não retornará resultados que incluem o WIT de Bug. Convém atualizar essas consultas.
Além disso, quando você cria um conjunto de testes baseados em requisitos, os itens de trabalho recuperado pertencem à categoria de requisito. Para equipes do scrum que deseja criar planos de teste para bugs, eles precisará atualizar a consulta para incluir a categoria de Bug.
P: o que é necessário saber sobre mapeamentos de metaestado?
R: os procedimentos descrevem na opção B e C da opção descrevem como fazer alterações no seu projeto de equipe baseado no Agile e os modelos de processo CMMI TFS 2013 oferece. O modelo de estado para os WITs que você adicionar deve estar alinhado aos mapeamentos de metaestado especificados dentro do arquivo ProcessConfiguration. Se o modelo de estado e os mapeamentos de metaestado não estiverem alinhados, será preciso realizar definições adicionais, como descrito aqui.
P: como faço o Bug aparecem nas páginas de lista de pendências e o painel de tarefas para Scrum?
R: se seu projeto de equipe é baseado no modelo de processo do Scrum e você desejar bugs estejam no mesmo nível das tarefas e itens de lista de pendências do produto, siga estas etapas:
Editar a definição de item de trabalho Bug: adicione os campos atividade e trabalho restante para o FIELDS e FORM seções.
Editar a definição de categorias: Adicione o Bug à categoria de tarefa e remova-o da categoria de requisito.
Edite a definição de configuração do processo: mapear o estado resolvido para a categoria de tarefa e removê-lo da categoria de requisito.
P: por que nem todos os bugs e tarefas que foi atribuído a um sprint aparecem na lista de pendências de sprint?
R: é possível atribuir tarefas a uma iteração, mas não vinculá-las a um item de lista de pendências pai. Esses itens serão mostrados na consulta criada, mas não no painel de tarefas em si. O TFS executa a consulta e aplica alguns processos em segundo plano antes de exibir os itens do painel de tarefas.
Esses três motivos podem fazer com que os itens de trabalho que pertencem à categoria de tarefa não apareça em um painel de tarefas ou da lista de pendências de sprint:
A tarefa ainda não foi vinculada a um item de lista de pendências pai. Somente os bugs e as tarefas que você vinculou a um item da lista de pendências de produto (Scrum), história do usuário (Agile) ou requisito (CMMI) pai cujo caminho de iteração esteja definido para o sprint aparecerão na página da lista de pendências do sprint.
A tarefa é pai de outra tarefa. Se você tiver criado uma hierarquia de tarefas, apenas as tarefas de nível filho na parte inferior da hierarquia são exibidos.
Pai vinculado da tarefa corresponde a um item de lista de pendências definido para outra equipe. Ou o caminho da área do item da lista de pendências da tarefa pai é diferente do caminho de área da tarefa.
P: qual é a prioridade de lista de pendências ou campos de classificação da pilha usados?
R: as páginas de lista de pendências e painel usam a prioridade da lista de pendências (Scrum) e campos de classificação da pilha (Agile e CMMI) para gerenciar a ordem de classificação dos itens de trabalho. Esses campos devem ser definidos para todos os WITs para um projeto de equipe. No entanto, não é preciso incluí-los no formulário do item de trabalho. Esses campos devem corresponder ao campo atribuído ao tipo Order no arquivo de definição ProcessConfiguration.