DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
View Events Video Library
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Modern Digital Website Security: Prepare to face any form of malicious web activity and enable your sites to optimally serve your customers.

Containers Trend Report: Explore the current state of containers, containerization strategies, and modernizing architecture.

Low-Code Development: Learn the concepts of low code, features + use cases for professional devs, and the low-code implementation process.

E-Commerce Development Essentials: Considering starting or working on an e-commerce business? Learn how to create a backend that scales.

Related

  • How to Shift Left: Four Tips to Change Team Culture
  • Continuous Testing in the Era of Microservices and Serverless Architectures
  • 7 Technical Reasons Why Software Product Engineering Projects Fail
  • A Product-Management Approach to Platform Engineering

Trending

  • Introduction to Snowflake for Beginners
  • DZone's Article Submission Guidelines
  • DDD and Microservices
  • How to Submit a Post to DZone
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Deployment
  4. The Virtuous Cycle of Software Delivery

The Virtuous Cycle of Software Delivery

As opposed to the Vicious Cycle of Software Delivery.

Sasha Rezvina user avatar by
Sasha Rezvina
·
Updated Sep. 02, 19 · Analysis
Like (2)
Save
Tweet
Share
2.2K Views

Join the DZone community and get the full member experience.

Join For Free

Cycle grphic

It just keeps going and going and going...

This post is the first article in our Tactical Guide to a Shorter Cycle Time five-part series.

Low Cycle Time is a characteristic of high performing teams–and the authors of 9 years of DevOps Reports have the data to prove it. In their book, Accelerate, they’ve found a direct link between Cycle Time and innovation, efficiency, and positive engineering culture.

You may also enjoy:  10 Strategies to Reduce Cycle Times

Our data analysis of over 500 engineering organizations corroborates their findings. It also reveals helpful benchmarks for teams to gauge how they compare to the rest of the industry. We’ve uncovered that:

  • The top 25% achieve a Cycle Time of 1.8 days

  • The industry-wide median is 3.4 days

  • The bottom 25% have a Cycle Time of 6.2 days

Cycle time distribution chart

Which group is your organization in?

The Accelerate authors discovered the “elite” performers (making up just 7% of the industry) reach a Cycle Time of less than one hour. This means that the median Cycle Time is 80 times higher than that of the best-performing organizations. This spread suggests that the majority of the industry either doesn’t measure Cycle Time, doesn’t know what a good Cycle Time is, or doesn’t know how to fix it.

This is why today, we’re kicking off our Tactical Guide to a Shorter Cycle Time, a 5-part series to help you accomplish all of the above.

The Virtuous Circle that Spurs Continuous Improvement

We define Cycle Time as the time between the first commit and deployment of a changeset. Whether or not your definition matches ours precisely, optimizing the amount of time between these two events will significantly improve your engineering team’s efficiency (we’ve observed increases of at least 20%).

Measuring and improving this metric has a long-term effect that’s even more significant than the initial bump in productivity. It sets in motion a Virtuous Circle of Software Delivery, in which optimization that encourages better engineering practices, paired with the positive reinforcement that comes from unblocking, encourages more optimization that sparks better coding practices, and so on.

Virtuous cycle of software delivery

The opposite of a vicious cycle, for DevOps

The process of improving each portion of your Cycle Time will create a culture of Continuous Improvement on your team.

Where to Start

First, you’ll want to know what your Cycle Time is and how it compares to the industry average.

Industry average cycle time

"The Industry Average Cyle Time and You"

Velocity shows you Cycle Time with three years of historical data out of the box.

At face value, Cycle Time is a great metric to gauge success, but it isn’t diagnostic. To understand why your cycle time is high or low, you'll want to look at its four constituents:

Constituents of cycle time

The Four Horsemen of Cycle Time
  • Time to Open: The time between an engineer’s first commit and when they open a pull request in their version control system. Our data shows that this metric has the highest correlation with Cycle Time, so this is a great place to start optimizing.

  • Time to Review: The time between when a pull request is opened and when it receives its first review. Delays at this stage incentivize multi-tasking, so you’ll want to minimize the time a PR is left waiting for review.

  • Time to Approve: The time between when a pull request receives its first review and when it is approved, also known as the Code Review process. You don’t want to completely minimize the time spent in this phase, but you do want to make sure you reduce inefficiencies while still getting the value on Code Review you anticipate.

  • Time to Deploy: Any additional time following the pull request approval, before the change reaches production.

You can plot these metrics side-by-side and look at them in terms of hours or percentage of time spent, so you know what your team’s starting point is before optimizing.

Four constituents of cycle time chart

The four constituents on full display

We recommend working on each phase from left to right because inefficiencies tend to compound from earlier stages. When a very large pull request is opened, it also affects how long it’ll wait for review and how likely it is to get stuck in the code review process. Start with Time to Open to ensure your team has streamlined individual practices before moving on to collaborative ones.

What’s Next

The next four parts of our series will dive deep into each component of Cycle Time:

  • Part II: "The Compounding Effects of a Short Time to Open"
  • Part III: "Improving Time to Review to De-Incentivizing Task-Switching"
  • Part IV: "Empowering Effective yet Efficient Code Reviews"
  • Part V: "Moving Toward a Ship-Now Culture"

We’ll include industry benchmarks, based on our analysis of 500+ engineering teams’ data, further data points to investigate, and tactical advice on how to improve each stage.

Stay tuned — or, if you can’t wait, sign up for a trial of Velocity, our Engineering Intelligence product and have a data specialist guide you through each step within Velocity.

Further Reading

Accelerate: Building and Scaling High-Performing Technology Organizations [Review]


Velocity, the False Metric of Productivity

pull request Delivery (commerce) Software

Published at DZone with permission of Sasha Rezvina. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • How to Shift Left: Four Tips to Change Team Culture
  • Continuous Testing in the Era of Microservices and Serverless Architectures
  • 7 Technical Reasons Why Software Product Engineering Projects Fail
  • A Product-Management Approach to Platform Engineering

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: