Saturday, September 7, 2013

3 Simple steps to build your Continuous Delivery Dashboard

Continuous Delivery is gaining traction now, but it is never easy to get funding :-|| But using Lean Value Stream Maps you can now showcase tangible efficiency gains by following these 3 simple steps to build your Continuous Delivery dashboard.

In uncertain times, people always struggle with executive funding for resources (infrastructure asset purchases and/or dedicated people). This is where I have borrowed the Lean Value Stream maps (VSM) to showcase visible dashboards focused on process efficiency gains, resulting in hard $$$ savings, and help win executives approval, for funding the various activities under the Continuous Delivery initiatives.

Here is a basic definition for Continuous Delivery, which is a set of practices and  principles aimed at, building, testing and releasing software faster and more frequently. The practices would typically include configuration management, continuous integration, automated testing, deployment automation, build pipelines and an agile team delivering frequent releases.

From the Lean camp, the Value Stream Map (VSM) is a lean manufacturing technique used to analyze the flow of materials and information required to bring a product or service to a consumer.
But for our needs and this scenario specifically, we are only focusing on the value stream map for the engineering organization delivery to UAT stage (which may include the deployment operations team).

The primary VSM metric to measure is the Process Cycle Efficiency where the cycle time is the total time measured from the developer checkin to the deployment and testing of a ‘candidate’ release on a UAT test machine or similar or the complete time it take to do a ‘NULL Release’(“If we changed one line of code in our application (or system), how long would it take us to deploy it into production using our regular release process?”)

Formula for Process Cycle Efficiency (PCE)
Process Cycle Efficiency (PCE)  = (Value Added Time / Cycle Time)
where Value Added Time – time spent producing a product or service for which customer is willing to pay for.
Cycle Time – Total time from start to finish including the Value Added and Non Value Added time (defined as time spent in setting up systems, equipment turnover, handoffs or simply WASTE’s in the production process)

So the 3 simple steps to build your Dashboard are -
  1. Build Process Cycle Efficiency (PCE)  for Current State
  2. Build Process Cycle Efficiency (PCE)  for Target State
  3. Calculate and Track Efficiency Gains

Step 1 – Build Process Cycle Efficiency for Current State


Let us assume a simplified typical 3 stage process which includes Build – Deploy – Test activities. Each of these activities may include multiple steps and can be drilled down, but for simplicity we keep this at a high level. A typical PCE Value Stream would appear as below –


 and the typical timelines for each of the activities can be depicted as –

All data in MINUTES
ACTIVITY
Legend
Time Taken
Build Wait Time*
W1
180
Build Execution Time
X1
20
Deploy Wait Time*
W2
300
Deployment Execution Time
Y1
80
Test Wait Time*
W3
300
Test Execution Time
Z1
100
Total Cycle Time
TT1=W1+X1+W2+Y1+W3+Z1
980
Value Added Time
V1 =X1+Y1+Z1
200
Process Cycle Efficiency
PCE1 = V1/TT1 %
20.41%

* Wait Time = Non Value added activities, which could include handoffs, signoffs, approvals, hardware latency, software latency etc..


Step 2 – Build Process Cycle Efficiency for Target State

As you implement the core practices of Continuous Delivery- Continuous Integration, Automated Testing, Continuous Deployment, Build Pipelines etc., the Target PCE Value Stream would appear as below –

and the typical timelines for each of the activities can be depicted as below –

All data in MINUTES
ACTIVITY
Legend
Time Taken
Build Wait Time*
W4
0
Build Execution Time
X2
20
Deploy Wait Time*
W5
10
Deployment Execution Time
Y2
80
Test Wait Time*
W6
10
Test Execution Time
Z2
100
Total Cycle Time
TT2
220
Value Added Time
V2
200

Process Cycle Efficiency
PCE2
90.91%

*Wait Time – Reduction in wait times as a result of following the core practices or waste removal for the non value added activities.


Step 3 - Calculate and Track Efficiency Gains


The PCE can be depicted on a monthly or quarterly graph to show progress, as shown in the example below. Based on the financial data, costs can be further assigned highlighting the time savings and the resultant cost savings per quarter.
Therefore Total Cycle time Savings achieved are = TT2-TT1=  980 – 220 = 760 minutes ~ 
13 hours SAVED = $$$ Savings


          Continuous Delivery Progress Dashboard


Assuming that the above scenario was for a single platform and single build, but these savings could increase exponentially, based on the number of parallel builds/deployments, across multiple platforms in a large scale enterprise product.

Let me know if this helps you move forward in your continuous delivery journey and if you have similar experiences with your executives and what was your solution. Till then you may wish to mull the below quote, while you try to Sell the benefits and joy’s of Continuous Delivery!

I have never worked a day in my life without selling. If I believe in something, I sell it, and I sell it hard. -Estée Lauder`

ShareThis