Setting up KPIs for Agile Software Engineering Teams

by Tosho Trajanov

8 min read · Jan 9, 2020

The most productive software engineering teams keep track of their improvements through a set of chosen indicators called software engineering metrics. These are the 5 most essential metrics you should start tracking today.

Have you ever been on a project where no software engineering metrics were tracked? If you have, then you probably know how hard it is to tell whether the team is on track for release or not. 

The truth is that if you want to reach your business goals, you have to ensure that your software meets all of the requirements. To do so, you must implement software engineering metrics into the development processes.

By setting up KPIs for your agile software engineering team, you'll avoid poor quality and missed deadlines. What you'll get is a productive team and a high-quality product. 

Here are five essential software engineering metrics that you should track to reach your business goals.

Sprint Burndown

What Is Sprint Burndown?

Agile teams organize their development into sprints. A sprint burndown measures how much work the team completed during a sprint. 

What Are the Benefits?

  • A sprint burndown is great for keeping the team aware of any roadblocks that occur.
  • By measuring sprint breakdown, you can check whether your team meets its forecast. 
  • Using a sprint breakdown chart, the team can manage its progress. If the team realizes that it may not reach the sprint goal, the team members can take appropriate actions to stay on track. 

How Do You Measure It?

Agile teams use sprint burndown charts to visualize their workflow. The chart has an x-axis that represents time and a y-axis that represents the amount of work left to complete. You can measure time in hours or story points. Or, you can think of your own statistics. The main objective here is to have all the forecasted work completed by the end of the sprint.

One tool you can use is the Jira Sprint Breakdown chart. To use it, you must create a Jira Software account, and a Jira Software Scrum project.

You'll see a vertical axis that represents story points. The horizontal axis shows time. The red line in the chart represents the amount of work left in the sprint. The grey line is the actual work line. If the red line is below the grey line, then this means that the team's on track. However, if the red line is above the grey line, this means that the project is behind schedule. 

Jira Sprint Burndown Chart
Image source: Jira Sprint Burndown Chart

Release Burndown

What is Release Burndown?

Release burndown offers an overview of the release progress. It's similar to the Sprint burn down, but it's bigger in scope. It helps teams check whether they'll manage to release the product by a specific date. If they realize they're behind in schedule, they can inform users and stakeholders about the delay. Or, if not, they can reduce the scope of work to release the product on time. 

What Are the Benefits?

  • You can check how quickly your team is working through the backlog.
  • You can gain insight into how added and removed work affects your team's progress.
  • Make predictions on how many sprints it will take for your team to complete the work.

How Do You Measure It?

Release burndown is measured using a chart that's similar to the sprint breakdown chart. The difference is that now, the horizontal axis represents the sprints, and the vertical axis represents the remaining work (days, hours, or story points). 

For example, let's look at the picture below. It's a Jira release burndown chart. You can see the team has initially set four sprints and 43 story points. Over those four sprints, the team has reduced the number of stories from 43 to 26. The team has also predicted that the release of the product will take seven more sprints, resulting in 11 in total. 

Jira Release Burndown Chart Measuring KPIs
Image source: Jira Release Burndown Chart

Cycle Time

What is Cycle Time? 

Cycle time measures how much time the team spends working on a task. Cycle time charts are used by Scrum Masters and Product Owners to control the efficiency of the development process.

What Are the Benefits?

  • It provides information about the overall performance of the team.
  • It allows for estimating the completion of future tasks.
  • You can notice any bottlenecks and slowdowns in the workflow. 

How Do You Measure It?

The cycle time equals the end date minus the start date. For example, if the team starts work on December 1 and finishes on December 10, then the cycle time is nine days. 

If the team starts work on December 1 and finishes the task that same day, then your cycle time won't be zero but one. For projects that begin and end on the same day, the cycle time equals the end date minus the start date +1. 

You can substitute days with weeks, hours, or even sprints.

Consider using cycle time charts to visualize your workflow. These charts show how long an issue took to complete vs. the day of completion.

For example, let's look at the chart below. On the x-axis, you can see the date when the task was closed, and on the y-axis, you can see the time spent. The green circles are tasks. A solid circle indicates a cluster of issues, while an open circle indicates a single issue. If you're using a tool like Jira, you can see the key of the task, its code, and the lead time by running your mouse over the circle. The red line represents the average cycle time, and the blue line represents the rolling average cycle time. 

The end goal is for the team to have consistent cycle times for work items that have similar story point values. Lower values mean that the team is working efficiently, while higher values may indicate bottlenecks in the working process.  

Jira Cycle Time Chart Measuring KPIs
Image source: Jira Cycle Time Chart 

Team Velocity

What is Team Velocity?

Velocity measures the amount of work a team completes during a sprint. The amount of work is usually measured in story points or hours. 

Product owners use velocity to calculate how quickly a team can work through the backlog. The velocity index is unique for each team, and you shouldn't compare velocity across teams.

For example, let's say that you want to complete 300 story points in the backlog. You know that the development team, on average, completes around 50 story points per iteration. With that information at hand, you can predict that the team will need six iterations to complete the required work.  

What Are the Benefits?

  • It's very useful for forecasting.
  • It can help plan future sprints.
  • It can help you understand if the team is blocked or if your process changes are working.

How Do You Measure It?

If you have a stable team in place, you'll manage to establish an average velocity by measuring at least 5-7 sprints. If your usual sprint is weekly, and the team completes 250 story points over a period of five weeks, then your average velocity rate is 50 story points per week. 

Let's look at the photo below. The blue bars represent commitment, and the green ones represent the actual work completed. In sprint number 1, the team planned 16 story points and completed 16 story points. This indicates that their estimations were correct. However, in the second sprint, the team planned 19 story points but only completed 12. This suggests that next time, they should reduce their plan. 

An inconsistent flow is an indicator that you have problems in the development and need to make changes.

Jira Velocity Chart ; Team Velocity ; Measuring KPIs
Image source: Jira Velocity Chart

Cumulative Flow

What is Cumulative Flow?

Cumulative flow visualizes the status of your tickets over a period of time. It shows the shift of your tickets from one status to another as your project progresses. 

What Are the Benefits?

  • It's useful for identifying bottlenecks.
  • Helps teams make sure the flow of work is consistent.
  • It shows you how stable your workflow.
  • It helps you understand how you can make your process more predictable.

How Do You Measure It?

The easiest way to measure cumulative workflow is by using charts. They visualize the three most important software engineering metrics of your flow, including cycle time, throughput, and work in progress. 

Let's look at the chart below. The horizontal x-axis indicates the time, while the vertical y-axis indicates the work items. The different colors represent the various workflow states. If the bands are progressing in parallel, it means that your throughput is stable. It indicates that the number of new tasks entering your workflow is the same as the number of those that are leaving it.

If a band is rapidly narrowing, it means that you’ve got more capacity than you need. You should relocate the capacity to optimize the flow.

If a band is rapidly widening, it means that more cards are entering the corresponding stage than there are assignments that are leaving it.

Kanbanize Cumulative Workflow Chart
Image source: Kanbanize Cumulative Workflow Chart

Summing Up

Tracking the software engineering metrics outlined above can lead to a successful outcome of the product development process. You'll manage to eventually stop second-guessing the progress of your project and gain a detailed insight into each stage of the development lifecycle. 

If you want to put an end to the vicious circle of low-quality products, missed deadlines, and code failures, start implementing them today. You’ll manage to release a top-grade product with no accompanying risks.