Over a million developers have joined DZone.

Three Critical Metrics for Engineering Velocity

DZone's Guide to

Three Critical Metrics for Engineering Velocity

Stability, commit-to-deploy time, and deploy frequency are the best predictors of a company's growth. Take a look at the rest of the analysis.

· DevOps Zone ·
Free Resource

Learn how integrating security into DevOps to deliver "DevSecOps" requires changing mindsets, processes and technology.

Companies who embrace DevOps practices are more successful, regardless of industry. Most engineering leaders are sold on the idea, but when they try to institute these practices they stumble.

Thanks to Jim Rose, CEO at CircleCI for sharing the results of a new report that will help leaders know which metrics to track and how to define progress so they can ensure they are moving in the right direction. 

With more than 7 million builds every month, CircleCI has unique insight into the software development lifecycle and a significant dataset to pull from. In just one hour, CircleCI users build around 5,400 branches—3,900 hours of cumulative build time. Most of these are greenfield companies in the third, fourth, or fifth generation of their transformation process.

After analyzing the data they think these are the key metrics—stability, commit-to-deploy time, and deploy frequency are the best predictors of a company's growth. 

Here's a link to the report and a few of the key findings: 

  • For organizations in the top 10th percentile of Alexa Internet Ranked (AIR) orgs, we saw them deploying 42 times per week — 40 times more the bottom 5th percentile. It’s possible however that organizations focusing only on velocity have to spend more time fixing their mistakes. 75% of all organizations deploy their most active project less than 13 times a week. 
  • Orgs pushing themselves to quickly meet customer needs may find themselves in bad states or waiting longer for projects to build. Organizations with over 12 minutes of build time have a median of 8.3 deploys per week and instability of 2.7%. On the other hand organizations with build times of 12 minutes or less have a median of 5.3 deploys per week and an instability of 0.2%. 
  • Engineers’ language choices have a negligible effect on their organization’s success. For projects with a “dominant language,” 48.2% were written primarily in JavaScript or Ruby. However, these two languages only accounted for 49.3% of projects in the top 10th percentile of AIR organizations. 
  • There is no significant difference between teams consolidated in one location and well-organized distributed teams around the world. Of those in the top 20th percentile of Alexa Internet Ranking organizations, 74.2% were in one country. For 56% of these mono-national dev teams, that country was Japan, the United Kingdom, or the United States. 
  • 80% of organizations deploy in under 15 minutes. The fastest organizations deploy in 2.7 minutes, while the median is at 7.6 minutes. From there, a long tail extends to 30 minutes for the bottom performers. 

Jim anticipates we'll see an even greater transition into microservices to further reduce deploy time and improve application performance. This is part of a three-step process: 

  1. Centralize assets to accelerate system deployment.

  2. Operations are moving from on-prem to the cloud to access elastic computing resources.

  3. CircleCI serves as the glue that holds everything together to accelerate, automate, and innovate. 

As companies pull in more shared code, it will have huge ramifications on the pipeline since downstream dependencies can break. Organizations need to create intelligence inside a shared dependency graph to make the application as stable as possible. Identify the trouble spots by using streaming data and steer customers around them without their knowledge for a seamless UX/CX.

Learn how enterprises are using tools to automate security in their DevOps toolchain with these DevSecOps Reference Architectures.

devops ,deployment ,velocity ,metrics

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}