Informes de ejemplo de agotamiento de sprint

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

Los gráficos de agotamiento de sprints son útiles para supervisar el rendimiento de un equipo en su plan de sprint. Varios gráficos integrados y widgets de panel admiten la supervisión del agotamiento del sprint. Consulte Configuración y supervisión de la quema de sprint.

Sin embargo, puede personalizar un gráfico de agotamiento de sprint mediante Analytics y Power BI con las consultas proporcionadas en este artículo. En el ejemplo siguiente se muestra un agotamiento de los casos de usuario y sus estados.

Captura de pantalla del informe de gráfico de columnas agrupadas en clúster de Sprint de Power BI.

Importante

La eliminación de rutas de acceso de área o la reconfiguración de las rutas de acceso de iteración pueden provocar una pérdida de datos y no se pueden revertir. Por ejemplo, los gráficos de widgets de evolución o de evolución, la evolución del sprint y los gráficos de velocidad de los equipos cuyas rutas de acceso de área cambian no reflejarán los datos correctos. Los gráficos de tendencias históricos hacen referencia a la ruta de acceso del área y la ruta de acceso de iteración tal como se define en un punto del pasado para cada elemento de trabajo. Cuando se elimina una ruta de acceso de área o una ruta de acceso de iteración , no se pueden recuperar los datos históricos de ella.

Para obtener más información sobre el agotamiento y la quema, y las instrucciones de burndown y burnup.

Nota

En este artículo se supone que ha leído Información general de informes de ejemplo mediante consultas de OData y que tiene conocimientos básicos de Power BI.

Requisitos previos

  • Para ver los datos de Analytics y consultar el servicio, debe ser miembro de un proyecto con acceso básico o superior. De forma predeterminada, a todos los miembros del proyecto se les conceden permisos para consultar Analytics y definir vistas de Analytics.
  • Para obtener información sobre otros requisitos previos relacionados con las actividades de habilitación de características y servicios y seguimiento de datos generales, consulte Permisos y requisitos previos para acceder a Analytics.

Consultas de ejemplo

Los gráficos de burndown requieren consultar el WorkItemSnapshot conjunto de entidades para obtener datos históricos.

Nota

Para determinar las propiedades disponibles con fines de filtro o informe, consulte Referencia de metadatos para Azure Boards. Puede filtrar las consultas o devolver propiedades mediante cualquiera de los Property valores de un EntityType valor o NavigationPropertyBinding Path disponible con .EntitySet Cada EntitySet uno corresponde a un objeto EntityType. Para obtener más información sobre el tipo de datos de cada valor, revise los metadatos proporcionados para el correspondiente EntityType.

Casos de usuario de burndown para una ruta de acceso de área y la iteración actual

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'User Story' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate le now()  "
            &"and Iteration/EndDate ge now() "
        &") "
        &"/groupby( "
            &"(DateValue,State,WorkItemType,Priority,Area/AreaPath,Iteration/IterationPath), "
            &"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Cadenas de sustitución y desglose de consultas

Sustituya las cadenas siguientes por sus valores. No incluya corchetes {} con la sustitución. Por ejemplo, si el nombre de la organización es "Fabrikam", reemplace por {organization}Fabrikam, no {Fabrikam}por .

  • {areapath} - Ruta de acceso del área. Formato de ejemplo: Project\Level1\Level2.

Desglose de consultas

En la tabla siguiente se describe cada parte de la consulta.

Elemento de consulta

Descripción


