A look at how to improve productivity through automation, technical debt reduction and real-time code checks.
What is developer productivity and how do you measure it?
Productivity is seen as fundamental to the success of any business: greater output with less input will increase margins. In the development world, the first step to improving developer productivity is measuring it in the first place.
Traditional methods include measuring various input metrics against the correspondent outputs. For example; hours worked or the salary paid to developers against lines of code written, number of commits or pull requests. Today, this approach is seen as reductionist. Development work is more complex and nuanced than simply an equation. A developer who writes many lines of code but delivers no business value is clearly not a productive developer.
A more holistic approach to developer productivity is one that considers the different tasks faced by developers, rather than assuming all developers’ work is the same. For example, certain team members may not produce many lines of code or new features, but they may spend time testing, quality reviewing and remediating.
What are the challenges when measuring developer productivity?
Standardisation across developers is a clear challenge here. How do you measure all members of the development team in the same way when they carry out different tasks? Start by breaking ‘development’ down into each of the different tasks involved and establishing how each individual task could be made more efficient.
How to increase developer productivity?
One solution is automation. Offering pre-configured productivity metrics and automating the manual processes such as code reviews will free up developer time. This time can then be reallocated to writing more code or delivering more functionality.
For instance, technical debt is often associated with productivity. Decreasing the amount of technical debt in the code being written in the first place reduces the remediation time required. This means reducing amount of additional work required once code is reviewed, updated or deployed, such as. best practice standard violations, complex code and a lack of documentation.
There are many ways to solve these challenges. At Quality Clouds our Livecheck functionality offers developers continuous feedback, informing them whether the code they are writing meets their organisation’s best practice standards. The advantage of these real-time code checks is that, the earlier feedback is received, the easier and cheaper it is to incorporate. Detecting and identifying issues as early as possible ensures they can be resolved quickly, without requiring associated elements to be reworked too.
Code reviews are also made more efficient through Quality Clouds’ customisable best practice library. These rulesets are centrally managed and maintained, which saves our customers time. They are also configured to meet each customer’s bespoke design standards. Code, configuration and metadata can be scanned against these best practice rulesets to spot any issues. This can happen either as the code is being written, or as part of an automated code review process. From an organisational culture perspective, this promotes a mindset of quality by design: getting it right at the source rather than fixing issues afterwards. This contrasts with the traditional development focus of prioritising short-term productivity at the expense of long-term quality.
In general, giving developers the tools to check their own work should inevitably lead to better productivity by reducing technical debt and time spent testing and reviewing. Good quality code and configuration is better, easier and quicker to code, test and implement.
Banking case study
An international bank used Livecheck to significantly increase the productivity of its development team. It used the functionality to act as a real-time coding quality gate. Issues were fixed at their introduction, before being moved between instances, which reduced the time needed to remediate before deployment. The Livecheck’s continuous feedback also meant that developers improved their understanding of best practices on the job, improving the quality of their code. The productivity benefits weren’t limited to the development team either. The architect also saved time on code reviews and on encouraging best practice adherence among developers.
While developer productivity is hard to measure, it’s clear that it can be improved by reducing the time spent on unnecessary tasks, such as checking the quality of the code. At Quality Clouds we use automation to improve developer productivity, enabling the team to focus on creating value through platform design and expanding user functionality.
We’re offering a free, 30-minute consultation on how Livecheck can work for your business. Give us a call to set up a consultation and find out how Quality Clouds can increase the productivity of your development team.
Sickles, R., & Zelenyuk, V. (2019). Contents. In Measurement of Productivity and Efficiency: Theory and Practice (pp. Vii-Xvi). Cambridge: CUP.