9 Agile Software Development Metrics That Will Optimize Your Results
How do you keep track of key performance indicators (KPIs) without getting bogged down trying to measure absolutely everything?
When team members are constantly filling out metrics reports, they may get the feeling that KPIs are there to monitor their productivity, rather than evaluating their performance and helping them meet their goals.
But Agile metrics can change the course of your business for good. They’ll help you keep track of your progress, improve processes promptly, identify issues, and ensure high-quality results.
At NaNLABS, we use Agile software development metrics in two different ways: to ensure our processes stay on track and to guarantee that we meet our clients’ expectations.
In this piece, we’ll share a list of nine of the Agile metrics that we’ve used, and find valuable, and some tips to measure them properly.
Want to know more about Agile metrics and which ones to use in your business? Here’s what we’ll cover:
Ready to build your own custom software with a team that cares about you and your processes? We’re not code monkeys, we care about you.
What are Agile metrics and why do they matter?
Agile metrics are targets that help software development teams monitor workflows, performance, quality, and budget. Agile metrics usually answer one of these four questions:
How much? This question relates to the project budget. You'll know how much it will cost, and whether you're over or under budget.
How good? Metrics that fall into this bucket are the ones that measure teams’ performance.
How happy? The answer to this question determines the quality of the product or service.
How fast? KPIs that measure team productivity answer this question.
Agile methodology bases itself on working towards continuous improvement and delivering high-quality products and services. Agile usually goes hand in hand with Lean, which means making your processes as efficient as you possibly can.
Keeping track of Agile metrics is crucial when working with Agile software development frameworks. It’ll help you meet your Agile KPIs while paying close attention to the team’s capacity and workflows, and resolving issues before they impact your project.
Agile metrics should answer at least one of four questions relating to: budget, performance, quality, and productivity.
Old school vs Agile metrics
Agile metrics often conflict with the traditional ways of doing things. The latter focuses on output—how you achieved a certain goal. While Agile metrics focus on the outcome—what you got as a result.
Software development projects shouldn’t be measured by traditional metrics, because meeting targets doesn’t ensure a program's functionality. Some examples of old-school metrics are
Lines of code. Measuring the number of lines in a program doesn’t guarantee that it works. A lot of code is not an indicator of good quality code.
Number of commits. This metric alone doesn't tell you anything about the product. Having 10 commits without knowing what’s in them is useless.
Code churn. Code churn tells you how much time someone spent working on a file. The assumption is that if you spend a lot of time working on a code, then it might be buggy or require lots of changes. But time spent on a file is not necessarily an indication of the quality or inefficiency.
“Done”. Project completion only tells you that your developers finished a task. It doesn’t tell you if it works, if it was done on time, if it’s the right product for the market, or if it’s Lean.
Size-related metrics are not an indicator of quality. They share half of the story and leave no room for context or innovation. Meeting a size-related target is not the way to measure success in Agile.
Agile methodology doesn’t care if you chose one way or another to build a program: it cares if the program works, if it’s sustainable long-term, and if it was delivered on time and within budget.
Plus, it focuses on continuous learning so anyone in your team should feel encouraged to come up with better and faster solutions.
Risks of following old-school metrics
Traditional metrics are not necessarily poor targets to measure, but they’re not right for Agile working. That’s because they can lead people to either focus on the wrong outcome or sacrifice one target to meet another.
Some of the unintended risks of measuring traditional metrics include
Expecting fast results. This leads people to work on the wrong priorities to meet a deadline or value time over quality.
Expecting savings. This can cause people to cut costs on software that makes people’s jobs easier, or generate technical debt.
Encouraging zero errors. This can set unrealistic expectations, and foster a culture where people are afraid to make mistakes.
Types of Agile metrics
The most commonly used Agile metrics changes with time. But these are the top three types that have stuck around for a while:
Kanban metrics. These metrics focus on time invested in workflows, prioritization, and getting work done. The most common Kanban metrics are cumulative flow diagrams and cycle time.
Scrum metrics. Scrum metrics focus on work planning, having a full understanding of the workflow, and how much work your team gets done during a certain period. The most common metrics are velocity and burndown charts.
Lean metrics. To go Lean, you need to iterate continuously on efficiency, quality, and mitigating negative results. Lean metrics focus on eliminating time-consuming and unnecessary activities. The most common metrics are lead time and cycle time.
At NaNLABS we use scrum metrics the most, but we’ll always adapt to your requirements while coming up with our workflow proposal.
9 of the most useful Agile software development metrics you should be tracking
Metrics are adaptive and can change from project to project. To help you choose the best method for yours, here’s a list of quality metrics for Agile project management.
To measure work in progress
1. Sprint burndown
This metric is mostly used to track work completion through sprints. Since sprints are time-bound, tasks should be reviewed frequently, and it’s the product owner's responsibility to make changes if needed mid-sprint.
A sprint burndown is displayed in a graph where the x-axis represents time, and the y-axis represents the amount of pending work. The unit of measure is either story points or hours, and the goal is to have a prediction of all the completed work by the end of each sprint.
Some things to consider:
If your team always finishes before the end of the sprint, you might not be taking in enough work.
Otherwise, your team might be missing deadlines because you’re committing to too much work.
The burndown line shouldn’t make big drops. If that happens it’s because your tasks are covering too much information.
#A Sprint Burndown chart shows the pending tasks in story points throughout a period. The guideline is the expected progression of how the project will evolve. The goal is for the two lines to be close together.
2. Velocity
This scrum metric also allows teams to measure the average workload a team can complete during a sprint, using story points or hours.
Velocity will change from team to team, but it doesn’t make one better than the other. It’s normal for every scrum team to have its own velocity. However, if a team’s velocity starts to drop, it might be a sign that something is wrong.
Some things to consider:
If you notice that the velocity is different than usual for a recurrent period, review the estimation.
The velocity might change if the team didn’t map some unexpected challenges, or if there’s something outside of your control causing delays in your results.
#A velocity chart is a visual representation of work progress through time. Some charts have two bars in the X-axis that share estimated time vs completion time, and others have multiple bars that show the status of a task.
3. Control chart
Control charts measure individual cycle times of issues (the time it takes an issue to change from “in progress” to “done”). When a team finishes issues in a consistent time, they become better at estimating workflows delivery time.
Some things to consider:
Don’t be overly eager to find a specific result at first. Look for patterns and trends.
Make sure you’re cautious when reviewing increasing and inconsistent cycle times. You might need to review each cycle time in detail.
#A control chart shows how a process looks over time. Processes are in control when most of the points are close to the average line, some points are close to the control limits, and there aren’t any points under the limits. You can use the standard deviation to calculate control limits
To measure efficiency and/or productivity.
4. Epic and release burndown
This metric is similar to the sprint burndown, but it tracks the progress of larger projects for scrum and kanban teams. The first three metrics focus on the details, whereas the epic and release burndown measures your team's performance throughout an epic.
This chart allows everyone to be up-to-date on the flow of work inside each epic and it allows project managers to make decisions on whether or not they can take on more work.
Some things to consider:
This chart allows some scope changes based on scope creep requirements, like requests to add new features or functions that weren’t previously authorized.
Epic and release burndown can show you if a product owner is asking for too many changes that are constantly modifying the scope of work.
#Epic and release burndown charts can be used to see how much time your team needs to get through an epic, how any work added affects project completion, and forecast future epics.
5. Cycle time
As mentioned above, cycle time is a metric that defines how long it takes a team to move a task from “in progress” to “done”. This is a measurement of productivity because it helps teams shortcut some tasks or reduce time spent working on some of them.
Also, getting to know your cycle time helps you forecast sprints, and satisfy your end-user’s requests faster.
Some things to consider:
The cycle time might change depending on what you consider as “done.” If those parameters change, the cycle times might change as well.
Cycle times help you identify bottlenecks—the tasks that have the higher cycle time.
#The cycle time chart looks complex, but it’s extremely useful. Each bar stands for how much time each task was at a particular stage, the height of the bar represents the time spent on a task.
6. Blocked Time
This productivity measure helps teams identify blockers and the duration of the block. Blocked time assigns a blocker tag to tasks and it automatically generates a dependency for the following tasks.
When someone can’t proceed with a particular task because it’s waiting on a blocker, you can measure the amount of time and tasks that were blocked. Then, you can review the causes and optimize the workflow.
Some things to consider:
Increases in blocked time can mean that the task was not broken down properly, or that something unexpectedly increased the complexity of a task.
Reducing time blocked increases team productivity.
#This chart looks like a cycle time graph with the difference that it shows the number of days a task was blocked by something or someone. The line shares the average blocked time.
To measure quality
7. Cumulative flow diagram
This one is a diagram made out of three different flow metrics: cycle time, work in progress (WIP), and throughput.
WIP shows how many tasks you have in progress, and throughput is a kanban metric that refers to the number of products (tasks) you delivered in a period. It can also show pending, in progress, and done tasks.
This diagram shows how much work you’ve given your team in a time frame and how well it’s flowing through the system. This graph should have the number of tasks on the y-axis, and time on the x-axis.
Some considerations:
The graph information is shown in three different color bands that should grow in parallel; if there’s a spike or a crossover between lines, it could imply there’s a bottleneck or a blocker.
Another reason why the graph is not reading smoothly from left to right might indicate there’s an unchecked backlog increasing over time.
If the color bands are narrow, it might mean that your throughput is higher than your pending tasks. If it’s the other way around, it means you’re taking on too much work.
#The cumulative flow diagram offers at-a-glance info on your team’s productivity. The y-axis shows the number of tasks, and the x-axis shows those tasks completed over a period of time. The different colors show pending, in progress, and finished tasks.
8. Net promoter score (NPS)
You can use this metric to determine the quality of your product and how likely it is that your customers will recommend it to others. It’s measured in an index of -100 to 100. This metric is particularly valuable in the custom software development process because it guarantees you meet the client's and customers' expectations.
The NPS is usually calculated by reviewing survey responses on whether or not they’d recommend your service/product, and qualitative answers on interviews, customer reviews, feedback, etc.
Some considerations:
Customers get divided into three groups:
Promoters, most likely to recommend
Passive, the ones who liked your product but won’t actively recommend it
Detractors, customers that were not satisfied and won’t buy again.
The NPS is calculated by subtracting the percentage of detractors from the percentage of promoters.
#This picture is a simplified explanation of the net promoter score in an index of 0-10. In this case, 0 represents the detractors, users who are unlikely to recommend your product, and 10 represents the promoters, people who are extremely likely to recommend it.
9. Failed deployment
This metric compares the number of failed deployments against total deployments. The goal is that the percentage of failed deployments is only a minimum percentage.
It’s typically considered a failure when its service has a negative NPS, affects usability, or compromises previous results.
Some considerations:
A deployment is considered to be a failure by some key stakeholders before it’s moved to the production environment.
If this metric gets a sudden spike or increase it should be reviewed in detail and in high priority.
#As shown in this image, a failed deployments chart shares the number of failed deployments per department.
How to choose the right metrics for your Agile projects
Getting stuck in the weeds of measuring absolutely everything goes against the Agile philosophy. The Agile mentality invites you to focus on the right tasks and work at a fast pace.
Choose specific Agile metrics according to your objectives, your target audience, and the problems you’re facing. And don’t make the mistake of using the same set of metrics for every project. It’s more complex than that.
That’s why at NaNLABS we work in alignment with your development in-house team to provide your business with a data-based answer on performance, quality, and workflow.
NaNLABS engineers will always work as an extension of your business rather than an external team, collaborating with you to meet your needs.
Ready to build your own custom software with a team that cares about your processes? We’re not code monkeys, we care about you.
Frequently asked questions about Agile metrics.
What are Agile metrics?
Agile metrics are targets that help software teams and third-party clients monitor teams in terms of productivity, performance, quality, and budget.
Agile metrics are different from traditional metrics because they focus on the outcome, not the output. Agile metrics usually answer at least one of these four questions: How much? How good? How happy? How fast?
What are 5 key metrics for Agile software development?
There are several different Agile software development metrics, some of the most used are
1. Sprint burndown.
It’s a graph that keeps track of work completed through sprints.
2. Control chart
This metric analyzes the individual cycle times of issues. The cycle time is the number of days it takes the status of a task to go from “in progress” to “done”.
3. Epic and release burndown
This one is similar to the sprint burndown. It keeps track of the progress of larger projects measured in epics instead of sprints.
4. Cumulative flow diagram
This diagram reviews three metrics to review flow. Some examples of metrics can be cycle time, work in progress (WIP), and throughput.
5. Net promoter score (NPS)
This metric indicates the likelihood of customers to recommend the service or product, it’s shown in an index from -100 to 100.
What are the types of Agile metrics in software engineering?
Agile metrics can be categorized into three groups:
Kanban metrics. These metrics are focused on time invested in workflows, prioritization, and getting work done.
Scrum metrics. Scrum metrics are focused on work planning, having a full understanding of the workflow, and how much work you manage to get done during a certain period.
Lean metrics. To get Lean, you need to iterate continuously on efficiency, quality, and mitigating negative results. Lean metrics focus on eliminating time-consuming and unnecessary activities.
How is performance measured in Agile?
Agile methodology measures performance by reviewing a compilation of metrics that impact quality, budget, productivity, and workflow.
Related Post: 8 Agile Software Development Tools We Just Can’t Live Without