Trick question: If you drive with your eyes closed, how do you know where you are at and how far you have come? The Answer is, you have absolutely no idea, but you will notice when you have a big crash. In the case of software development it is similar: If you aren’t using KPIs you don’t know whether your team is on track or took a wrong turn. Truth is without Key Performance Indicators reaching your company’s goal will be an extremely tricky task. By setting up KPIs your product will improve and you finally have the data you need to plan your deadlines.
Using KPIs will not only have benefits for development team managers, it also provides many upsides to their developers. In general productive people are happier and are working more effectively. By using KPIs, managers finally understand what their developers are up to and can give meaningful feedback to them. This will help the developer improve in many different ways. By Using KPIs managers can show their developers which impact they are having and can translate this into what value they are adding to the company. Instant motivation booster.
So now that we’ve established, that KPIs are a neat thing to use, let’s have a look at three of the most important KPIs in software development:
The first KPI that we are going to have a look at is cycle time. This KPI measures the time it took from starting a project to delivering this project. In software terms, it’s about the time from first commit to production release. It’s actually a concept borrowed from manufacturing.
The reason why cycle time is important is quite obvious: Since time is money, getting a product released faster will mean more revenue. Shorter cycle times lead to a higher customer renewal rate and a happy efficient development organization. Sounds great right? Absolutely. Only problem here is that measuring the cycle time manually can be a very time-consuming task. But, you’re in luck and already on the right website. Jonny Git measures cycle time of all your projects automatically, helping you to improve your entire organization.
The key with cycle time is to measure it as soon as possible and establish a baseline. Once this is done it becomes incredibly easy to find the outliers. For example if the usual review time is 2 days, but suddenly jumped up to 8 days, you know there’s something wrong. Without knowing the cycle time of all your projects, you wouldn’t know where to look for the lost momentum, but with the help of this powerful KPI you know exactly where to put your focus. If you want to read more about why cycle time is one of the most important KPI’s, check out this article.
Now to the second KPI, the Pull Requests. The term Pull Requests comes from git, where the “git pull” command is used to merge different repositories in your local one. A pull request occurs when a developer asks for changes committed to an external repository to be considered for inclusion in a project’s main repository. So, in software development teams a Pull Request is the preferred way of submitting a contribution.
How does this KPI help the manager? First managers should never use just the number of Pull requests to assess an individual. Some lines of code will be done in a few minutes, more complex ones can take up to a week. It’s quality over quantity. You don’t want your developers to simply spam out as many Pull Requests as possible. Instead use this KPI to accurately measure the process your team makes.
In order to make the perfect use of Pull Requests you also need to consider their size and that’s the third KPI. We have already established that a higher number of Pull Request is not necessarily a sign of great work. On the other hand Pull Requests also shouldn’t be too big. It’s a classic optimization problem. You have costs associated with the reviewing process, but also with having the Pull Request being a work in progress.
However, the optimal size of a Pull Request might be smaller than you think. The Problem with huge Pull Requests is that they are more likely to have errors in, which will result in a long review and fixing process. Failed Pull Requests are just annoying. What you want is to merge new code into your production as soon as possible to create some kind of flow. Therefore, you should keep the Pull Requests small but effective. Try out a little bit to find the perfect size that benefits your organization.
KPIs are definitely something that every manager should implement into his organization in order to improve and stay on track. After all driving without vision won’t get you to your destination.