Market Leader in Development Analytics (G2 Crowd’s Winter, Summer & Spring 2022)
Backed by Y Combinator experience featured in TechCrunch
New Case Study: Learn how WOM leverage Waydev
Remote work? Learn how to gain visibility into your engineering teams and accelerate your product velocity.
To track, measure and evaluate software engineers’ performance as an engineering manager, you need to understand whether it has achieved the desired results. By focusing on that, you will increase developer efficiency and satisfaction, but also achieve business goals and generate substantial profits in the long run.
For that, you need to look to engineering KPIs that answer important questions, like: What metrics should we use for each goal? How fast are we moving? What can we improve?
But there is an endless list to choose from. How do you know which ones to set as the best metrics and KPIs for your engineering team?
Measuring and evaluating the work used to be difficult before git analytics came up with a data-driven approach to engineering management. But Waydev, as a complete Development Analytics tool, has the focus evenly distributed across code-level, code collaboration, tickets, and other actionable metrics.
In this article, you get a crystal-clear perspective on what engineering KPIs and metrics are relevant for your team performance. Bonus: plenty of KPIs and metrics examples that you can set and track!
Ready to improve your engineers’ performance?
A key performance indicator (KPI) is a metric or a set of metrics. But not every metric is a KPI. A metric measures processes in a period of time, while a KPI tracks whether you meet organizational objectives.
As a result, software engineering KPIs are measurable values based on certain sets of metrics that can show the progress of your team towards the company’s goals – since engineering metrics are business metrics, too.
Since businesses are so different, there’s no magic bullet when it comes to the right metrics and KPIs. Instead, these metrics need to be set depending on clear and specific expectations, goals and requirements right from the start. Otherwise, they are useless.
With Waydev, you have an unbiased, frictionless way to keep a pulse on developer performance based on key performance indicators in software development.
Then how do you start setting them up? Well, the first step in adding metrics into an engineering organization is to look at baseline data.
This is done to help you understand how teams and engineers are working individually and collaboratively. Using these as a general guide can allow leaders to identify and work toward fixing potential issues with processes, avoid burnout, or persistent churn. And Waydev is of great help here, by acting as an engineering KPI dashboard that you can customize according yo your team’s specific needs and goals.
Here are a few aspects you should pay attention to, alongside more examples of valuable KPIs for engineering teams today.
Each company decides on their own sets of performance metrics depending on their business objectives. Yet, there are several process and project metrics that have to be part of your engineering management and evaluation – besides project costs and resource planning.
By taking a look at these KPIs on a regular basis, you can find out if you need to hire new talent, improve team collaboration, optimize processes, and save costs.
Let’s take a look at a few examples of software KPIs and metrics relevant for each: a project timeline overview, code cycle time, code churn and engineer’s efficiency.
Project Timeline is extremely helpful in seeing how work focus and volume modify over time.
A KPI such as the delivery of a project is based on agile metrics and helps you and your team quickly see signals of process blockers affecting the health of your team’s software development during conversations in your retrospectives.
You can see a Project Timeline based on these metrics:
This specific set of metrics comes in handy to evaluate how you are doing relative to other teams, industry benchmarks, or your own trends.
Cycle Time indicates how fast code goes from a developer’s workstation to production.
Evaluating this essential KPI in engineering departments helps you to identify process bottlenecks and accelerate time to market.
You can do that by tracking and evaluating these types of metrics to see the bigger picture:
Studies show that measuring and improving the cycle time enable organizations to innovate at a faster pace, while improving their teams’ morale and a sense of ownership.
Churn is code rewritten or deleted in the first 21 days after being written, but it can be accurate only as a context-based metric.
A certain amount of churn should be expected from every developer. But unusual spikes can be an indicator that an engineer is stuck, and high churn may also be an indication of other problems like inadequate specs or indecisive stakeholders.
Remember that churn is not necessarily bad – it heavily depends on context. Rework and testing are parts of the software development process, but at the same time you have to pay attention to extreme values.
Efficiency is a simple KPI that shows the percentage of an engineer’s contributed code that’s productive.
Efficiency generally involves balancing coding output against the code’s longevity and it’s independent of the amount of code written. The higher the efficiency rate, the longer that code is providing business value. When you evaluate this metric, make sure to take a look at Churn as well, because a high churn rate can reduce it.
Waydev features concrete metrics for your daily stand-ups, one-to-one meetings, code review, performance reviews, and benchmarking your stats with the industry.
The quality of the work done is the most important but, at the same time, the most challenging indicator of performance to evaluate.
Engineers who value quality and are genuinely involved in the work process and are likely to show better results. This involvement can be a quality criterion.
Developer productivity isn’t only focusing on the quantitative part of the software being developed; this isn’t the solution. Engineers writing additional lines of code to already bloated software only contribute to increased maintainability challenges. You need to know if your engineers are providing qualitative, rather than quantitative work.
Let’s see some examples of engineering KPIs and important metrics for quality work, such as the impact of work delivered by engineers and commit risk.
Impact measures the amplitude of code changes that are happening in a more complex manner than measuring raw lines of code.
This can also be described as the answer to the question: How much cognitive load did the engineer carry when implementing these changes?
Impact is a complex performance KPI as it takes into account these types of metrics:
It comprises multiple data points that we improve on a monthly basis to provide a metric that translates engineers’ output into both business value and cognitive load.
Objectively tracking the percentage of time engineers spend on new features vs. application maintenance helps maintain a proper balance of forwarding progress with long-term code-base stability.
With Waydev, you can measure the amount of work delivered related to legacy refactoring down to the line level. For example, if you have a 100-people engineering department that spends 30% of their time legacy refactoring, that amounts to over $3 million/year spent on paying down technical debt.
And no one wants to introduce technical debt with reopening tickets, bugs spawns, quality errors, and other delays. So when you have data that shows you which engineers are working on this crucial, yet less-flashy work, it’s important to acknowledge their efforts and take them into consideration when you evaluate team performance.
“We use the Impact metric to improve our overall performance and the Risk metric that is very useful when we need to track down regressions caused by new commits” – Nhan Nguyen, Software Engineer at DeskJob about Waydev
Commit Risk is a measure of how likely it is for a particular commit to cause problems. And eliminating risks translates to high-quality, stable code for end-users.
Some of the metrics the Commit Risk is based on are:
We set these KPIs for you in Waydev because we know how important it is to ensure positive outcomes in the long run, for both team and business success.
Think of this as a pattern-matching engine, where our development analytics tool is looking for anomalies that might cause problems, so that you can focus on improving efficiencies, speeding up product development and driving up performance.
We are all focused on helping customers, but mutual assistance within the team is also essential.
Konowe & Associates believes this item is one of the key performance indicators for engineers: “We ask people the question. Who in your department (or company as a whole) was the most responsive and helped you more than others over the past six months?” It turns out this anonymously motivates engineers and allows you to identify real hard workers and not just the favorites of the leadership.”
Willingness to help each other is a crucial element of teamwork. Working on complex tasks together is far more effective than trying to turn mountains alone. This helps you know the right moment to introduce pair programming or encourage engineers to share knowledge.
Here are some examples of KPIs regarding collaboration and responsiveness, such as the code review collaboration, reviewer and submitter metrics, or pull requests cycles.
Review Collaboration enables you to see who shares knowledge. It also provides quantifiable metrics to help you assess the health of your code review workflow.
No one wants to get stuck waiting on others for an answer or a response, and as managers, you want to make sure your team is getting what they need to move their work forward. By understanding how your engineering team works collaboratively, you can ensure a healthy tension between speed and thoroughness in code review.
Submitter metrics quantify how PR submitters are responding to comments, engaging in discussion, and incorporating suggestions, and refer to:
Reviewer Metrics provide a gauge for whether reviewers are providing thoughtful, timely feedback:
You can compare review collaboration evaluations for each sprint, if you want to understand the performance level.
If the average of these metrics is close to 24h, it means that people take a full day to respond, so there is a lot of time spent waiting, and the collaboration that does happen may not be timely enough to be effective.
PR Resolution is another core KPI for engineers that can help you identify the bottlenecks in your pull request cycles, over the course of a sprint.
One of the biggest sources of pain and frustration in the delivery process is when an engineer opens a pull request and then waits for an enormous time before a reviewer takes it.
With these engineering performance metrics, the team can look at outliers, that is, the PRs that took an unusually long time to be resolved and work backward from there to figure out why those PRs, in particular.
Ideally, you can bring the report into retrospectives with a few hypotheses to spark a constructive discussion.
This engineering performance KPI focuses on core cycle metrics, such as:
This KPI can help you see both high-level team-level dynamics and underlying activities that can affect these dynamics, including what causes delays and how long it takes for work to get through the review process to production.
Evaluating collaboration and code review metrics not only support knowledge sharing, but also positive dynamics, a shorter learning curve for juniors, and a good learning environment.
When it comes to evaluating performance, you need the best overview of both team and individual progress.
One basic, yet essential aspect here is to notice both positive and not-so-positive patterns, such as absenteeism or poor attendance, for example.
If someone arrives too late, leaves the workplace for a long time, or takes sick leave without good reason, he does not seek to work at full strength. And poor attendance can be caused by more serious reasons than laziness – lack of motivation, health problems, emotional burnout.
The consequences can affect the entire team. Other engineers have to take on additional responsibilities to compensate for their absence. The situation is worsened if your organization does not have enough software engineers, and people are already processing it.
By dealing with the root of the problem as soon as possible, you protect your engineers from burnout and other performance drops.
Watch turnover rate as well, a lot of dollars in training and knowledge is lost when an engineer decides to go elsewhere. The cost to replace a technical employee such as an engineer could be as much as 1.5 times their annual salary.
You can look at quite a few examples of performance metrics for engineers, such as the time spent on new work, legacy refactoring, or pull requests and comments.
Work type is a set of metrics that shows you the highest types of work an engineer is focused on.
Find out where your engineers’ work focus is. Is it on creating new code, refactoring old code or is it on helping their peers? You can evaluate individual performance, acknowledge efforts or coach engineers when there’s an imbalance in these specific metrics.
For example, high churn rates can tell about an engineer fiddling with code, whereas a high focus on legacy refactoring can tell about engineers that minimize technical debt.
“I love the four code metrics (New work, Legacy, Help others, Churn). It helps to coach engineers, spot when they are stuck. The design is cool too, easy to use.” – Guillaume Daix, Engineering manager at Cubyn, about Waydev
Work Log is a valuable data visualization which offers you a certain level of engineering metrics.
You can use this set of performance metrics to understand the dynamics and patterns in a team, identify bottlenecks at a glance, and increase momentum and deliver faster with clear expectations.
These kind of engineers’ metrics that you can automatically track with Waydev are:
Team Performance is an extremely useful set of metrics that you can customize with Waydev for each engineer.
By evaluating them, you can identify work patterns and progress over time and quickly identify and eliminate blockers.
Such core performance metrics are:
For example, when you look at throughput metrics and compare them over a period of time, you can actually see the impact of adding new people in the team, which can reduce throughput and tell an important story about team coordination.
In order to prepare for evaluation and make an objective software engineer performance review, it is necessary to have a certain standard that you can follow. Such a standard may be the job description or the intended work plan.
View existing job descriptions, documents, records, emails, and any other data that would allow you to conclude the effectiveness of the employee. If you are in the team recently, talk with the tech lead, their colleagues, and, if possible, with the loyal customers with whom they have worked.
Success or failure depends not only on the person but also on the working conditions:
We built the Target feature to uncover opportunities to set measurable goals and targets within our dev analytics app. This way, you can see and track progress to hit all your goals.
If there are clear results, back up data with examples and answering these questions:
If there are no visible results, ask the following questions:
Determine how regularly and effectively the engineer applied his key skills in his work:
Of course, evaluating performance in specific numbers is essential, but it’s equally about people and their unique qualities and skills, which cannot be overlooked.
That is exactly what you can do with our dev analytics tool: it analyzes your codebase, PRs, and tickets, allows customization and offers in-depth visibility of your team to bring out the best in your engineers’ work. See how Waydev works here.
To make all this happen, we’ve been working alongside hundreds of engineering leaders to continuously improve our solution. And we have inside knowledge on what data you need to solve challenges, uncover opportunities and hit all your goals.
So, if you choose to rely on Waydev (as more than 1,000 engineering leaders worldwide did), you can have all the data you need in seconds to be able to:
And, at the end of the day, you have to think what matters the most to engineers, stakeholders and, most importantly, end-users. They are the ones who invest greatly in the software that you build. As long as they’re happy, you’re happy.
Waydev can help by providing more visibility into your engineering teams’ activity, by setting and measuring all the performance KPIs and metrics your team needs.
If you want to find out more about how Waydev can help you, schedule a demo.
Ready to improve your teams' performance?