Relatórios de exemplo de burndown de sprint

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

Gráficos de burndown de sprint são úteis para monitorar o quão bem uma equipe está executando em seu plano de sprint. Vários gráficos internos e widgets de painel dão suporte ao monitoramento de burndown de sprint. Consulte Configurar e monitorar o burndown de sprint.

No entanto, você pode personalizar um gráfico de burndown de sprint usando o Analytics e o Power BI com as consultas fornecidas neste artigo. O exemplo a seguir mostra um burndown de Histórias de Usuário e seus Estados.

Captura de tela do relatório de gráfico de colunas clusterizado de burndown do Power BI Sprint.

Importante

  • A exclusão de caminhos de área ou a reconfiguração de caminhos de iteração causam perda irreversível de dados. Por exemplo, gráficos de widget de burndown e burnup, burndown de sprint e gráficos de velocidade para equipes com Caminhos de Área alterados não exibirão dados precisos. Os gráficos de tendências históricas fazem referência ao Caminho da Área e ao Caminho da Iteração conforme foram definidos no momento para cada item de trabalho. Depois de excluídos, você não poderá recuperar dados históricos para esses caminhos.
  • Você só pode excluir caminhos de área e iteração que não são mais usados por nenhum item de trabalho.

Para obter mais informações sobre burndown e burnup e Burndown e diretrizes de burnup.

Observação

Este artigo pressupõe que você leia Visão geral dos relatórios de exemplo usando consultas OData e tenha uma compreensão básica do Power BI.

Pré-requisitos

Consultas de exemplo

Os gráficos burndown exigem consultar o WorkItemSnapshot conjunto de entidades para obter dados históricos.

Observação

Para determinar as propriedades disponíveis para fins de filtro ou relatório, consulte Referência de metadados para Azure Boards. Você pode filtrar suas consultas ou retornar propriedades usando qualquer um dos Property valores em um EntityType ou NavigationPropertyBinding Path valores disponíveis com um EntitySet. Cada EntitySet corresponde a um EntityType. Para obter mais informações sobre o tipo de dados de cada valor, examine os metadados fornecidos para o EntityType.

Burndown User Stories para um caminho de área e a iteração atual

Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Consulta em Branco de Dados>. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas 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

Cadeias de caracteres de substituição e detalhamento de consulta

Substitua as cadeias de caracteres a seguir pelos valores. Não inclua colchetes {} com sua substituição. Por exemplo, se o nome da sua organização for "Fabrikam", substitua por {organization}Fabrikam, não {Fabrikam}.

  • {areapath} - Seu caminho de área. Formato de exemplo: Project\Level1\Level2.

Detalhamento da consulta

A tabela a seguir descreve cada parte da consulta.

Parte da consulta

Descrição


$apply=filter(

Iniciar filtro()

WorkItemType eq 'User Story'

Burndown em Histórias de Usuário

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

Itens de trabalho em um caminho de área específico. Substituir por Area/AreaPath eq '{areapath}' retorna itens em um caminho de área específico.

Para filtrar pelo Nome da Equipe, use a instrução filter Teams/any(x:x/TeamName eq '{teamname})'

and StateCategory ne 'Completed'

Filtra os itens concluídos. Para obter mais informações sobre Categorias de Estado, consulte Como estados de fluxo de trabalho e categorias de estado são usados em Listas de pendências e quadros.

and DateValue ge Iteration/StartDate

Comece a tendência no início da iteração.

and DateValue le Iteration/EndDate

Tendência final no final da iteração.

and Iteration/StartDate le now()

Selecione Iteração atual.

and Iteration/EndDate ge now()

Selecionar iteração atual

)

Fechar filtro()

/groupby(

Iniciar groupby()

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

Agrupar por DateValue (usado para tendências) e todos os campos nos quais você deseja relatar

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

Agregar por contagem de histórias de usuário e soma de Pontos de História

)

Fechar groupby()

Burndown User Stories para uma equipe e a iteração atual

Essa consulta é a mesma usada acima, exceto que filtra por Nome da Equipe em vez de Caminho da Área.

Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Consulta em Branco de Dados>. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas 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 os sprints desde o início de um ano

Talvez você queira exibir um burndown de todos os sprints em um único relatório. Essas consultas puxam burndowns de sprint, e suas por pontos de história, para todos os sprints desde o início do ano de 2022.

Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Consulta em Branco de Dados>. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas 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

Tarefas de burndown e trabalho restante

Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Consulta em Branco de Dados>. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas OData.

Doc-ready Power BI Query (anonymized)
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) Renomear consulta

Você pode renomear o rótulo de consulta padrão, Query1, para algo mais significativo. Basta inserir um novo nome no painel Configurações de Consulta .

Captura de tela das opções de menu de consulta do Power BI, renomear consulta.

Expandir colunas em Editor do Power Query

Antes de criar o relatório, você precisará expandir colunas que retornam registros que contêm vários campos. Nesse caso, você desejará expandir os seguintes registros:

  • Area
  • Iteration
  • AssignedTo

Para saber como expandir itens de trabalho, confira Transformar dados do Analytics para gerar relatórios do Power BI.

Feche a consulta e aplique suas alterações

Depois de concluir todas as transformações de dados, escolha Fechar e Aplicar no menu Página Inicial para salvar a consulta e retornar à guia Relatório no Power BI.

Captura de tela da opção Fechar e Aplicar Editor do Power Query.

Criar o relatório de gráfico de colunas empilhadas

  1. No Power BI, escolha o relatório gráfico de colunas empilhadas em Visualizações.

    Captura de tela das seleções de Visualizações e Campos do Power BI para o relatório De burndown do Sprint.

  2. Adicione DateValue ao Eixo X, clique com o botão direito do mouse e selecione DateValue, em vez de Date Hierarchy

  3. Adicione Count ao Eixo Y.

  4. Adicione State ao Eixo Y.

O relatório de exemplo, que exibe burndown em Pontos de História e Contagem de Histórias.

Captura de tela do relatório de gráfico de colunas clusterizado de burndown de exemplo do Power BI Sprint.