Adición de un tipo de elemento de trabajo a un trabajo pendiente y un panel

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

Importante

Este artículo se aplica a la personalización del proyecto para los modelos de procesos XML hospedados y XML locales. Para el modelo de proceso de herencia, consulte Personalización de trabajos pendientes o paneles para un proceso. Para obtener información general sobre los modelos de proceso, consulte Personalización de la experiencia de seguimiento del trabajo.

Para satisfacer los procesos empresariales seleccionados, es posible que el equipo quiera realizar un seguimiento de los tipos de elementos de trabajo adicionales (WIT) como requisitos o como tareas. De este modo, puede agregarlos y realizar un seguimiento de ellos en los trabajos pendientes de producto y sprint, o kanban y paneles de tareas.

Por ejemplo, puede que desee realizar un seguimiento de diferentes tipos de requisitos en función de su cliente de destino o de distintos tipos de errores en función de su origen. Aquí, el equipo de Fabrikam Fiber ha agregado el WIT de la aplicación de Service para realizar un seguimiento del trabajo que admite a su equipo de servicio al cliente.

Agregue un WIT personalizado, por ejemplo, aplicación de servicio, a la categoría de requisitos para realizar un seguimiento de él como un requisito.

Sugerencia

Si todo lo que desea hacer es agregar errores a los trabajos pendientes y los paneles, consulte Mostrar errores en trabajos pendientes y paneles para seleccionar el equipo. Si desea agregar otro trabajo pendiente de wit y cartera, consulte Agregar un nivel de trabajo pendiente de cartera.

Para agregar un WIT para realizar un seguimiento de los requisitos, las tareas o como errores, realice los pasos correspondientes:

Nota:

Se recomienda agregar un WIT a uno y solo una de las siguientes categorías: Categoría de requisitos, Categoría de tarea o Categoría de error. El sistema impide agregar el mismo WIT a la categoría de requisitos y a la categoría de tarea. Las WIT que agregue a la categoría de errores seguirán el comportamiento de error establecido para el equipo.

Secuencia de personalización

Secuencia de personalización del modelo de proceso XML hospedado

Nota:

Use las instrucciones siguientes si personaliza el proceso mediante la importación y exportación de archivos de definición. De lo contrario, si personaliza el proceso a través de la interfaz de usuario de administrador, consulte Agregar o modificar un tipo de elemento de trabajo personalizado para un proceso.

Realizará los cambios en los archivos de definición de proceso y, a continuación, importará ese proceso para actualizar los proyectos existentes o usará el proceso para crear un proyecto.

Secuencia de personalización del modelo de proceso XML local

Primero exportará los archivos de definición de seguimiento de trabajo, los actualizará y, a continuación, los importará al proyecto.

Agregar un WIT para realizar un seguimiento de él como un requisito

