Relatórios de exemplo de burndown do Sprint

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Os gráficos de burndown de sprint são úteis para monitorar o quão bem uma equipe está executando seu plano de sprint. Vários gráficos integrados e widgets de painel suportam o burndown de sprint de monitoramento. Consulte Configurar e monitorar o burndown do 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 User Stories e seus estados.

Captura de ecrã do relatório do gráfico de colunas agrupadas de burndown do Power BI Sprint.

Importante

Excluir caminhos de área ou reconfigurar caminhos de iteração pode causar uma perda de dados e não pode ser revertido. Por exemplo, gráficos de widgets de burndown ou burnup, burndown de sprint e gráficos de velocidade para equipes cujos caminhos de área foram alterados não refletirão os dados corretos. Os gráficos de tendência históricos fazem referência ao Caminho da Área e ao Caminho de Iteração, conforme definido em um ponto no passado para cada item de trabalho. Quando um caminho de área ou caminho de iteração é excluído, os dados históricos para ele não podem ser recuperados.

Para saber mais sobre burndown e burnup, e orientação sobre burndown e burnup.

Nota

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

Pré-requisitos

  • Para visualizar dados do Google Analytics e consultar o serviço, você precisa ser membro de um projeto com acesso Básico ou superior. Por padrão, todos os membros do projeto recebem permissões para consultar o Google Analytics e definir exibições do Google Analytics.
  • Para saber mais sobre outros pré-requisitos relacionados à ativação de serviços e recursos e atividades gerais de controle de dados, consulte Permissões e pré-requisitos para acessar o Google Analytics.

Consultas de amostra

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

Nota

Para determinar as propriedades disponíveis para fins de filtro ou relatório, consulte Referência de metadados para painéis do Azure. 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 um corresponde a um EntityTypearquivo . Para saber mais sobre o tipo de dados de cada valor, revise os metadados fornecidos para o .EntityType

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

Você pode colar a consulta do Power BI listada abaixo 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 seguintes cadeias de caracteres por seus valores. Não inclua parênteses com a {} sua substituição. Por exemplo, se o nome da sua organização for "Fabrikam", substitua {organization} por Fabrikam, não {Fabrikam}.

  • {areapath} - O Caminho da Sua Área. Exemplo de formato: 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ários

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

Itens de trabalho em um Caminho de Área específico. A substituição por Area/AreaPath eq '{areapath}' retorna itens em um Caminho de Área específico.

Para filtrar por 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 os estados do fluxo de trabalho e as categorias de estado são usados em Listas de Pendências e Painéis.

and DateValue ge Iteration/StartDate

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

and DateValue le Iteration/EndDate

Fim da tendência no final da iteração.

and Iteration/StartDate le now()

Selecione a 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 quaisquer campos sobre os quais você deseja relatar

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

Agregar por contagem de histórias de usuários e soma de pontos de história

)

Fechar groupby()

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

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

Você pode colar a consulta do Power BI listada abaixo 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

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

Você pode colar a consulta do Power BI listada abaixo 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

Você pode colar a consulta do Power BI listada abaixo 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 (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) 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 ecrã das opções do menu de consulta do Power BI, consulta de mudança de nome.

Expandir colunas no Power Query Editor

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

  • Area
  • Iteration
  • AssignedTo

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

Feche a consulta e aplique as alterações

Depois de concluir todas as suas transformações de dados, escolha Fechar & Aplicar no menu Início para salvar a consulta e retornar à guia Relatório no Power BI.

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

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 ecrã do relatório Visualizações e Seleções de Campos do Power BI para o Sprint Burndown.

  2. Adicionar DateValue ao Eixo X, clique com o botão direito do rato e selecione DateValue, em vez deDate Hierarchy

  3. Adicionar Count ao eixo Y.

  4. Adicionar State ao eixo Y.

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

Captura de ecrã do relatório de gráfico de colunas agrupadas de burndown do Power BI Sprint.