<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Aravind SV</title>
    <description>The latest articles on Forem by Aravind SV (@arvindsv).</description>
    <link>https://forem.com/arvindsv</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F196536%2F30b61348-3e4c-4938-b0c1-d62babc300dc.jpeg</url>
      <title>Forem: Aravind SV</title>
      <link>https://forem.com/arvindsv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/arvindsv"/>
    <language>en</language>
    <item>
      <title>Continuous Delivery Metrics Part 3: How long does it take to get from committing code to production?</title>
      <dc:creator>Aravind SV</dc:creator>
      <pubDate>Mon, 02 Sep 2019 15:19:25 +0000</pubDate>
      <link>https://forem.com/gocd/continuous-delivery-metrics-part-3-how-long-does-it-take-to-get-from-committing-code-to-production-4kbo</link>
      <guid>https://forem.com/gocd/continuous-delivery-metrics-part-3-how-long-does-it-take-to-get-from-committing-code-to-production-4kbo</guid>
      <description>&lt;p&gt;This is the third post in the series - Actionable Continuous Delivery Metrics. In the previous posts, we gave an overview of why and what metrics matter to your CD process as well as an in depth discussion on deployment frequency. In this post, we’ll get deeper into lead time.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What Lead Time Is&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Whereas deployment frequency is the number of times deployment happened, lead time for change is the cumulative lapsed time it took from start to deployment. This metric is represented as a duration and it helps answer the question “how long does it take to get from from code commit to production?”&lt;/p&gt;

&lt;p&gt;You may see lead time used interchangeably with cycle time, and there is a lot of confusion around what these two terms mean. By definition, the lead time clock starts when the feature request is made and ends at delivery, while the cycle time clock starts when work begins on the request and ends when the item is ready for delivery. We are not going to distinguish these two terms in this post. We think the important thing is that you clearly define what you mean, and be consistent with your definition. In our context, we suggest avoid saying lead time or cycle time without qualifying the starting point and ending point.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KzeeBBke--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/00278b3fe30c/Image%25202019-09-02%2520at%25208.08.16%2520AM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KzeeBBke--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/00278b3fe30c/Image%25202019-09-02%2520at%25208.08.16%2520AM.png" alt="Continuous Delivery Metrics Part 3: Lead Time Diagram"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the diagram above, we calculate time from a commit (at the start of a CD pipeline) until when that code commit goes to production (at the end of the CD pipeline). Although other points in the CD pipeline have happened multiple times, it was only after three days that the deployment happened, so we calculate the lead time for that commit as three days.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why Lead Time is Important&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Lead time is a key element of lean theory. Focusing on reducing lead time will allow you to look at your process as a whole and understand the slowest parts. If teams and organizations only concentrated on lowering lead time they would improve and add more value to their organization.&lt;/p&gt;

&lt;p&gt;Lead time helps you answer questions like "When will this be done? If we start now when can we get it to production? Can we deliver this next week?" It helps inform business decisions and helps with planning.&lt;/p&gt;

&lt;p&gt;Finally, we recommend only considering the “delivery” part when calculating lead time for your CD process. If you define the start time from first line of code, and remove the “fuzzy front-end”, which include activities like requirement gathering, system analysis, prioritization etc, it is a simple and very practical metric to calculate.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;An Example: How to Use Lead Time&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We will continue with the hypothetical scenario we used in part 2 of the series, in this scenario, the development team received the complaint from their stakeholders that they didn’t get value very often.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---cFUj5MN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/c83a583e8d0c/Image%25202019-09-02%2520at%25208.08.39%2520AM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---cFUj5MN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/c83a583e8d0c/Image%25202019-09-02%2520at%25208.08.39%2520AM.png" alt="Continuous Delivery Metrics Part 3: Lead Time Diagram"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This picture above is a quick refresher of this team’s CD pipelines represented in GoCD’s Value Stream Map (VSM). It includes some unit tests, integration tests and smoke tests in parallel, and then the regression tests. At the end, there are User Acceptance Tests (UAT) and a production deployment.&lt;/p&gt;

