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.

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.

Prerrequisitos

  • 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 & aplicar en el menú Inicio para guardar la consulta y volver a la pestaña Informe de 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. Agregue 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 la grabación en puntos de historia y recuento de historias.

Captura de pantalla del informe de gráfico de columnas agrupadas de ejemplo de Sprint de Power BI.