Is it the holy grail or a silver bullet? It might be, but when Kingland was searching for ways to accurately measure the productivity of its software engineers, the company's quest led to software from Pluralsight - an analytics dashboard for code projects.
In the fall of 2018, we wanted to understand our productivity levels with different types of work. We were trying to understand the bottlenecks in our engineering process and were essentially trying to answer the age-old question, "what does productivity look like in an engineering atmosphere?"
Kingland wanted to steer clear of measures such as lines of code completed as it's an incomplete productivity measure. For example, engineers that produce more code might be inefficient because the code may need multiple rewrites. As a comparison, we wouldn't pay famous artists like van Gogh, Picasso or Monet by the brushstroke. And when quality code comes together, it can feel like a masterpiece to software engineers.
Discounting a focus on pure quantity as a measure, let's start with what we knew about our productivity before the journey started. We struggled to find a comprehensive set of metrics to evaluate our engineers. We knew it needed to go beyond just lines of code and wanted the end result to be of high value to our clients.
Measuring Impact and Productivity
For us, productivity is a measure of how much value we can provide to a customer per hour. Basically, if I can code faster, I can deliver more value in the same amount of time. For example, reducing the amount of rework - time spent on defects as compared to the total time spent on a release - helps bring value to customers in the way of delivering on time. And our speed in delivering solutions has increased. In less than 12 months, we've been able to cut down our rework percentage by half. QC and improved review processes played an integral role in this process by catching defects earlier, and we were able to include automation in the review process.
Another benefit to the customer is an ability to write code correctly the first time. Nearly 80 percent of the code our engineers write is good the first time. That's a positive efficiency metric and helps us provide quality solutions on time and within budget for clients. How do we compare against our peers? The industry average is 70 percent, according to Pluralsight.
We discovered that we could automate the process of reviewing the structure of code by simply writing rules and alerting our engineers and reviewers if there was code in violation. This allows us to spend more time focusing on how the code will function according to how it will be used. So not only are we coding smarter, we're coding faster.
A critical indicator to productivity would be our impact. Impact is a way to measure the 'bigness' of code changes that are happening, in a way that goes beyond simplistic measurements like lines of code, according to Pluralsight.
We want to know how many times per day an engineer saves code to the repository- a metric called commits. The team has increased its number of commits by more than 30 percent from when we started measuring this activity in 2018. As our engineers improve, they commit higher quality code, require fewer rewrites, and allow Kingland software solutions to reach our clients faster.
We understand there are countless ways to measure productivity. As a data-obsessed and process-driven company, an important part of our ability to deliver quality solutions starts with coding. Discovering real productivity metrics allows us to design quality code, faster, and meet client requirements.