&lt;p&gt;In the previous post, we have found out the deployment frequency is as low as 8%. Here, GoCD enterprise analytics plugin can help find out what parts of the CD pipeline are causing this low deployment frequency.&lt;/p&gt;

&lt;p&gt;In the screenshots below, you can see the average cycle time from BuildAndUnitTests to Production is 33m.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QKGtDmua--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/a3e5d0ac5cdb/Image%25202019-09-02%2520at%25208.09.03%2520AM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QKGtDmua--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/a3e5d0ac5cdb/Image%25202019-09-02%2520at%25208.09.03%2520AM.png" alt="Continuous Delivery Metrics Part 3: Lead Time Diagram"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you drill down into each pipeline, you can see these details with wait times (shown in gray), and run times (shown in purple) towards production with each stage shown separately. From there, you can identify your slowest steps.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dQahtzCI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/b7de03028c03/Image%25202019-09-02%2520at%25208.09.51%2520AM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dQahtzCI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/b7de03028c03/Image%25202019-09-02%2520at%25208.09.51%2520AM.png" alt="Continuous Delivery Metrics Part 3: Lead Time Diagram"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This process can also be done manually, or with another tool. When you track the time and plot the different parts of the workflow, you can achieve similar results. The example below is a possible representation of the process, when done outside of GoCD. You can see there are some long-running parts of your pipeline (as in “Regression” here) and some long delays due to manual approvals.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---2CbI8XY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/2ab44d171e78/Image%25202019-09-02%2520at%25208.10.20%2520AM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---2CbI8XY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/2ab44d171e78/Image%25202019-09-02%2520at%25208.10.20%2520AM.png" alt="Continuous Delivery Metrics Part 3: Lead Time"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see from our example, with lead time metric and the supporting details, you can identify your problematic steps: steps that are slow to complete and require lots of wait time will lead to overall low deployment frequency. From here, we recommend&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  focusing on the slowest steps first- that is what will give you the most gains.&lt;/li&gt;
&lt;li&gt;  converting manual approvals into automated ones, which will increase your level of confidence in the tests and automation.&lt;/li&gt;
&lt;li&gt;  Rewriting the tests in the slowest steps, if possible.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sometimes, just focusing on optimizing a number of slow steps is not enough. Consider bigger changes to your pipelines. Start with drawing the value stream map and truly understanding the dependencies of your process. Identify opportunities to parallelize, rearrange your tests to start the slow-running tests earlier on in the process.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Summary&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In this post, we discussed what lead time is, why it is important, and how to act on long lead time. As we discussed in part 1, there are two other important metrics we recommend measuring: change fail percentage and MTTR. These metrics work closely with deployment frequency and lead time. We we will cover the interrelationship of these metrics in future posts.&lt;/p&gt;

</description>
      <category>cd</category>
      <category>testing</category>
      <category>sdlc</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Continuous Delivery Metrics Part 2: How often do you deploy to production?</title>
      <dc:creator>Aravind SV</dc:creator>
      <pubDate>Mon, 05 Aug 2019 17:17:37 +0000</pubDate>
      <link>https://forem.com/gocd/continuous-delivery-metrics-part-2-how-often-do-you-deploy-to-production-1ioi</link>
      <guid>https://forem.com/gocd/continuous-delivery-metrics-part-2-how-often-do-you-deploy-to-production-1ioi</guid>
      <description>&lt;p&gt;This is the second post in the series - &lt;a href="https://www.gocd.org/tags/cd-analytics.html"&gt;Actionable Continuous Delivery Metrics&lt;/a&gt;. &lt;a href="https://www.gocd.org/2018/10/30/measure-continuous-delivery-process/"&gt;In the previous post&lt;/a&gt;, we gave an overview of why metrics matter to your CD process and what metrics we recommend you measure. In this post, we’ll get deeper into the first metric: deployment frequency.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Deployment Frequency Is
