Value Drivers & Objective Metrics
to Improve Your Software Development

Run-through

By GITENTIAL TEAM

Software engineering managers sometimes have questions like what are the most important software development KPIs to measure? And, how can I measure them? These questions need to be answered alongside a long list of challenges software development needs to face today – rapid technology advancement, IT skills shortages, turnover issues, growing customer demand, budgets, and time limitations.  We have some ideas to help you get to the heart of these questions.

C-level decision-makers from software development companies often focus mostly on three things. These typicaly relate directly to the company’s profitability and reputation.

  • How much can we produce?
  • How fast can we produce it?
  • What’s the quality of what we’re producing?

The best way DevOps and software engineering managers can tackle “the bottom line” is by continuously focusing on your team’s ongoing development and improvement.

What is the key here?
Have a clear understanding of the progress and the bottlenecks of your developer teams. Be able to identify their strengths and areas needing help.

Well, that sounds very general, but how can I do that? You may ask. Of course, you need to know what to measure, identify metrics and KPIs, have benchmarks, and analyze. Then repeat. 

But, what metrics to use? lik

The Four Drivers of Software Development

First we have identified 4 main value drivers of successful software development:

  • Speed
  • Quality
  • Efficiency
  • Collaboration

Each of these is associated with several core metrics to make it easier to see how you’re team is faring. We’ve added many more metrics to dig deeper into your team’s performance so you can see it from every angle along. We’ve also adding benchmarking so you can compare performance on a developer, team, project, company, and industry-wide basis.

We’ll discuss each driver with a quick look at their corresponding metrics.

Software development value driver framework

• Lead time
• Cycle time
• Velocity
• # of active days
• Coding hours

• Churn
• Technology churn
• Test volume
• Bug fixing rate

• Code efficiency
• Code complexity
• Waste
• # of PRs vs. multiple review cycles

• Responsiveness
• Co-authoring
• Review coverage
• Unreviewed PRs

Objective software development KPIs

Software Development Driver #1 - SPEED

The first pillar is about speed, but it’s not only about that. It is speed in the right direction. The goal is to improve your development speed while maintaining and increasing the quality of your team’s work. Improving speed can be achieved by:

PEOPLE – Building a culture of continuous improvement and facilitating skill mastery.
PROCESSES – Identifying productivity issues and key success indicators.
TECHNOLOGY – Innovating with new tools and automating where possible.

The 5 Main Metrics of Speed

Lead time – In Agile, lead time measures the time it takes for an assignment first entering the queue until the time it takes to complete it, often tracked in project management software like Jira. Lead Time includes cycle time.

Cycle time – time spend from code commit till PR merged.

Velocity – As used in coding, velocity measures the Lines of Code produced in a period of time. Velocity is a useful metric especially when tracked on a long-term basis for providing an aggregate across many different tasks or projects. Knowing your each developer’s “typical velocity” is a factor, for example, in how much time to allocate for code reviews

# of active days – The number of days in which a developer is involved with a project in writing, reviewing, or testing code; or other project tasks.

Coding hours – Estimated time spent by author on writing the inlier lines by a median speed derived from his/her overall commits (median of speeds for all commits).

Software Development Driver #2 - QUALITY

Speed trumps quality on the basis that the project must eventually be released. While it might be possible to squish every bug, you don’t always have the time for it. The key to improving quality is identifying hot spots to focus on what matters. Correlate code quality information against areas of high churn so you can focus your efforts on files with inadequate test coverage or greater maintainability issues. For more see Gitential’s Guide to the Cost of Fixing Bugs

The 4 Main Metrics of Quality

Churn – Measures the additions, deletions, and modifications to lines of code (LOC) during a period of time. The goal is to steadily decrease code churn as your code evolves and gets closer to release. It’s the inverse of efficiency. Not all Code Churn is bad, but deviations from expectations can indicate a greater risk for defects.

Technology churn – the churn rate per technology enables evaluation of best-suited technologies for a given project timeline and also helps identify the company’s technology and knowledge gaps.

Test volume – A measurement of the amount of code that has been tested vs. implemented. A lack of testing can reflect in higher code churn and long-term quality issues.

