Purple white and red flowers.
Our garden is growing. We've raised a Series A funding round.
Read more here

Developer velocity: Encouraging efficiency and top business performance

Lisa Lozeau
Lisa Lozeau
June 22, 2023

It’s little wonder that business leaders want to maximize developer velocity and productivity levels whenever possible. While talented development teams bring tremendous value to an organization, obstacles and inefficient operations can prevent them from achieving their best. As a result, many are looking for alternative solutions to improve velocity and make processes more efficient.

In Garden's recent whitepaper, we explore the topic of developer productivity in-depth and provide techniques for DevOps and engineering managers to boost their team's productivity levels.  There are many elements that contribute to high productivity levels, including the developer experience and the pace at which developers are able to complete projects.

This article will cover the topic of developer velocity, one of the key pillars of performance and business success. We'll look at how, why, and when to consider developer velocity while helping your team grow in the right direction. We’ll think of developer velocity as a metric that can signal roadblocks and points of friction in your team’s processes. Then, we’ll go through some of the factors that impact developer velocity and provide tips to increase productivity levels in your business.

What is developer velocity?

Developer velocity, or software development velocity, refers to the amount of work a programmer can complete within a given time frame. 

While it shouldn’t be taken out of context or misused, developer velocity can be useful for benchmarking purposes. For example, a decrease in developer velocity from month to month might point to possible inefficiencies and problem spots that require attention. 

When it comes to measuring productivity levels, there are a lot of bits and pieces to consider. Aside from developer velocity, it’s important to look at the developer experience and the quality of the product as well. Even if your team maintains a high velocity while developing software, it’s ultimately about fulfilling customer needs and company goals.

Why developer velocity matters

While it’s possible to put a dollar value on slower processes and lost productivity, the real value behind increased velocity is in what developers would do with more time. So what would developers do if you freed them from all the waiting and unnecessarily complex system management tasks?

We asked them:

  • 49% of respondents would develop new products and services 
  • 46% would improve the speed and delivery of existing products and services
  • 44% would improve security for existing products and services

What impacts developer velocity?

Increasing velocity and productivity is, in part, about reducing time wasted. We’re not talking about long bathroom breaks or sharing a funny TikTok video with coworkers. We’re talking about waste that’s become an inherent part of the process. Process inefficiencies might seem small or be overlooked as “business as usual,” but they frustrate developers and slow them down.

Inefficient processes

Garden estimated that more than $61 billion in developer productivity and value is lost due to inefficiencies in the software development pipeline in this post about our earlier research.

We can use the same method to calculate costs in terms of wasted time for individual businesses and teams: 

  • The 2021 median salary from the US Bureau of Labor Statistics for software developers, quality assurance analysts and testers was $109,020 annually, equivalent to $52.41 per hour.
  • McKinsey uses 500 developers as an example team size. 
  • Formula: [hours wasted per week] x $52.41 x [52 weeks per year] = annual value of wasted time

Applied here, we can see that a team of developers typically spends 4.9 to 6.3 hours each week waiting. That’s a cumulative 2,450 to 3,150 hours each week — at a cost of $7–9 million per year. 

For our last whitepaper, we surveyed 400 developers and DevOps team members. We asked which tasks they considered to be time wasted. Waiting for builds and tests outside CI pipelines (35%) and waiting for pipelines to run (35%) were at the top of the list. Developers are tired of throwing things over the wall and waiting for a response. 

More than half of engineers reported delays due to inefficient processes .

Source: Garden original research
Developers don’t just spend their time on productive work, such as planning and writing code. They’re also stuck waiting for pipelines, builds and tests (in red). And there are a number of requirements (in blue), such as writing tests, maintaining internal tooling, debugging and setting up dev environments, that can be automated or substantially time-reduced with better tooling, such as Garden.

Managing time-consuming and complex systems

The time needed to manage complex systems surpasses time spent coding for many developers. In an ActiveState developer survey, 62% of developers said they spent part to all of their time managing dependencies, and 61% reported spending part to all of their time building a library or package. 

This is a symptom of trying to apply the same practices that worked ten years ago to more complex systems. Developers are spending valuable time acting as the glue between systems and trying to set up the environments they need.

We’ve found that it’s possible to save three to four hours per developer on these tasks each week. For a team of 200 developers, three hours saved weekly is more than 30,000 hours annually — equivalent to gaining the productivity of 15 extra developers, or more than $1.7 million per year.

Source: Garden original research

Context switching

Once developers have shipped code off to CI/CD, they’re obliged to wait … and during that downtime, they’re typically hopping between different tools to find something else to do. This context-switching takes up far more time and mental bandwidth than most people imagine. 