&lt;/h2&gt;

&lt;p&gt;Deployment frequency otherwise known as throughput, is a measure of how frequently your team deploys code. This metric is often represented as a percentage and it answers the question “how often do we deploy to production or to another significant point in our CD pipeline such as a staging environment?”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JKIZrdxG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/2bc0e73dce53/Image%25202019-08-04%2520at%25209.32.03%2520PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JKIZrdxG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/2bc0e73dce53/Image%25202019-08-04%2520at%25209.32.03%2520PM.png" alt="deployment frequency concept"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We consider production deployment as a significant point in the CD pipeline and we are counting the number of times a deployment to production happens versus not happening. In the example above, we have 8 instances or opportunities to deploy, with only 2 deployments happening, so the deployment frequency is 25%.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Deployment Frequency Is Important
&lt;/h2&gt;

&lt;p&gt;The word "continuous" in continuous delivery implies high deployment frequency. Having a high deployment frequency means that you have more deployments, and gives you more opportunities for feedback on your software. More importantly, higher deployment frequency means that you’re delivering value to end users and stakeholders more quickly.&lt;/p&gt;

&lt;p&gt;According to &lt;a href="https://puppet.com/resources/whitepaper/2016-state-of-devops-report"&gt;the research done by the State of DevOps report team&lt;/a&gt;, high functioning teams have higher deployment frequency as compared to their less efficient peers. It is good to baseline your deployment frequency and try to increase it as much as it makes sense, in the context of your organization’s business and goals.&lt;/p&gt;

&lt;p&gt;However, deployment frequency has to be balanced with quality. You don't want to increase deployment frequency by removing tests. You want to be able to deliver more often to production, while maintaining or even improving quality. That's what CD is about and what the deployment frequency metric captures.&lt;/p&gt;

&lt;h2&gt;
  
  
  An Example: How to Use Deployment Frequency
&lt;/h2&gt;

&lt;p&gt;If you are measuring your pipeline and have low deployment frequency, what can you do? We’ll take a hypothetical example, and use GoCD, our continuous delivery server, to take you through how you can identify and act on deployment frequency issues. In our example, the team received a complaint from the business that they don’t get value very often. Let’s find out why.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7JMtb2lb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/fddcd382e827/Image%25202019-08-04%2520at%25209.32.37%2520PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7JMtb2lb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/fddcd382e827/Image%25202019-08-04%2520at%25209.32.37%2520PM.png" alt="example pipelines"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The picture above shows you the continuous delivery pipelines, represented in GoCD’s Value Stream Map (VSM). Here, GoCD runs through the value stream including some unit tests, then integration tests and smoke tests in parallel, and then eventually the regression tests. Finally, there are User Acceptance Tests (UAT) and a production deployment.&lt;/p&gt;

