Pattern of the Month: Metrics
Pattern of the Month: Metrics
'Metrics' is Pattern of the Month at agilepatterns.org. Read on to learn more!
Join the DZone community and get the full member experience.Join For Free
Transparency is arguably the first and most important step in agile transformation. Without visibility of the current state of affairs, it will be hard to inspect, adapt, and improve. Seen in Lean terms, transparency is critical to the elimination of waste. Yet transparency will come to nothing if the facts of a situation are not discerned empirically by objective measure. The elicitation of this data is known as gathering metrics.
Lead time, for example, measures the average duration of work from the receipt of a request until the delivery of the corresponding value. The clock starts as soon as the team agrees to do the work, including time spent on any backlog over which the team exercises control. At this point, it becomes an item of inventory. The clock stops once the work is completed and value is released by the team to stakeholders.
Another elementary metric is the team's throughput, which is the number of items they actually deliver over a certain period. Multiply throughput by lead time and you can tell how many items, on average, are held in progress and which therefore constitute the team's inventory. For example, if the lead time is 5 days and a throughput of 10 items per day is observed, the average amount of work in progress, or inventory held, is 50 items. These metrics are useful since if a way can be found to half the lead time while maintaining the same level of inventory, throughput can be expected to increase by 100%. Velocity is similar to throughput, but represents an adjusted count based on the relative estimated size of each item.
The work that is held in progress can be tracked by means of a burndown. This is one of the most common applications of transparency for the purposes of eliciting metrics where work is batched, such as on a backlog. The burndown shows the amount of work remaining, on a day by day basis or other set frequency, and so the rate of progress can be determined and forecasts can be made.
However, metrics such as these do not provide an indicator of the value that is actually delivered. How much of the work that was done has actually proven to be useful? Measuring any such value is hard, and it is important to distinguish between "vanity" metrics, which merely support the conceit that value is being provided, from "actionable" metrics that can be used to form and test an objective hypothesis. The Lean Startup movement has highlighted the need to think about metrics in these terms, and the ability to do so may be seen as essential if the credibility of an agile initiative is to be sustained.
"Metrics" is Pattern of the Month at agilepatterns.org.
Intent: Provide non-subjective data so that informed decisions can be made
Proverbs: You can’t manage what you don’t measure
Also Known As: Stats
Motivation: Decisions made on the basis of subjective judgment, and which do not involve any objective measurement, are likely to be poor. It is important that a team has an objective means to gather quantitative data about its process so it can inspect, adapt, and provide meaningful forecasts.
Structure: A team will publish its own metrics, including velocity, cycle time, and burn rate. These metrics are used to help them inspect and adapt their process. The metrics are visible to external stakeholders in the process who can then make appropriate forecasts.
Applicability: Metrics are important to the inspect-and-adapt capability of all agile teams, and to stakeholders who may wish to make forecasts based on that data.
Consequences: Knowing what to measure is important. Certain objective measures are not always useful or fit for purpose. Vanity metrics are measurements which show a situation in an unreasonably favorable light, even though the measurements themselves may well be accurate.
Implementation: Metrics can be derived from forecasts (such as estimates) or actuals (such as number of items actioned in a timebox). Scrum teams typically provide a Sprint Burndown of estimated hours remaining, and a Product Burndown of estimated User Story points remaining. Kanban teams will often provide metrics in the form of actuals only, such as cycle time.
- Information Radiator
- Inspect and Adapt
- The Key to Success in Agile Metrics, by Mike Cohn
- Metrics for a Scrum Team, Scrum Alliance
- Choosing Metrics for Agile Practice, The Agile Zone
Opinions expressed by DZone contributors are their own.