In a study of 20 teams at Fortune 500 companies, people took a little over two seconds to switch applications, but they switched applications almost 1,200 times a day, Harvard Business Review reported. That adds up to just under four hours a week. And that’s just the physical time needed to switch.

The math on this also paints a picture of wait and waste: 4 hours of context switching for each of 500 developers will cost a company $5 million per year in lost productivity — not to mention lost revenue, as the wait time further delays the product’s time to market. 

In addition to the almost four hours people spend switching applications, we also need to consider the time it takes to refocus on a task. Researchers at Georgia Tech looked at this specifically in developers. In most sessions, it took developers several minutes to make their first edit after resuming a task, but in 30% of the sessions this “edit lag” was over 30 minutes long. 

How to improve developer velocity

Luckily, there are ways to improve developer velocity and prevent inefficiencies from occurring. Here are a few methods to help speed things up without sacrificing quality in the process.

Keep an eye on non-programming tasks

Developers spend a lot of time on non-programming tasks. While some of these tasks are no doubt necessary, being more cognizant and intentional about non-programming time can help teams make small, but valuable, gains in productivity. Helping developers mitigate time spent on cross-cutting concerns and other non-essential tasks is key.

Source: Developer Survey 2019 - Open Source Runtime Pains - ActiveState

Invest in platform engineering and productivity tools

Gartner expects that by 2026, 80% of software engineering organizations will establish platform teams. These teams might be called different things — DevOps, developer experience, developer tooling or developer enablement teams — but their purpose is similar. They’re tasked with optimizing the software delivery process by reducing complexity and simplifying the way developers access and use the tools they need. 

These specialized teams focus on creating and maintaining an operating platform — a tool or collection of tools that sit between developers and the tools they need. The goal is to create self-service capabilities that reduce friction and overhead for developers. 

“For the organization, such platforms encourage consistency and efficiency. For the developer, they provide a welcome relief from the management of delivery pipelines and low-level infrastructure.” Gartner 2022: What Is Platform Engineering, and What Does It Do?

Buy (rather than build) the right tools

Instead of spending years to create software that’s not part of the core business purpose (the retailer, for example, needs to focus on developing the digital experience for its end customers, not on the developer experience), platform engineers can buy key components that work with a variety of tools. This reduces the surface area of what they need to build and maintain in-house, allowing them to focus on components that differentiate the business.

Industry experts echo this advice:

  • “Each platform team needs to focus on the needs of the company and avoid building in-house alternatives to tools that can be easily bought. Rather than focusing your energy on generic needs that can be met using pre-existing products, think about what your differentiator is within the industry.” 8 Ways to Build Platform Engineering Teams | Fellow.app
  • “It doesn’t matter if your homegrown CI/CD solution is superior today, commercial vendors will catch up eventually. Platform teams should always ask what is their differentiator. Instead of building in-house alternatives to a CI system or a metrics dashboard and competing against businesses that have 20 or 50 times their capacity, they should focus on the specific needs of their organization and tailor off-the-shelf solutions to their requirements.” Gartner 2022: What Is Platform Engineering, and What Does It Do?

Given the value of even small gains in productivity, tools that help developers do more will pay for themselves. Buying tools enable you to deliver benefits to your organization sooner. No one wants to spend years building the perfect platform — only to have a competitor buy the same capabilities off the shelf.

Do productivity tools actually improve developer velocity? 

We’re so used to the way things work (or don’t work) now, it can be hard to imagine them functioning differently. But productivity tools do improve developer velocity. They improve collaboration, organization, and communication. They alert management to blockers and reduce those little friction points that leave developers feeling frustrated and slow processes down.

Consider these stats from Zenhub’s 2022 Software Developer Happiness Report

Developers positively rate many aspects of productivity tools, including 88% who agree that the tools help them update management without interrupting workflow.

Increase your team’s developer velocity with Garden 

For any DevOps or engineering manager, developer velocity and productivity are a priority. If you’d like to learn more about boosting your team’s productivity levels, be sure to download a copy of our latest whitepaper.

Efficiency is everything. And that’s why it’s so important to have tools that support your team’s and company’s needs. You can invest in a large team and spend a year or more building your own platform to reduce developer frustration and increase developer velocity. Or you can get started with Garden today.

Garden.io was named a 2022 Gartner “Cool Vendor in Platform Engineering for Improving Developer Experience,” in a report authored by analysts Manjunath Bhat, Arun Chandrasekaran, and Stephen White. And it’s been adopted by Fortune 500 brands and customers known for innovation and a great developer experience. In fact, one Garden customer increased its internal developer Net Promoter Score (NPS) by 50% in nine months.

previous arrow
Previous
Next
newt arrow