&lt;p&gt;To understand what is happening here, we start with finding out whether your deployment frequency is concerning. In our example, it’s easy to look this metric up in GoCD using the &lt;a href="https://www.gocd.org/analytics.html"&gt;GoCD enterprise analytics plugin&lt;/a&gt;: go to GoCD’s VSM view, select the part of the CD pipeline you care about, and see the deployment frequency (known as throughput in GoCD). We can see that the throughput is only 9%, which means out of the opportunities to deploy only 9% are reaching production. This number is too low.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lfkNIf-w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/1bbd2f978ee2/Image%25202019-08-04%2520at%25209.33.06%2520PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lfkNIf-w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/1bbd2f978ee2/Image%25202019-08-04%2520at%25209.33.06%2520PM.png" alt="deployment frequency in GoCD"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These can also be tracked manually in a spreadsheet or other tool. If you note down the status each time &lt;em&gt;BuildAndUnitTests&lt;/em&gt; ran, as well as the &lt;em&gt;production&lt;/em&gt; pipeline ran, , you’ll see more failures on the way to the &lt;em&gt;production&lt;/em&gt; part of the CD pipelines. In the table below, you can see when you track and plot the run times, in the same time period of five days, &lt;em&gt;BuildAndUnitTests&lt;/em&gt; ran many more times than &lt;em&gt;Production&lt;/em&gt;. Again, you see the deployment frequency is very low.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v-iKLDBH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/9fe23e07096f/Image%25202019-08-04%2520at%25209.33.33%2520PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v-iKLDBH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cl.ly/9fe23e07096f/Image%25202019-08-04%2520at%25209.33.33%2520PM.png" alt="deployment frequency in excel"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The main signal here is clearly that the deployment frequency is low. But why and how should we act on that? There may be many reasons for this. We recommend checking the following potential causes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Is your build very slow? Is slowness and lack of feedback causing the development team to avoid checking in often? Do the team respond by combining changes into bigger chunks and causing even longer delays?&lt;/li&gt;
&lt;li&gt;  Is your end-to-end lead time from commit to deployment too long?&lt;/li&gt;
&lt;li&gt;  Do you have builds that fail very often?&lt;/li&gt;
&lt;li&gt;  Do you have flaky tests? If tests are flaky consider understanding which ones are the biggest problem and &lt;a href="https://gauge.org/2018/10/23/taiko-beta-reliable-browser-automation/"&gt;addressing the root cause&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;  Are you &lt;a href="http://gettingtolean.com/toyota-principle-5-build-culture-stopping-fix"&gt;stopping the line&lt;/a&gt; to address other problems?&lt;/li&gt;
&lt;li&gt;  Do you have long-lived feature branches or pull-requests which are not merged often?. Very often we see the development team working hard on their branches, but the business won’t see that value until the changes are deployed. If your problem is that you have work going on in long-lived branches, consider feature toggles and &lt;a href="https://trunkbaseddevelopment.com/"&gt;trunk based development&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;In this post, we discussed what deployment frequency is, why it is important, and how to act on low deployment frequency. As we discussed in &lt;a href="https://www.gocd.org/2018/10/30/measure-continuous-delivery-process/"&gt;our previous post&lt;/a&gt;, there are three other important metrics we recommend measuring: lead time, change to fail percentage and MTTR. These metrics work closely with deployment frequency, and can will help you further understand the root cause of low deployment frequency. We we will cover the interrelationship of these metrics in future posts.&lt;/p&gt;

</description>
      <category>cd</category>
      <category>testing</category>
      <category>sdlc</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Continuous Delivery Metrics Part 1: Why measure your CD process</title>
      <dc:creator>Aravind SV</dc:creator>
      <pubDate>Mon, 22 Jul 2019 16:53:40 +0000</pubDate>
      <link>https://forem.com/gocd/continuous-delivery-metrics-part-1-why-measure-your-cd-process-2oia</link>
      <guid>https://forem.com/gocd/continuous-delivery-metrics-part-1-why-measure-your-cd-process-2oia</guid>
      <description>&lt;p&gt;As software and IT become key drivers for innovation in most organizations these days, the speed of software delivery becomes very important to their success. More and more teams are adopting Continuous Delivery (CD) and expect to benefit from the accelerated feedback loop CD offers. To understand whether you are improving and delivering on your goals, you need to measure you CD process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.gocd.org/tags/cd-analytics.html" rel="noopener noreferrer"&gt;In this blog series&lt;/a&gt;, we will share :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Why CD metrics are important&lt;/li&gt;
&lt;li&gt;  What metrics you should measure&lt;/li&gt;
&lt;li&gt;  A step by step guide to getting started&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Continuous Delivery
&lt;/h2&gt;