Los WIT que agregue a la categoría de requisitos se muestran en el trabajo pendiente del producto y la placa Kanban. Debe asegurarse de que la definición de WIT contiene campos obligatorios para admitir las herramientas de planeación de Agile.

  1. Exporte el proceso (XML hospedado) o los archivos de definición (XML local), como se indica en Primeros pasos.

  2. Edite la definición de WIT para admitir herramientas de planificación.

    Personalizar o sintaxis para agregar o actualizar

    Campo Clasificación de pila (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 Prioridad de trabajo pendiente (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 section Actualice o compruebe la sección de la WORKFLOW siguiente manera:

    • Agile, User Story: agregar transiciones de Active a Removed y Resolved a Removed; quitar reglas que rellenan Activated By y Activated Date campos cuando state=Resolved
    • Elemento de trabajo pendiente De producto: Agregar transición de Committed a Removed
      Si ha personalizado , WORKFLOWasegúrese de definir las asignaciones de estado a metastate necesarias en la sección ProcessConfigurationRequirementBacklog.

    FORM section Agregue o compruebe que se han agregado los siguientes campos a la FORM sección:

    • Á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 la definición Categorías. Agregue el WIT a la categoría Requisito. Aquí agregamos la aplicación de Service.

    <CATEGORY name="Requirement Category" refname="Microsoft.RequirementCategory">
       <DEFAULTWORKITEMTYPE name="User Story" />
       <WORKITEMTYPE name="Service App" />
    </CATEGORY>
    
  4. Actualice o compruebe la definición de ProcessConfiguration: RequirementBacklog sección para el WIT que va a agregar. En concreto, asegúrese de que se cumplen las condiciones siguientes:

    • Asignar el inicio de cada estado de flujo de trabajo a type="Proposed"
    • Asigne cada estado intermedio de flujo de trabajo que desee que aparezca en el panel Kanban para type="InProgress"
    • Asignar el final de cada estado de flujo de trabajo a type="Complete"
    • Asegúrese de que solo tiene un estado asignado a type="Complete"
      Por ejemplo, agregue el estado de flujo de trabajo Pendiente:
    <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. Agregue la definición de color WIT a la sección ProcessConfiguration WorkItemColors . Por ejemplo:

    <WorkItemColor primary="FF33CC33" secondary="FFD6F5D6" name="Service App" />
    
  6. Actualice el proyecto:

Agregar un WIT para realizar un seguimiento como una tarea

Los WIT que agregue a la categoría de tarea se muestran en los trabajos pendientes de sprint y los paneles de tareas. El WIT que agregue debe especificar los campos obligatorios para admitir las herramientas de planeamiento de Agile.

  1. Exporte el proceso (XML hospedado) o los archivos de definición (XML local), como se indica en Primeros pasos.

  2. Edite la definición de WIT para admitir herramientas de planificación.

    Personalizar o sintaxis para agregar o actualizar

    Campo de clasificación de pila(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 Prioridad de trabajo pendiente** (Scrum)

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

    Campo de actividad (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 Trabajo 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 programación adicionales (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 sección
    Actualice o compruebe la sección de la WORKFLOW siguiente manera:

    • Agile, User Story: agregar transiciones de Active a Removed y Resolved a Removed; quitar reglas que rellenan Activated By y Activated Date campos cuando state=Resolved
    • Elemento de trabajo pendiente De producto: Agregar transición de Committed a Removed
      Si ha personalizado , WORKFLOWasegúrese de definir las asignaciones de estado a metastate necesarias en la sección ProcessConfigurationTestBacklog.

    FORM sección
    Agregue o compruebe que se han agregado los siguientes campos a la FORM sección:

    • Á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 la definición Categorías. Agregue el WIT a la categoría Tarea. Aquí agregamos la tarea de servicio.

    <CATEGORY name="Task Category" refname="Microsoft.TaskCategory">
       <DEFAULTWORKITEMTYPE name="Task" />
       <WORKITEMTYPE name="Service Task" />
    </CATEGORY>
    
  4. Actualice o compruebe la definición de ProcessConfiguration: TaskBacklog sección para el WIT que va a agregar.
    En concreto, asegúrese de que se cumplen las condiciones siguientes:

    • Asignar el inicio de cada estado de flujo de trabajo a type="Proposed"
    • Asigne cada estado intermedio de flujo de trabajo que desee que aparezca en el panel de tareas. type="InProgress"
    • Asignar el final de cada estado de flujo de trabajo a type="Complete"
    • Asegúrese de que solo tiene un estado asignado a type="Complete"

    Por ejemplo, agregue el estado del Blocked flujo de trabajo:

    <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. Agregue la definición de color WIT a la sección ProcessConfiguration WorkItemColors . Por ejemplo:

    <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Service Task" />
    
  6. Actualice el proyecto:

  7. Confirme que puede agregar el WIT al panel de tareas. Abra la página del panel de tareas o actualice la página si ya está abierta.
    Debe poder seleccionar tarea o tarea de servicio como elemento de trabajo vinculado a un caso de usuario.
    Panel de tareas con el tipo de elemento de trabajo Tarea de servicio agregado

    En el panel de tareas, arrastre el elemento de trabajo para actualizar su estado. Observará que no puede arrastrar un elemento a una columna para la que el estado no es válido. Por ejemplo, no puede arrastrar la tarea al estado Bloqueado o una tarea a un estado resuelto. Si desea usar estos estados, agréguelos a la definición de flujo de trabajo para la definición wit correspondiente.

Agregar un WIT a la categoría de errores

Los WIT que agregue a la categoría de errores se tratarán en función de la configuración del equipo. Dado que estos WIT se pueden tratar como requisitos o tareas, deben cumplir los requisitos de la herramienta de planeación ágil para los requisitos y las tareas.

  1. Exporte el proceso (XML hospedado) o los archivos de definición (XML local), como se indica en Primeros pasos.

  2. Edite la definición de WIT para admitir herramientas de planeación cumpliendo las condiciones enumeradas en el paso 2 de Agregar un WIT para realizar un seguimiento de los requisitos y Agregar un WIT para realizar un seguimiento como tareas.

  3. Edite la definición Categorías. Agregue el WIT a la categoría de errores. Aquí agregamos dos WIT.

    <CATEGORY name="Bug Category" refname="Microsoft.BugCategory">  
       <DEFAULTWORKITEMTYPE name="Bug" />  
       <WORKITEMTYPE name="Service Bug" />  
       <WORKITEMTYPE name="Feedback" />  
    </CATEGORY>
    
  4. Actualice o compruebe la definición de ProcessConfiguration: BugWorkItems sección para el WIT que va a agregar.

    En concreto, asegúrese de que se cumplen las condiciones siguientes:

    • Asignar el inicio de cada estado de flujo de trabajo a type="Proposed"
    • Asigne cada estado intermedio de flujo de trabajo que desee que aparezca en kanban o panel de tareas para type="InProgress"
    • Asignar el final de cada estado de flujo de trabajo a type="Complete"
    • Asegúrese de que solo tiene un estado asignado a type="Complete"

    Por ejemplo, agregue el estado del Investigate flujo de trabajo:

    <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. Agregue la definición de color WIT a la sección ProcessConfiguration WorkItemColors . Por ejemplo:

    <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Service Bug" />  
    <WorkItemColor primary="FFFF00FF" secondary="FFFFCCFF" name="Feedback" />  
    
  6. Actualice el proyecto:

  7. Elija la configuración del equipo para ver cómo se realiza el seguimiento de los errores.

  8. Confirme que el WIT aparece en los trabajos pendientes y paneles según lo previsto y que puede agregarlo a través de los trabajos pendientes según lo previsto.

Importar y exportar archivos de definición (XML local)

Use los comandos witadmin para importar y exportar archivos de definición. Para obtener más información, consulte wit Administración: Personalización y administración de objetos para el trabajo de seguimiento.

Sugerencia

Con witadmin, puede importar y exportar archivos de definición. Otras herramientas que puede usar incluyen el Editor de procesos (requiere que haya instalado una versión de Visual Studio). Instale el editor de plantillas de proceso desde Visual Studio Marketplace.

  1. Abra una ventana del símbolo del sistema según las instrucciones proporcionadas en witAdmin: Personalizar y administrar objetos para realizar el seguimiento del trabajo. Por ejemplo:
  1. Escriba el witadmin comando y sustituya los datos por los argumentos que se muestran. Por ejemplo, para importar un WIT:

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

    En CollectionURL , especifique la dirección URL de una colección de proyectos y para ProjectName especifique el nombre de un proyecto definido dentro de la colección. Debe especificar la dirección URL en el formato siguiente: http://ServerName:Port/VirtualDirectoryName/CollectionName.

    En DirectoryPath, especifique la ruta de acceso a la WorkItem Tracking/TypeDefinitions carpeta que contiene la plantilla de proceso que descargó. La ruta de acceso del directorio debe seguir esta estructura: Drive:\TemplateFolder\WorkItem Tracking\TypeDefinitions.

    Por ejemplo, importe el WIT de ServiceApp:

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

Use estos comandos para exportar e importar WIT, categorías y configuración de procesos:

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 cómo agregar otro WIT a sus trabajos pendientes o paneles. Sin embargo, si desea agregar otro WIT para actuar como trabajo pendiente de cartera, consulte Agregar trabajos pendientes de cartera.

Consulte Personalización de la experiencia de seguimiento del trabajo para obtener información general sobre todas las opciones disponibles para personalizar los objetos de seguimiento de trabajo.

Para obtener información sobre cómo se muestran los elementos jerárquicos o anidados en un trabajo pendiente o un panel, consulte Cómo los trabajos pendientes y los paneles muestran elementos jerárquicos (anidados).