Bug fixing rate – it is defined as the ratio of the fixed bugs to the closed bugs.

Software Development Driver #3 - EFFICIENCY

Efficiency is largely about working smarter, its productivity with precision – getting things right the first time. This begins when drawing up project requirements but continues in defining and implementing each task. The goal is to spot developer inefficiency which can be the result of wide-ranging root causes. A developer may be rusty or have little experience with a specific programming language or requirements of a software component. Developers may be overworked, have personal issues, or health problems.

Efficiency metrics let software engineering managers keep an eye on the health of their team members – and their projects. Engineering managers are… doctors. 

The 4 Main Metrics of Efficiency

Code efficiency – The percentage of productive code free from defects.

Code complexity – Ties into McCabe Cyclomatic Complexity (MCC) as a measurement of the number of paths through a portion of code. This is typically evaluated by a Control-Flow Graph (CFG), “a representation, using graphic notation, of all paths that might be traversed through a program during its execution.” More paths equate to more complexity and a tendency for more defects making the code costlier to maintain.

Waste – The number of hours “lost” due to unproductive work including errors and code churn.

# of PRs vs. multiple review cycles – the time while PRs are closed but not merged. 

 

Software Development Driver #4 - COLLABORATION

Team collaboration metrics provide engineering managers with an overview of how their team is engaging with code reviews. These metrics help them identify knowledge silos, hot spot code, and where there may be obstacles to their next release. A variety of additional metrics exist allowing managers to dig deeper if and when they find issues in these main collaboration metrics:

The 4 Main Metrics of Collaboration

Responsiveness – is the average time it takes to respond to a comment with either another comment or a code revision.

Co-authoring – dynamics and productivity of co-authorship; tracks developer to developer interaction.

Review Coverage – Reflects the portion of pull requests that have been reviewed by someone other than the developer who actually wrote/submitted the code.

Unreviewed PRs – The percentage of pull requests that have been added to the main code branch without any form of review. These PRs deserve extra attention and review whenever they’re discovered.

AI for Continuous Team Development

Gitential is upgrading its software development analytics into an AI-powered Digital Assistant. Our intention is to provide executives, BI analysts, engineering managers, and other stakeholders with data-driven “Insights On-Demand.” Ask a question and receive the data, a summary, and your Next Best Actions to improve your developer, team and project KPIs. AI of course only serves as an advisor, you remain the decision-maker. 

Here are just some of the ways Gitential’s AI will be able to help you:

Boost Team Performance

See by org/project/team/developer level where the greatest improvements can be made - and how to make them.

Optimize Resource Allocation

Identify the best combination of developers for a project - like best Python or C++ developers with additional metrics like Pull Request Commenting rates or lowest defect density.

Enable More Accurate Planning and Budgeting

Use historical data to compare with project requirements and the relative skill of developers in specific languages. Help to assess whether to outsource for a Swift specialist or provide training for your best Objective-C developer.

Automate Time-Consuming Tasks

Complexity of these calculations increase by team size. Hours of research are streamlined into minutes.

Improve Delivery Processes

Where are your bottlenecks - and actionable insights on how to fix them.

Better Align Teams with Company Objectives

Know where your team is at compared to strategic interests - Delivery speed? Quality? Budget?

Real-Time Awareness

Receive alerts 24-7-365 whenever key indicators exceed the standards you set.

An Example of How Gitential’s AI and Next Best Actions Will Work:

Next Best Actions provide an extra layer of training for individual contributors in making the leap to engineering manager.

Article updated: February 27, 2022

November 2022 Release Notes

Here’s what’s new in our November 2022 Release Notes:

* Improved data exports for our custom solutions;
* Stabilized backend environment for smoother workspace data refreshes;
* Flexible pagination;

Read More »

Did you like our content?

Spread the word

Subscribe to Our Newsletter

Don't miss our latest updates.
All About Software Engineering Best Practices, Productivity Measurement, Performance Analytics, Software Team Management and more.

Did you like our content?

Spread the word

Subscribe to Our Newsletter

Don't miss our latest updates. All About Software Engineering Best Practices, Productivity Measurement, Performance Analytics, Software Team Management and more.