Outcomes versus outputs: the real measure of developer productivity
Focus on outcome-oriented targets to improve developer productivity and efficiency
“Developer productivity” can be an emotive, and occasionally misunderstood term. It is not the output of individuals that we are seeking to understand, but the effectiveness of the development system as a whole.
A few percentage point increases in development efficiency in a large organization can represent hundreds of thousands of dollars in cost reduction, better time to market and improved product quality. That, coupled with the promise of significant productivity increases from AI code companions, means that being able to understand and measure the productivity of the engineering workforce should be a key priority for business leaders.
But doing so can be complex and requires a shift in perspective away from merely counting lines of code, toward evaluating the broader impact on business goals. By adopting modern productivity measures, business leaders can better understand and enhance the effectiveness of their development teams, ultimately leading to more innovative and successful projects.
Principal Technical Consultant, esynergy.
Dropping esoteric productivity measures
Historically, businesses have looked to metrics like lines of code or story points to gauge developer productivity. However, these measures often don’t reflect the true value that a developer brings to a project and they can also be easily influenced. For example, developers can artificially inflate their productivity by writing verbose code or overestimating story point values.
Separately, such measures can be weaponized by management and business stakeholders to apply to deliver keystrokes more quickly, without appropriate consideration for the real drivers of value. So, it usually doesn’t serve a business well to closely monitor the arbitrary output of individual developers, because it simply doesn’t directly equate to efficiency or effectiveness. Instead, the merits of measurement lie in understanding the development team’s ability to create outcomes.
Looking to modernized measures
Healthy developer metric measurement begins with understanding the outcomes you’re trying to drive within your team, not the pace at which code is created; after all, there’s no point delivering the wrong thing more quickly. This means questioning what value you’re hoping to achieve by improving developer productivity. For example, this could be reduced delivery time and cost; increased deployment frequencies; or reduced defects and rework. The aim is then to identify metrics that will provide insight into these areas and guide you towards achieving your desired business outcomes.
To adopt modernized developer productivity measures, it’s essential to first assess and understand the existing ways of working across all aspects of value delivery – from processes and practices to tools. This helps to identify bottlenecks, inefficiencies and areas of potential improvement. To do so, it’s vital to look beyond individual developers and understand the entire system surrounding delivery, including business analysis, team structure, sign-offs and DevOps infrastructure.
Are you a pro? Subscribe to our newsletter
Sign up to the TechRadar Pro newsletter to get all the top news, opinion, features and guidance your business needs to succeed!
Designing outcome-oriented targets
Once an understanding has been reached about where improvements should be made, it is possible to then define leading and lagging indicators and proxies. In turn, these can be meaningfully tracked to help businesses make the right decisions. From a practical perspective, there are numerous tools on the market that can give insight into DORA and other measures, simply by connecting to issue tracking, project management and version control systems.
Armed with an understanding of the current state, as well as a set of areas for improvement, it is then possible to define outcome-oriented targets that are achievable, but ambitious enough to create meaningful value for the organization. By linking the targets to the outcomes that the company most values, the impact of change can be maximized without changing processes that don’t positively influence broader goals.
Once targets have been set, a clear Target Operating Model can be established to help the organization deliver in the most efficient manner. This helps to ensure that all aspects of delivery (beyond lines of code and even DORA metrics) are aligned to support the desired outcomes. At this point, developer productivity tools can be put in place to help enable the development capability, and to track its progress towards the outcomes.
Track, assess & reassess
Developer productivity is a journey, and it is essential to regularly reassess the outcome-oriented targets. In doing so, new areas might be uncovered that are more urgent than those currently focused on. Alternatively, targets might already have been exceeded and it is time to push the delivery capability to the next level.
By continuously improving and using the right tools and expertise, organizations can boost developer productivity and build a strong foundation for future growth. As technology evolves, staying adaptable and proactively refining productivity strategies will keep businesses competitive and efficient in delivering high-quality outcomes.
We list the best school coding platform.
This article was produced as part of TechRadarPro's Expert Insights channel where we feature the best and brightest minds in the technology industry today. The views expressed here are those of the author and are not necessarily those of TechRadarPro or Future plc. If you are interested in contributing find out more here: https://www.techradar.com/news/submit-your-story-to-techradar-pro
Principal Technical Consultant, esynergy.