Best and worst ways to measure developer productivity

Whenever I hear that the development team tells me to capture time from Jira Software, Azure DevOps, or any other agile management tool I’m using, I’m amazed. Checking the time is normal and necessary for service departments that charge customers under contract. However, quantifying development productivity using these accounting metrics is a bad practice that has continued in the old command and control practice.
ⓒ Getty Images Bank

Another indicator used to quantify development productivity has problems. It is a method of calculating productivity by the number of lines of code completed. It’s a way of actually encouraging development teams to bury their corporate infrastructure in the’technical debt’ of a messy code base. How about measuring by the number of user stories or story points provided? It’s no different from instructing the developer to break the function into more stories and inflate the story point estimate.

It’s a better way to figure out how many releases have been completed, but this also requires additional verification. Production releases that contain flaws, cause major incidents, or have poor end-user experience should be evaluated differently than successful releases.

There are many difficulties in measuring software development productivity. I’ve spoken to Sagarbujibal, vice president of Macmillan Learning, an expert in these tasks, and he warned that poor evaluation criteria could degrade team morale:

“You shouldn’t measure developer productivity based on errors, delays in delivery, or the number of accidents. This creates unnecessary anxiety for the development team, which is always under pressure to provide more functionality, faster and more effectively. Instead, it creates a sense of psychological stability. We need to continually align our operating framework and improve our engineering practices.”

Here, you’ll learn how to apply reasonable productivity metrics to software developers and development teams to increase their productivity and morale (rather than grabbing them) and improve business performance.

Do not evaluate performance based on development productivity evaluation criteria

In conclusion, I strongly advocate the way development and devops KPIs and metrics drive process, quality and productivity improvements. The biggest concern is that companies equate productivity metrics with team or individual performance goals. Equating productivity with performance without the proper context is likely to lead to undesirable behaviors such as:
  • Develop more features with little business impact
  • More software releases without considering risk, security, quality, or operational impact
  • Innovation with no real production path for successful experimentation

Instead, whenever I talk to the HR team or discuss the overall performance of the software development group, I try to guide the broader metrics beyond productivity.

Help your business with development productivity metrics

So, where in the software development team can productivity metrics be applied to improve business performance? Specifically, productivity improvements should help businesses increase revenue, improve end-user experience, increase quality, lower costs, and enable innovation. It is also important to provide strategic capabilities, improve collaboration, drive efficiencies, simplify access to information, or reduce risk.

Software development (and IT in general) is often a contributor to these business outcomes. Additionally, performance-based KPIs should provide context for software development and IT metrics. The operational aspect of these KPIs should be a metric of how effectively the team delivered the stated values ​​and standards. Research results on such metrics are continuing to accumulate. Some examples are as follows.

  • Currently important software development metrics include agile metrics such as cycle time and team speed, and production metrics such as mean time to repair.
  • Some novel productivity metrics focus on behavior such as productivity, quality, and completed code reviews that capture collaboration, written documents, and conversations with others.
  • Value-added activities such as software design, testing, and integration are compared to non-value-added activities such as configuring the environment, handling configuration problems, and writing new code to understand how existing code works.

When considering these productivity indicators, it is a good idea to evaluate the delta against the current performance criteria. Improved team speed and cycle time, or reduced defect escape rates and average recovery times, will likely improve team productivity.

Productivity improvement using development productivity indicators

One of the goals of measuring productivity is optimizing the investments that drive productivity improvement. This includes investments that allow software development teams to focus more time and energy on solving critical business problems. Some examples are as follows:
  • Automate deployment with CI/CD instead of manual deployment
  • Standardized environment with infrastructure as code (IaC) and containers to minimize manual configuration and reduce defects caused by differences in systems
  • Automate regression testing, allowing developers to fix bugs during the development process and reduce the time spent investigating and fixing defects found in production.

MacMillan Learning’s indecisiveness is the importance of tools and team actions that affect productivity: “Intangible indicators such as low friction with business units, smooth collaboration and tool optimization help ultimately achieve desirable and timely performance. It becomes” he said.

Productivity metrics need to focus on business performance

Martin Davis, CIO of Southern Company Services, also said the focus on business value and performance:

“The more productivity measurements are made using business metrics in IT, the easier it is for executives to understand their value. I always measure development productivity in terms of added features or resolved business problems, ideally converting the added value into amounts. That way, you can shift the conversation from IT as a cost to IT as a value provider.”

Ramky Ramaswami, VP of IT, Technology and Integration at JetBlue, also agreed that development productivity should be measured by the value delivered. It also mentioned risk elimination. “Development productivity is usually measured in terms of time, defects, or money, but it’s more ideal to measure the value per cost spent (return, opportunity, and operational cost savings) versus the risk of doing nothing (security, opportunity) I said.

Ramaswami and Davies point out that this is one of my most important agile KPIs. Ultimately, the team must first measure business performance and then qualify it as an evaluation criterion that represents the targeted action. KPIs that combine performance and delivery qualitative help find answers to who, what, why, and how to deliver high quality software. You can get a lot more meaning from KPIs like this than focusing on low-level metrics like this.

Once these KPIs are defined, you can gain rich insights for both software developers and companies in technology and process improvement. For example:

  • Development teams requesting improved customer satisfaction metrics as business outcomes can focus on improving average recovery time issues and defect escape rates.
  • The development team should demonstrate the improvement in these metrics while specifying where they are investing in productivity improvements, such as automation, documentation, or reducing technical debt.
  • The development team should measure customer satisfaction while delivering improvement and report on the metrics chosen.

KPIs that combine business performance and developer productivity metrics can help answer the question: Are teams delivering high-priority business performance while improving productivity? Companies should appreciate teams that make smart decisions that deliver performance while improving productivity, considering that the team cannot improve everything at the same time. [email protected]

Source: ITWorld Korea by www.itworld.co.kr.

*The article has been translated based on the content of ITWorld Korea by www.itworld.co.kr. If there is any problem regarding the content, copyright, please leave a report below the article. We will try to process as quickly as possible to protect the rights of the author. Thank you very much!

*We just want readers to access information more quickly and easily with other multilingual content, instead of information only available in a certain language.

*We always respect the copyright of the content of the author and always include the original link of the source article.If the author disagrees, just leave the report below the article, the article will be edited or deleted at the request of the author. Thanks very much! Best regards!