A practical guide for measuring your R&D
Introduction
Measurement has become a standard requirement in management. Most companies today have a set of metrics for different focus areas such as sales growth rate, customer satisfaction, employee satisfaction, ability to execute and many more.
For R&D, metrics can help track quality, efficiency and execution so it’s really important to implement them.
Designing metrics can be challenging, balancing usefulness with cost-effectiveness. This sometimes leads R&D managers to avoid them altogether.
In this article I am covering design principles for creating useful metrics for R&D including some real-life and concrete examples. After reading this article every R&D manager should be able to implement a small set of metrics that are both useful and easy to adopt.
Characteristics of Good Metrics
Start with Goals
Like many other things in life it’s a good idea to define goals before jumping to metrics. In general, the main goal of metrics is to be able to identify trends and lock down on areas for improvement. This is very general however. You need to be more precise in defining what it is that you want to excel in. For example, you might want to have a measurement of your product quality or the efficiency of the development process. Some goals can be derived from the company strategy. For example, if your company wins market share by duplicating capabilities between verticals with slight adjustments, then R&D should excel in doing that so this can be a good choice for a? goal.?
After you decide on a goal, come up with KPIs for this goal that can indicate if you do well achieving it. For example, if your goal is to have an efficient development process, it would make sense to require a short average build time. You should define “short” numerically to keep everyone in agreement on whether a measured KPI is in the good range. You can also define multiple levels such as “Bad = >15 min”, “Acceptable = 5min - 15min”, “Excellent < 5min”. For some metrics you might not know what number is good but you can get a sense for it after experimenting for some time by comparing performance of different teams, examining the variance, etc. It’s also recommended to use benchmarks when they are available.
Start with no more than three goals in the beginning and design metrics that you think help you measure accordingly. Each of the goals can possibly be covered by multiple metrics. Examine over time whether the metrics provide reliable description of how well you achieve your goal. Consult with the development teams and get their feedback. Adjust, until you're satisfied and only then add more metrics. Check out the “Real Life Examples” section to get end-to-end examples of how it works.
Metrics Drive Behavior
Metrics are essentially success criteria so by applying them you define what success looks like. Your employees don’t want to fail so they will try to be or appear successful given the success criteria. While metrics can incentivize desired behavior, they can also lead to unintended consequences. To demonstrate that I’d like to give you an example from personal experience. At one of the companies I worked for, developers were measured for the number of bugs assigned to them. At the same time, testers were measured for the number of times a bug they opened was eventually classified as “not a bug”. The idea behind these measurements is clear and at first impression seems sensible. In order to speed up development, developers should do their best to not throw code “over the fence” without testing. Similarly, testers should make sure that they only report real bugs. The impact of these metrics on R&D however was counter productive. Every new reported bug ignited negotiation: is it really a bug? Maybe we can classify this as an enhancement? Maybe it’s someone else’s bug? And so on… On one side, the developer was reluctant to admit of a bug and the tester was reluctant to admit it was inaccurately reported. You can imagine how much time was lost and the amount of frustration on both ends due to these metrics that aimed at increasing efficiency.
The lesson from this story is that you need to think about the behavior that a metric can lead to and try to avoid unintended consequences. Hopefully you hire people that want to be successful and so my recommendation is that you use metrics that help them steer towards success. Metrics are best suited for measuring progress, not individual evaluation
Objective Metrics are Better
It’s better to have metrics that do not depend on point of view or on any arbitrary decision. This is the reason that Story Points are not considered a good metric for productivity. Story points are used for planning purposes. If you start using them as a productivity metric you will most likely experience a Story Point Inflation and your productivity meter will rise high with no correlation to productivity increase.
Real Life Examples
In this section I will cover several common goals and suggest good metrics for them. As mentioned above, we start with goals: we want to achieve a high quality product, an efficient development process and productive teams. How can we measure these??
Product Quality
Measuring product quality is a very common requirement and there are many possible metrics. For brevity, I’ll discuss three here.
领英推荐
Development Process Efficiency
There are many potential indicators of development process efficiency and you should focus on areas that benefit your organization. For example, if you plan to increase headcount, you can measure the time it takes to get a new employee up to speed and try to reduce it. If you have pains in testing or in building time you can focus on measuring in these areas. Here are some examples of metrics that you can use or get inspiration from them.?
Development Team Productivity
This is the holy grail of metrics but because it is tricky, managers that choose to start with implementing productivity metrics sometimes give up metrics altogether. The problem with measuring productivity is lack of a valid reference to compare to. Whatever your team is working on is unique and not comparable with any other work done by any other team ever. So, what can you measure and what can you compare your measurement to if it’s not comparable?
Here are two complementary approaches to measuring development team productivity. I recommend using both of them jointly.
Make Metrics Visible and Present
If you decide to implement metrics, employees need to have easy access to them and they should be continuously in discussion.
Create dashboards that are accessible via browser. Hang screens presenting important metrics and status so that people can converse about them and take actions. By doing that you raise awareness to the existence of metrics and you remind people what success means in the organization. For this reason it is important to not overwhelm with metrics. Make it simple and easy to align with.
Data for the KPIs can come from various systems and tools .For example, build times can be taken from CI/CD tools, acceptance rate and aging bugs can be taken from your project management tool, build times on developers’ development environment can be measured and reported to a central location automatically as part of the build procedure. If you want to get high quality data for your metrics you’d need to invest in order to record this data. This is yet another reason that you should keep it simple and at every point in time settle for not too many metrics.
Reflect
Metrics are not useful unless you take time to reflect on them. You should decide how, when and in what forum. Some metrics can be discussed during weekly meetings with managers while others can be discussed quarterly. There are several things to consider during these meetings:
Summary
Metrics are a great tool for steering improvements. Make sure to choose your metrics smartly so that they serve organizational goals. Insert metrics into the development process and make them visible, accessible and useful. From time to time reflect on your metrics and decide what actions to take.
I’d be happy to know if you found this article useful and if there are any insights on metrics that you learned over time and care to share.