Skip to content

7. FAQs

Nick Brown edited this page Sep 8, 2021 · 47 revisions

How much Work Item data is loaded?

For each Work Item table in the dataset, the amount of data is as follows:

  • WorkItems Bl0cked - Work items changed in the last 12 months (from the date of refresh)
  • WorkItems Blocked - Work items changed in the last 6 months (from the date of refresh)
  • WorkItems Blocked2 - Work items changed in the last 6 months (from the date of refresh)
  • WorkItems Completed - Work items changed in the last 12 months (from the date of refresh)
  • WorkItems Daily Blocked Count - Work items changed in the last 6 months (from the date of refresh)
  • WorkItems In Progress - Work items changed in the last 12 months (from the date of refresh)
  • WorkItems In Progress2 - Work items changed in the last 12 months (from the date of refresh)
  • WorkItems WIP Age - Work items changed in the last 6 months (from the date of refresh)

How can I share these reports / publish them to Azure DevOps?

For publishing to Azure DevOps, follow the steps in this blog.

To share with those without Power BI Desktop, use the print to PDF option.

Can this work with TFS?

Yes! When you are entering your Analytics URL/Azure DevOps Server value, be sure to add /tfs into this parameter.

For example if your TFS server is http://tfs.org.com:8080/tfs/Company123/Website/

You would need to enter:

How is lead time/cycle time calculated?

Lead time measures the total time elapsed from the creation of work items to their completion. Cycle time measures the time it takes for your team to complete work items once they begin actively working on them. The following diagram illustrates how lead time differs from cycle time in the context of Azure DevOps.

Lead time is calculated from work item creation to entering a completed state. Cycle time is calculated from a work item first entering an In Progress state to entering a Completed state.

Why don’t you have velocity in this dashboard?

Velocity (sum of effort/story points) is a metric that is easily abused/gamed and, through my years as a practitioner, I’ve found it to be pretty useless as a metric. It forces teams to focus too much on ‘getting our points up’ or just artificially inflating estimates and thus ‘increase velocity’. Countless studies (including my own) have proven that there is little/no correlation in points estimation, and that it is no better than using count of items (otherwise known as Throughput). Plus, Senior Managers and Executives don’t want to hear about story points, they want a language that makes sense, not some obscure voodoo :) This dashboard is all centred on flow and transparency, in a language that is simpler to digest, hence why velocity is excluded.

I have items that are Blocked, why are they not appearing?

The Blockers page only works if work items are 'tagged' as Blocked OR if you use the 'Blocked' field in an inherited process template. Any other custom ways of identifying blocked work will not work.

I have lots of teams in the same project and/or lots of data, how can I filter what I query?

You can actually limit your queries via a few ways:

  • To filter by team - there is guidance from Microsoft's own material here on how to add a team filter for OData queries at the bottom of the page using and (Teams/any(x:x/TeamName eq '{teamname}')
  • To filter by date - you can see from some of the FlowViz tables you can also filter by date range. For example the 'Dates' table only takes dates past 1st May 2019 - /_odata/v3.0-preview/Dates?%20$filter=Date%20ge%202019-05-01T00:00:00Z
  • To filter by n results - the Microsoft example here shows how you can limit to just the top 10 work items using &$top=10

I have lots of data - can I filter by Area Path within the queries?

Yes - please check out this thread for guidance on how to do so.

Can I add sprint/iteration data?

Sprint/iteration data is available in the Iterations table, however you will need to model appropriately with the relevant table(s). Feel free to add it to your charts if it helps!

Can I add technical data?

Technical data (builds, releases, pipelines, etc.) is available in v3.0 of the Odata API. However, in their current format I’ve found it to be limited in the value it can bring. You can bring them in as additional tables if you wish (follow steps 1-6 for how to do this)

However if you’re looking for things such as the DORA software delivery performance metrics (Lead time for changes, Deployment frequency, Time to restore service, Change failure rate) these are unfortunately not currently available.

How I do I change the forecasting inputs/outputs?

Changing the forecasting visuals is relatively simple to do. Reasons for this could be if you don’t have ‘enough’ data yet but have a reasonable amount, or if you need to "throw away" old data. Just change the 'Input data range' number for the number of weeks worth of data you do want to use. Watch the % stability though!

But don’t we need lots of data for forecasting?

This isn’t actually true, and a common myth:

  • With 5 samples we are confident that the median will fall inside the range of those 5 samples, so that already gives us an idea about our timing and we can make some simple projections (Source: Actionable Agile Metrics For Predictability)

  • With 11 samples we are confident that we know the whole range, as there is a 90% probability that every other sample will fall in that range (see the German Tank Problem). Knowing the range of possible values drastically reduces uncertainty

How can I add/remove/modify the percentiles?

To do this there is a slight hack/workaround needed!

  1. Change the Cycle Time (Calendar Days) under Y-Axis to be Sum or Count

  1. Go to the Analytics pane

  1. Expand the percentiles section and modify as necessary

  1. Go back to the chart layout/fields - change Sum or Count back to Don’t Summarise

Clone this wiki locally