“Developer productivity” can be an emotive and sometimes misunderstood term. It is not the production of individuals that we seek to understand, but the effectiveness of the development system as a whole.
An increase of a few percentage points in development efficiency in a large organization can represent hundreds of thousands of dollars in cost reduction, improved time to market, and improved product quality. This, along with the promise of significant productivity increases from AI code peers, means that being able to understand and measure engineering workforce productivity should be a key priority for business leaders.
But doing so can be complex and requires a shift in perspective from simply counting lines of code to evaluating the broader impact on business objectives. By adopting modern productivity measures, business leaders can better understand and improve the effectiveness of their development teams, ultimately leading to more innovative and successful projects.
Principal Technical Consultant, esynergy.
Abandon esoteric productivity measures
Historically, companies have turned to metrics like lines of code or story points to measure developer productivity. However, these measures often do not reflect the true value that a developer brings to a project and can also be easily influenced. For example, developers can artificially inflate their productivity by writing verbose code or overestimating story point values.
On the other hand, management and business stakeholders can weaponize these measures to execute keystrokes more quickly, without adequately considering the true drivers of value. Therefore, it is generally not useful for a company to closely monitor the arbitrary output of individual developers, because it simply does not directly equate to efficiency or effectiveness. Rather, the merits of measurement lie in understanding the development team's ability to deliver results.
Looking for modernized measures
Healthy measurement of developer metrics starts with understanding the results you are trying to achieve within your team, not the pace at which code is created; After all, there's no point in delivering the wrong thing more quickly. This means asking yourself what value you hope to achieve by improving developer productivity. For example, this could reduce delivery time and cost; higher deployment frequencies; or reduction of defects and rework. The goal is then to identify metrics that will provide insight into these areas and guide you toward achieving your desired business results.
To adopt modernized measures of developer productivity, it is essential to first evaluate and understand existing ways of working across all aspects of value delivery, from processes and practices to tools. This helps identify bottlenecks, inefficiencies, and areas for potential improvement. To do this, it is vital to look beyond individual developers and understand the entire system surrounding delivery, including business analysis, team structure, approvals, and DevOps infrastructure.
Design of results-oriented objectives
Once agreement has been reached on where improvements should be made, leading and lagging indicators and surrogates can be defined. In turn, these can be tracked in a meaningful way to help businesses make the right decisions. From a practical perspective, there are numerous tools on the market that can provide 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 possible to define results-oriented objectives that are achievable, but ambitious enough to create significant value for the organization. By linking objectives to the outcomes that the company values most, the impact of change can be maximized without changing processes that do not positively influence broader objectives.
Once objectives have been established, a clear objectives operating model can be established to help the organization deliver in the most efficient manner. This helps ensure that all aspects of delivery (beyond lines of code and even DORA metrics) are aligned to support the desired results. At this point, developer productivity tools can be implemented to help enable development capacity and track your progress toward results.
Monitoring, evaluation and re-evaluation
Developer productivity is a journey and it is essential to periodically re-evaluate results-oriented goals. In doing so, new areas could be discovered that are more urgent than those we currently focus on. Alternatively, goals may have already been exceeded and it is time to take deliverability to the next level.
By continually improving and using the right tools and expertise, organizations can boost developer productivity and build a solid foundation for future growth. As technology evolves, staying adaptable and proactively refining productivity strategies will keep companies competitive and efficient in delivering high-quality results.
We list the best school coding platform.