Pipeline Driven

View Original

DevOps Metric: Frequency of Releases Definition

  • Important to: Release Manager, CIO
  • Definition: How often an official release is deployed to production, in paying customer's hands
  • How to measure: If no pipeline: release schedule. Otherwise, history data for Pipeline Production deploy step.
  • Expected outcome: The time between releases should become shorter and shorter (in some cases an order of magnitude shorter) as DeOps maturity grows.

It's one thing for the IT of an organization to create pipelines so fast that they can release at will. The other side of that coin is that of the business. 

If IT is no longer a bottleneck, it is the business' responsibility to decide *when* to release new versions. 

In traditional organizations IT is usually too slow to supply and deploy the release as fast as the business requires, so the business is forced to operate at the speed of IT , which might mean 4 release a month, 4 releases a year or even less frequent. 

In a DevOps culture, every code check in (A 'commit') is a potentially releasable product version, assuming it has passed the whole continuous delivery pipeline all the way up to the staging servers. 

We can use the "Frequency of release metric to decide "how many releases do we want to do per year, month, week?" We can then measure our progress. 

As IT becomes faster, we can cut down our scheduled release time. As the pipeline supports more and more automated policy and compliance checks as feedback cycles, more time is removed from manual processes and potential releases become easier to achieve.

The question "How often should we pull the trigger to deploy the latest potential release that has passed through the pipeline?" shifts from becoming IT's problem to being owned solely by business stakeholders.

As the schedules become more frequent, the competitiveness in the marketplace becomes better.

In some organizations (Netflix, or Amazon are a good example), the decision on a release schedule is removed completely and only the pipeline's "flow" of releases that automatically get deployed determines the release frequency, which might happen as often as every minute or even less.