Let’s be honest, we were all hoping 2023 would bring some relief from the challenges of the past few years. But here we are dealing with supply-chain issues, the great resignation, quiet quitting, and what might be the first global recession. This uncertainty means DevOps and engineering managers are under tremendous pressure to maintain developer productivity levels and make the most out of resources.
What sounds like an impossible task, might be an opportunity to rethink how we increase programmer productivity. Industry research and our own first-party survey of hundreds of developers suggest that reducing friction and wasted time is a more effective way to increase developer productivity than efforts to make programmers code faster.
The return on investment looks promising: McKinsey & Company found that the savings produced by reducing each developer’s wasted time by five minutes on a team of 500 developers could support a full team of developers working on standardization.
In our recent report, we explore where productivity is lost and look at solutions DevOps and engineering managers can implement to reduce friction and increase developer productivity.
What is developer productivity?
At Garden, we believe improving the developer experience is the key to helping developers increase productivity (and happiness, but more on that later). In this context, developer or programmer productivity refers to how quickly and efficiently individual developers complete their code and pass all the tests. When the development process runs smoothly, developers complete more work faster (and with less frustration). This in turn increases development velocity for the team as a whole.
How can you improve developer productivity?
How can engineering managers help developers increase their productivity? By addressing places where productivity is lost, reducing friction, and empowering developers to spend more time coding and less time on pretty much everything else.
Analysts at Gartner and McKinsey both recommend a “servant-leadership” approach that focuses on removing roadblocks and empowering teams to be successful. “When leaders identify and resolve roadblocks, for example, their teams are 16% more effective. Likewise, when leaders take on coordination with stakeholders like project managers or governance partners, they up team effectiveness by another 11%,” writes Laura Starita, in Garner’s “3 Ways to Make Your Software Engineering Team 50% More Effective”
Developers know where their time is wasted and can be valuable partners in creating better standards and processes. Involving developers in standard setting makes them 23% more effective than their counterparts who don’t participate in standard setting, wrote Starita.
Make work a happy place (psychological safety)
Toxic metrics and pushing developers to perform better without improving the process or their experience are unfortunately still problems in the industry. Creating a safe and happy workplace is critical to helping developers do their best work and be more productive. The most important cultural attribute is psychological safety, according to research on developer velocity by McKinsey & Company. This means protecting developers’ ability to experiment and fail, and investing in tools and systems that minimize the cost of those failures.
Invest in best-in-class tools
McKinsey & Company identified best-in-class tools as the top contributor to business success — enabling greater productivity, visibility, and coordination. Yet only 5 percent of executives ranked tools as one of their top-three software enablers. “The underinvestment in tools across the development life cycle is one reason so many companies struggle with “black box” issues,” write researchers in “Developer Velocity: How software excellence fuels business performance.”
How does the developer experience affect productivity?
There’s a synergy between productivity and developer happiness. Developers are happier when they feel more productive and they’re more productive when they're happy. Improving the developer experience helps identify and remove roadblocks to reduce frustration and increase productivity.
Consider these findings. A Stack Overflow survey on developer happiness, found that feeling unproductive at work was the number one (45%) cause of unhappiness — even above salary.
In a separate study, Forbes found that happy developers were 1.8 times more likely to deploy to production multiple times a day compared to their grumpier counterparts.
Wondering what makes developers unhappy? Check out our whitepaper for more insights and learn what engineering managers can do to improve the developer experience and unleash productivity.
What are the benefits of developer productivity tools?
Sometimes it's hard to see how the development process can work differently. Productivity tools can help management identify blockers and reduce friction points that frustrate developers and slow processes down. They can also significantly improve the developer experience itself.
In Zenhub’s 2022 Software Developer Happiness Report, developers positively rated many aspects of productivity tools:
What metrics should you use to measure software development productivity?
There’s no single engineering metric or group of metrics that works for everyone. A good practice is to choose some metrics that focus on speed and velocity and some that focus on quality and stability. This prevents unintentional trade-offs.
The DORA metrics developed by Google Cloud’s DevOps Research and Assessment (DORA) team strike this balance. They use five research-based metrics to measure stability, operational performance, and throughput. Excellence across these measures is associated with exceptional organizational performance.
While these high-level metrics are helpful, it’s also important to look at the underlying metrics. Measuring how the early part of the development process is working helps identify areas for improvement that can lower change failure, increase deployment frequency, and lower lead time for changes. These underlying metrics can include time between starting a new branch and getting a pull request merged, time between starting new work and getting the test to pass, and how frequently you need to push to get code done and working.
Understanding these metrics helps managers identify and remove specific roadblocks and take a more holistic DevOps approach to reduce friction and increase overall productivity.
Maximize developer productivity with Garden
Garden provides tools that reduce friction and provide the insights engineering managers need to remove roadblocks and make delivery faster and more predictable. Learn more about increasing developer productivity in our whitepaper, or schedule some time to chat about how we can integrate with your current tools and help you start developing faster now.