&lt;p&gt;Jez Humble defined continuous delivery on continuousdelivery.com as&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"the ability to get changes of all types - including new features, configuration, bug fixes, and experiments - into production, safely and quickly in a sustainable way."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In practice, a CD pipeline can look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcl.ly%2F8a0b1becab48%2FImage%25202019-07-21%2520at%252010.08.25%2520PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcl.ly%2F8a0b1becab48%2FImage%25202019-07-21%2520at%252010.08.25%2520PM.png" alt="CD pipelines"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the left of the diagram, the material is a repository such as git or svn. The delivery team commits a change, and your CI/CD server such as GoCD, runs build and unit tests. If these tests fail, the team immediately fixes any problems. The new version with those fixes goes further along the CD pipeline. If tests further down fails, again the team fixes them as quickly as possible. This process happens over and over in the life-cycle of an application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why measure your CD process
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Measurement, Feedback, and improvement&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcl.ly%2F9967b1958a89%2FImage%25202019-07-21%2520at%252010.08.59%2520PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcl.ly%2F9967b1958a89%2FImage%25202019-07-21%2520at%252010.08.59%2520PM.png" alt="Build, Learn, Measure"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we consider a feedback cycle like “Build, Measure and Learn”, metrics are a way to set specific and measurable goals, direct activities towards achieving those goals, and help you understand if you are achieving those goals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Predict future behavior&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Data will provide you more accurate estimates to your business. For example, if you know your lead time, you can more accurately answer questions about how long it will take for something to be ready for your customers.&lt;/p&gt;

&lt;p&gt;If you are considering parallelizing tasks or removing manual steps in your process, once you have some data about your current process, you can calculate the time savings of these improvement activities. From there, this data could potentially help your organization estimate dollars made or saved by certain specific improvements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Continuous delivery benchmarking&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once you have some data, the values can be used as your baseline. Those baseline values are key to understanding whether you are improving your own process as well as key to understanding where you stand relative to “high performing” teams.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcl.ly%2F9e0d2c3f5c80%2FImage%25202019-07-21%2520at%252010.09.36%2520PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcl.ly%2F9e0d2c3f5c80%2FImage%25202019-07-21%2520at%252010.09.36%2520PM.png" alt="CD Benchmarking"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Credit: Forsgren PhD, Nicole. Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations (Kindle Location 564). IT Revolution Press. Kindle Edition.&lt;/p&gt;

&lt;h2&gt;
  
  
  What metrics are important to measure?
&lt;/h2&gt;

&lt;p&gt;Once you introduce a CD pipeline and have established your path-to-production, the next step is to monitor its efficiency. We do not suggest measuring everything. At a high level here are the four metrics that we suggest using to help monitor your CD process. We’ll go deeper into details in future parts of the series.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Deployment Frequency a.k.a Throughput&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Deployment freqency is a measure of how frequently your team deploys code. This metric is represented as a percentage. It is the answer to the question “how often does code reach a certain point in the CD pipeline”.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Lead Time&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lead time is a measure of how long it takes from committing code to deploying it to a production environment. This metric is represented as a duration. It is the answer to the question "how long does it take from committing code to it reaching production".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Change Fail Percentage&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Change fail percentage is a measure of the percentage of changes that result in a failure. This metric is represented as a percentage. It is the answer to questions like “what percentage of changes break builds” and “what percentage of deployments result in a service outage”.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Mean time to restore&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mean time to restore (MTTR) is a measure of how long it takes to fix a build failure. This metric is represented as a mean duration. It is the answer to questions like "how long does it take you to restore service during a failed deployment".&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;This is the part 1 of our Actionable CD metrics blog series. We talked about why CD metrics are important, and an overview of the important metrics we recommend. &lt;a href="https://www.gocd.org/2018/11/30/deployment-frequency/" rel="noopener noreferrer"&gt;In the next post&lt;/a&gt;, we will dig deeper into each metric.&lt;/p&gt;

</description>
      <category>cd</category>
      <category>testing</category>
      <category>sdlc</category>
    </item>
  </channel>
</rss>
