Header background

How your peers speed up time to market

Welcome back to the ACM Survey blog series in which we summarize the findings of our Autonomous Cloud Management survey. Here’s what we discussed so far:

  • Part 1 examined the Dev-to-Ops ratios that organizations have for their most critical application projects.
  • Part 2 looked at organizational silos, and how far organizations have come in breaking them down.

In part 3 we’ll investigate how long it takes for teams to deliver business value to customers. To explore this issue, we asked survey participants the following question:

What’s your Commit Cycle Time (CCT)?

Commit Cycle Time refers to the average time for a code or configuration change until it’s deployed into production and accessible to users. The faster your team promotes the source code from one environment to the next (development > quality assurance > production), the faster your organization delivers business value to its customers. This makes Commit Cycle Time an important KPI: companies experiencing long CCT risk losing market share, revenue and opportunities. On the other hand, a short cycle time is a competitive advantage. Or, in Marc Andreessen’s words:

Cycle time compression may be the most underestimated force in determining winners and losers in tech.

What did the Dynatrace ACM survey find?

By looking at the responses, we found that teams fall into one of three categories:

  1. Innovators: CCT between 1 hour – 2 days
  2. Early adopters: CCT between 2 – 12 days
  3. Laggards: CCT of 12 days or more

With other words, while an Innovator can launch a new feature, or part of a feature, within an hour, a Laggard, in a best-case scenario, would need almost two weeks to complete the same task. So, what separates the innovators from the laggards? Our survey results indicate that their approaches to software development exhibit the following distinctive practices:

  • Innovators deploy more frequently to production  

According to our study, those who rated their CCT 6 hours or less, deploy to production 6x more frequently than those who rated their CCT higher than 12 days.

  • Innovators adopted one or more PaaS platforms

Organizations that report using one or more PaaS platforms are 2x more likely to have their CCT < 1 week. RedHat OpenShift and Kubernetes are the two most popular PaaS platforms among our customers.

  • Innovators assign issues to developers much faster

Respondents who indicated a CCT < 1 day managed to assign a production issue to a developer in < 6 hours. Whereas those who claimed to have the longest CCT are 2x more likely to need more than a day to assign a production issue to a developer.

  • BONUS finding: Innovators have the lowest MTTR (Mean-Time-To-Remediate). Coincidence?

The survey also found that those who consistently manage to keep their CCT of < 1 day, have a 3x lower Mean-Time-To-Remediate than those with a longer CCT.

Three types of organizations by Commit Cycle Time
Three types of organizations by Commit Cycle Time

How to get started?

Improving your team’s Commit Cycle Time means relying on efficient testing and soliciting feedback as quickly as possible. Here the top three pieces of advice from Dynatrace for helping organizations improve cycle time.

  1. Break down software into smaller chunks.

Try to get your company more into the DevOps mindset so that you can release smaller chunks of work more often. Small units can be easily tested, scaled, and distributed. The risk is smaller, too. Microservices are often the best approach to breaking down software. The code is smaller, and every software engineer makes production changes on an ongoing basis. The 12 factor app paradigm offers a good starting point here.

  1. Get rid of dependencies.

These smaller chunks of code (let’s call them “services”) must be able to withstand failures and timeouts when communicating with each other. Failures can multiply quickly, creating a cascading effect through some services, potentially spiking services needlessly. Therefore, keep a close eye on your dependencies—especially when you’re breaking monolithic applications into a microservices architecture. Don’t end up with a micro-lith!

  1. Automate everything you can.

We can’t emphasize this enough. In software delivery, every manual process introduces a delay in getting a release out the door. And where there is human involvement, invariably there are errors. DevOps automation is about automating manual processes using technology to make them repeatable.

There are plenty of different cloud services, PaaS platforms, and other powerful tools on the market supporting almost every aspect of build, release, and operations activities. If you want all this in one tool, we’d recommend our very own Keptn, an open source enterprise-grade control plane for cloud-native continuous delivery and automated operations.

A closing note

How quickly do you deliver business value to your customers? Have you done everything to empower your teams to deploy and upgrade great software as quickly as possible?

Because the market moves quickly, organizations must find ways to simplify their processes and empower teams to focus on delivering value faster. Commit Cycle Time is an important KPI in software development, as it shows how long it takes for teams to deliver business value to customers. By breaking down software into smaller pieces, getting rid of dependencies, and automating your software development processes you can empower your team to quickly innovate and ship features that customers want.

If you haven’t yet read the previous parts of this blog series, here are the links:

If you’ve found these blogs interesting or useful, be sure to keep an eye out for Part 4 in a week or so.

Also, consider taking the Dynatrace Autonomous Cloud Survey yourself to see how well your organization stacks up against the competition.