10 Engineering KPIs Technical Leaders Should Know Part 1: Investment
It’s 2021 and the importance of data-driven decision making across every function of modern organizations cannot be overstated. For modern Engineering leaders, studies show that better measurement will foster alignment with product and go-to-market teams, improve the overall product experience and value for customers, and speed time to market. But exactly which data should you pay attention to? What metrics should you be tracking as your team’s key performance indicators (KPIs)?
In this series of posts, we will present some of the engineering KPIs that can help technical leaders answer these questions. First we’ll talk about KPIs for understanding investment and capacity.
Engineering KPIs for Investment & Capacity
There’s a lot of hype out there around shipping software faster and faster, and there’s no doubt in 2021 speed to market is important. But shipping code quickly is not helpful if you don’t know it’s the right feature to be working on to begin with. The engineering team is for many organizations the largest investment your company is making, so it’s important to ensure that that investment is being pointed in the right direction. It’s also important to recognize that this investment is not limitless, and avoid the trap of overcommitting your engineering resources at the expense of spreading the focus too thin. At the end of the day, engineering is a zero-sum game. Given the same number of engineers and dollars, the team cannot build everything, so prioritizing is paramount. Understanding the overall capacity of your engineering teams and mapping how the work they do breaks down by logical categories or allocations will help you ensure your organization is providing maximal value to your company and your customers.
Two KPIs that will help you do that are: Category or Investment Breakdowns, also called Allocations, and Ramp Time.
In order to inform decisions around investing in new products or capabilities, you must first understand how your team’s energy is split right now, and how much capacity they have to take on new projects. The priorities of the engineering team should align with those of your company. Allocations is a way of visualizing how close your team is to that by breaking down the work they do across axes that matter to the business. Most teams will want to track the category of engineering investments they are making. That way they can see how much work is currently going into developing new features vs. managing infrastructure or tech debt vs. fixing bugs or customer support issues, etc. If the team is spending most of its time tracking down bug fixes or managing maintenance work, that should inform your product and engineering strategies to either manage down the amount of time on these categories and/or manage the expectations of how much new feature work can feasibly be done with the current team.
There are many ways to split these allocations. Splitting by product line, you may uncover legacy products that consume outsized amounts of effort. Splitting by market segment, you may decide to focus more time and attention on enterprise features rather than those built for SMB customers, or vice versa. Other common allocations include Product Themes, Business Objectives, Projects, and Releases.
How to Measure Allocations
Measuring Allocations can be quite cumbersome, but it doesn’t have to be. Some teams quantify work done by each engineer in simple spreadsheets, either by counting something like story points, by filling out time cards (we don’t suggest that!) or by tracking actual code work done by aggregating PRs, Commits and the like and associating that to projects logged in an issue tracking system like Jira. Unless these teams are diligent about keeping these records and tagging the work with the appropriate category, they represent broad estimates at best. Engineering Management Platforms can do this work for you, automatically ingesting signals from SCM tools, Issue Tracking systems, and any strategic planning or roadmapping tools to visualize your chosen allocations on an ongoing basis and in an accurate manner.
Hiring & Ramp Time
It’s no mystery why understanding your team’s progress with regards to hiring is important. You simply cannot plan engineering work, allocation, and delivery without first knowing the size and composition of your team. But as we all know hiring is a long and expensive process, and it does not always go according to plan, so tracking this will help you adjust plans and expectations accordingly.
Ramp time might be a surprising metric to see on this list, but it’s one that is often overlooked, and it can have a big impact on the capacity of your team, especially in growth mode as you hire. No one starts a new job and can be completely productive right away. If you’ve linked hiring to the ability to build and deliver a new product or feature (and most of us do), it’s important to know approximately how long to expect new hires will still need to ramp after hiring is done. Bake this into your assumptions during product and roadmap conversations, for operational planning sessions, and as you plan throughout the year.
How to Measure Ramp Time
Many teams put together a measure of onboarding progress. But unless you’re tracking performance of your engineers and have a means for comparison, it can be hard to estimate how long it might take for a certain type of engineer to fully ramp. Benchmarking productivity metrics across similar role types can help you estimate whether new hires are fully ramped, and how long you should typically expect that to take.
While the metrics discussed here do not represent an exhaustive list of KPIs to track, if you can track all of them, you’ll be well on your way with the data you need to provide continuous value to your customers and your company. In our next post, we’ll dive into KPIs for measuring quality.