...rants by Asheesh Mehdiratta on Coaching, Transformation and Change

Category: continuous delivery

3 Simple steps to build your Continuous Delivery Dashboard

Continuous Deliveryis gaining traction now, but it is never easy to get funding :-|| But using Lean Value Stream Mapsyou 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, testingand 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`

Continuous Testing: Building Agility at Scale


As organizations scale their agile efforts and work across distributed locations, integrate products across business units, and develop solutions with their partners and become suppliers, they are facing integration challenges at an even bigger scale.  I will be discussing some of the challenges and solutions in upcoming postings.

The worlds of testing, development and the operations teams had already been struggling to collaborate in the software industry (with or without agile) and only recently have been able to reconcile to some extent, led by aggressive ALM (application lifecycle management) vendors and the upcoming DevOps movements. But the sheer size of integration due to scale complexities has further exaggerated this problem !

But the agilistas have many  tools to beat this complexity and the challenges can be  overcome by combining these. Reflecting back and recognizing the power of available techniques –  from extreme programming methodologies to the power of automated testing –  the agile toolkit offers a heavenly state of “Continuous Testing”, which allows the organization to reduce the costly integration errors and provide continuous visibility to the business stakeholders while maintaining continuous high quality benchmarks.

Continuous Testing is based on the integrated framework of continuous integration (build stage) and continuous delivery (deploy stage) pipelines, which allow the engineering teams to run multiple builds and deploy cycles per change (using a continuous integration server) and performing the testing activities in parallel, across the various application life-cycle stages. The term ‘continuous testing’ was coined in 2003, to run the tests continuously to enable rapid feedback, while the source code is being changed.


I will be discussing more on the details of Continuous Testing in my upcoming series. Keep watching this space….


© 2024 agile journeys

Theme by Anders NorénUp ↑