by Anna Frazzetto

4 software development KPIs that matter today

Opinion
27 Aug 2020
IT LeadershipSoftware Development

In today’s Agile-driven world, traditional KPIs are not the best measures of software development productivity. Here are redefined metrics for assessing team performance, output, and morale.

leading tech bench mark measuring success measure tape
Credit: Getty Images

If only measuring software development productivity and tracking team performance were as simple as counting lines of code or hours worked. But the efficiency of software engineering teams, as with any technical or creative work, cannot be measured in quantity alone. The quality of the work and the collaboration of the team impact productivity in immediate and lasting ways. Add to that the iterative, evolving nature of Agile, and software development productivity becomes too fluid and interconnected to measure with traditional key performance indicators (KPIs).

The solution is to rethink KPIs to fit the forward momentum, broadened teams and required agility that define most software development today. If counting lines of code doesn’t give us a true measure of productivity, what can we count in software development? If hours clocked provides little insight into how far a scrum has advanced, what is the right measure of progress?

Consider these KPI alternatives as ways to better understand and measure the progress and efficacy of software teams, as well as the achieve the ultimate KPI goal of constant improvement at an acceptable and predictable pace throughout the product lifespan.

If only measuring software development productivity and tracking team performance were as simple as counting lines of code or hours worked. But the efficiency of software engineering teams, as with any technical or creative work, cannot be measured in quantity alone. The quality of the work and the collaboration of the team impact productivity in immediate and lasting ways. Add to that the iterative, evolving nature of Agile, and software development productivity becomes too fluid and interconnected to measure with traditional key performance indicators (KPIs).

The solution is to rethink KPIs to fit the forward momentum, broadened teams and required agility that define most software development today. If counting lines of code doesn’t give us a true measure of productivity, what can we count in software development? If hours clocked provides little insight into how far a scrum has advanced, what is the right measure of progress?

Consider these KPI alternatives as ways to better understand and measure the progress and efficacy of software teams, as well as the achieve the ultimate KPI goal of constant improvement at an acceptable and predictable pace throughout the product lifespan.

Problem solving

Software development today is a both a highly strategic and highly creative process. Each iteration brings new insights, considerations, and requests from customers. How resourcefully are software teams solving these problems?

This is a KPI that can be assessed through open/close rates: how often are issues opened and how effectively are software development teams managing them? This is not a quantity measure to gauge how many or how few production issues the team opens. The metric should be about the greater quality trend: how efficiently is the team addressing issues? If issues stay open for long durations, the team is struggling to problem solve. If issues (many or few) are efficiently dealt with as they arise, the team is scoring high on creative problem solving, which means they are succeeding in their collaboration. 

Velocity

While Agile projects can be more difficult to predict when it comes to budgets and timelines, teams are still moving toward critical end goals. Understanding how quickly they are advancing on those goals is an important measure of productivity. Milestones fitted to Waterfall-like timelines don’t work in the flexible, iterative world of Agile, but it’s still possible to measure progress and its velocity. In Agile, velocity is assessed with every sprint by seeing how many user stories are completed by the team. It’s not about the number of tasks completed by individuals but rather by user stories (features that users have expressed as needs/wants) completed by the team. In measuring user stories completed in each sprint, you have a rate that shows how fast the software development team is moving toward completion and release dates.

Workflow stability

How stable is the software team’s workflow? It’s a KPI that matters because stability of workflow helps to increase predictability. If workflows across sprints are erratic, predicting next steps and final delivery becomes even harder.  Steady workflows show a team and project on track and able to manage workload.

Stability of workflow is not one metric, but a KPI assessed by looking at several measures together to see if there is constancy in how the team is working, such as:

  • Work in progress — the number of items started but not completed
  • Cycle time — how long a task takes from start to completion
  • Throughput — work items completed/unit of time

Analyzing these workflow measures together provides a holistic picture of how the team is functioning. If teams are working with steadiness, they are more reliable in their output and progress and release forecasts are more dependable.

Team morale

Although few think it as metric to consider, morale is a factor in every KPI because it affects the effort and creativity of each team member. If team members are proud of their work, feel valued and informed, are empowered to take action, and see purpose in the project, they will be better contributors. And they will build better, more innovative software.

Businesses can measure morale simply by checking in with their teams. For example, surveys for each sprint can probe how employees feel about communications, teamwork, stress levels, and even the amount of pride and fun they feel in their work. If pride in their work is low over several sprints, it’s a chance to dig deeper. Why are team members frustrated? Is there a quality, stress or management issue to address? Getting a broader picture of team morale opens the door to important conversations. Those conversations can lead to the kind of informed actions that improve team engagement and collaboration.

Morale, like all of these KPIs, is not a simple, one-step metric. It requires a broader, collective assessment of trends over a duration of time. Like Agile itself, KPIs in software development get better and more informed with each iterative assessment. The good news is that rather than starting off strong and ending with a stressed and exhausted team, the right KPIs can help balance the highs and lows.