$apply=filter(

Iniciar filtro()

WorkItemType eq 'User Story'

Grabar en casos de usuario

and startswith(Area/AreaPath,'{areapath}')

Elementos de trabajo en una ruta de acceso de área específica. Reemplazar por Area/AreaPath eq '{areapath}' devuelve elementos en una ruta de acceso de área específica.

Para filtrar por nombre de equipo, use la instrucción filter. Teams/any(x:x/TeamName eq '{teamname})'

and StateCategory ne 'Completed'

Filtra los elementos completados. Para obtener más información sobre las categorías de estado, consulte Cómo se usan los estados de flujo de trabajo y las categorías de estado en Trabajos pendientes y paneles.

and DateValue ge Iteration/StartDate

Comience la tendencia en el inicio de iteración.

and DateValue le Iteration/EndDate

Final de la tendencia al final de la iteración.

and Iteration/StartDate le now()

Seleccione Iteración actual.

and Iteration/EndDate ge now()

Selección de la iteración actual

)

Cerrar filter()

/groupby(

Iniciar groupby()

(DateValue, State, WorkItemType, Priority, Area/AreaPath, Iteration/IterationPath),

Agrupar por DateValue (se usa para tendencias) y los campos en los que desea informar

aggregate($count as Count, StoryPoints with sum as TotalStoryPoints)

Agregado por recuento de casos de usuario y suma de puntos de historia

)

Cerrar groupby()

Casos de usuario de burndown para un equipo y la iteración actual

Esta consulta es la misma que la usada anteriormente, salvo que filtra por Nombre de equipo en lugar de ruta de acceso del área.

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'User Story' "
            &"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate le now()  "
            &"and Iteration/EndDate ge now() "
        &") "
        &"/groupby( "
            &"(DateValue,State,WorkItemType,Priority,Area/AreaPath,Iteration/IterationPath), "
            &"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Burndown User Stories para todos los sprints desde el inicio de un año

Es posible que desee ver un agotamiento de todos los sprints en un único informe. Estas consultas extraen las quemaduras de sprint y sus puntos de historia, para todos los sprints desde principios de año 2022.

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
        &"$apply=filter( "
            &"WorkItemType eq 'User Story' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate ge 2022-01-01Z "
        &") "
        &"/groupby( "
            &"(DateValue,Iteration/EndDate,Area/AreaPath,Iteration/IterationPath,State,WorkItemType,Priority,AreaSK), "
            &"aggregate($count as Count, StoryPoints with sum as TotalStoryPoints) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tareas de quema y trabajo restante

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los informes de ejemplo mediante consultas de OData.

Doc-ready Power BI Query (anonomized)
let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
        &"$apply=filter( "
            &"startswith(Area/AreaPath,'{project}') "
            &"and StateCategory ne 'Completed' "
            &"and DateValue ge Iteration/StartDate "
            &"and DateValue le Iteration/EndDate "
            &"and Iteration/StartDate le now()  "
            &"and Iteration/EndDate ge now() "
            &"and WorkItemType eq 'Task' "
        &") "
            &"/groupby( "
            &"(DateValue,State,WorkItemType,Activity,Priority,Area/AreaPath,Iteration/IterationPath,AreaSK), "
            &"aggregate($count as Count, RemainingWork with sum as TotalRemainingWork) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(Opcional) Cambiar el nombre de la consulta

Puede cambiar el nombre de la etiqueta de consulta predeterminada, Query1, a algo más significativo. Simplemente escriba un nuevo nombre en el panel Configuración de consulta.

Captura de pantalla de las opciones del menú de consulta de Power BI, cambiar el nombre de la consulta.

Expandir columnas en Editor de Power Query

Antes de crear el informe, deberá expandir columnas que devuelvan registros que contengan varios campos. En este caso, querrá expandir los registros siguientes:

  • Area
  • Iteration
  • AssignedTo

Para obtener información sobre cómo expandir elementos de trabajo, consulte Transformación de datos de Análisis para generar informes de Power BI.

Cierre la consulta y aplique los cambios

Una vez que haya completado todas las transformaciones de datos, elija Cerrar y aplicar en el menú Inicio para guardar la consulta y volver a la pestaña Informe en Power BI.

Captura de pantalla de Editor de Power Query opción Cerrar y aplicar.

Creación del informe de gráfico de columnas apiladas

  1. En Power BI, elija el informe Gráfico de columnas apiladas en Visualizaciones.

    Captura de pantalla de las selecciones visualizaciones y campos de Power BI para el informe Desinterdenado de sprint.

  2. Agregar DateValue al eje X, haga clic con el botón derecho y seleccione DateValue, en lugar de Date Hierarchy

  3. Agregue Count al eje Y.

  4. Agregue State al eje Y.

El informe de ejemplo, que muestra el agotamiento de los puntos de historia y el recuento de historias.

Captura de pantalla del informe de gráfico de columnas agrupadas de un sprint de power BI de ejemplo.