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.
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
- Acesso: ser membro de um projeto com pelo menos acesso básico.
- Permissões: por padrão, os membros do projeto têm permissão para consultar o Analytics e criar exibições.
- Para obter mais informações sobre outros pré-requisitos relacionados à ativação de serviços e recursos e atividades gerais de rastreamento de dados, consulte Permissões e pré-requisitos para acessar o Analytics.
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 (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 .
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.
Criar o relatório de gráfico de colunas empilhadas
No Power BI, escolha o relatório gráfico de colunas empilhadas em Visualizações.
Adicione
DateValue
ao Eixo X, clique com o botão direito do mouse e selecioneDateValue
, em vez deDate Hierarchy
Adicione
Count
ao Eixo Y.Adicione
State
ao Eixo Y.
O relatório de exemplo, que exibe burndown em Pontos de História e Contagem de Histórias.
Artigos relacionados
- Explorar relatórios de exemplo usando consultas OData
- Construir consultas OData para Análise
- Conectar-se ao Power BI usando consultas OData
- Consulte os metadados da Análise do Azure Boards
- Acesse relatórios de amostra e índice de referência rápida
- Adicionar uma segmentação de equipe a um relatório existente