The London Underground is known as “Tube” was opened in 1863, and it is the oldest underground railway in the world. It covers more than 402 Km with 270 stations, serving 1.3+ billion passengers a year. The complexity of managing the high number of trains, lines, and people can get very overwhelming while having to innovate to better transportation to fit modern life.
When I look at Tube history, it makes me think about software delivery in the Enterprise Organizations.
The tube started as one line, then more and more were added. It wasn’t planned to look like it is today, it just evolved to it, much like software development. The software is built to serve one process then gets extended in many unintended ways. The challenge is pulling it all together and continue to innovate.
Both have a constant need to innovate, and both need to focus on value and user experience and both need to transform from time to time, without disrupting the current environment. Both require:
- Faster innovation and delivery
- Focus on value
- Give the best user experience
Enterprises are being required to transform to stay in business.
Analysts say that Digital transformation continues to help companies to innovate and drive the software industry.
To achieve innovation with quality and speed, I want to go over some of the “old school" value stream management points that are now coming to life in software delivery.
Value Stream management is not a new term, and it has been around for decades since Toyota created the LEAN process. The original name was called “material and information flow.” Their purpose was to explain and document a current state or design ideal and future states of a process.
A value stream is a long-lived series of steps used to deliver value, from concept or customer order to delivery of a tangible result for the customer,” according to © Scaled Agile, Inc.
Agile started at the team level, and teams are generally pretty good at agile, they get it! Many have been doing it for years now.
The more significant questions now are coming from the business, about how they can assure they are getting value out of all this agile work. For software, the value stream is about scaling the agile process and making sure it is delivering value efficiently.
As we move to the Enterprise Agile Development and DevOps, Value Stream Management becomes more common in helping organizations to answer the following questions:
- Are we supporting our key business needs to be relevant in the market?
- Are we aligned with our business goals?
- Where are the bottlenecks in our application delivery?
- How can we optimize and deliver value?
Optimizing Value Streams
I had the opportunity to take the SAFe DevOps practitioner Class last July (second SAFe DevOps class delivery in the United States). My coach was Tamara Nation, and she gave us excellent tips on how to bring all together to manage and optimize value streams.
In this blog, I am going to focus on what I learned to start optimizing value streams. Here are my key takeaways:
Identify your value streams
- You can start with the operational value streams and map the technology value streams.
- You can read more about defining value stream here.
Determine which value stream you want to manage and optimize.
- You can’t optimize all flows at once, look at one single flow and focus in optimizing the part that you have control over.
- SAFe has a nice template that you can use to start mapping your value stream, and you can leverage it. The model from SAFe is the “DevOps transformation canvas.”
- If you use the template, you can focus on one specific value stream.
DevOps transformation canvas (sample)
- Understand how the value flows through the enterprise and various functions of the business
- Bring teams together: Enterprise Agile and DevOps
- I see that Enterprise Agile and DevOps teams need to come along! They cannot be separated. While companies are getting mature in the Agile development, Continuous Integration and Delivery (CI/CD), they are working in silos. DevOps is becoming another silo in the application development and need to be included in the whole stream.
- Identify the first and last step of your value stream, focus!
- Map the current state of the value stream: here it is a sample of a pure value stream.
- Remember to start where you have authority to change so you can optimize.
- Identify owners/participants in each step.
Measure the time for each step; SAFe suggests to calculate the following aspects:
- Lead Time (LT): time from when work was ready after the previous station to complete
- Process Time (PT): Actual value-added work
- Percent complete and accurate (%C&A): Percent of work that the next station could process as is
Here is an example:
One more example created in my class:
The step “Test,” has a Process Time of 24 hours and Lead Time of 40 hours. In this case, the Percent complete and accurate (%C&A) is 95%, which can be optimized.
- Calculate the total metrics for the whole value stream:
- Sum the total of Process Time
- Sum the total Lead Time
- Calculate Activity ratio for the whole value stream:
- Activity Ratio = Process Time / Lead Time
- Calculate the “Total Percent complete and accurate ratio” (%C&A) to identify how long the process can be optimized.
- Total Percent complete and accurate (%C&A) = %C&A step 1 * %C&A step 2 * %C&A step n * 100
- Consider multiplying the Percent complete and accurate (%C&A) for all the steps and then multiply by 100
- The results will show you how much Lead Time can be optimized in your value stream.
Image from Scaled Agile – SAFe
Once you map your value stream, you will be able to answer some of the following questions:
- Are you ready to provide value to the business and innovate faster?
- How well are the steps mapped to the value stream?
- What can be done to remove the more significant bottlenecks?
- What can be automated?
- Do we have visibility in each step of the delivery pipeline?
- What risks do I have that I can prevent?
- Do you have unnecessary steps?
- Now, take some time to re-design your value stream removing waste and optimizing the process. Here is an example of the new proposed optimized value stream:
The example above is just the first manual step to maximize your specific value stream.
Now, think about hundreds of Agile and DevOps teams doing their own “thing,” with no visibility in the multiple value streams and pipelines, it can slow down the application delivery and not focusing on what is essential.
New tools are emerging in the market to support “Value Stream Management”.
We need to learn from the start-ups and bring it to the enterprise. We must to align with the business, focus on innovation, remove unnecessary work, automate the steps that we can and deliver in small batches.
For value stream optimization, the ideal is starting small, see the results and continue in the journey to make it better every time.
In my next blog about value stream management, I will focus on Business Value.
Leave your comments and let's talk more about value stream management and tools soon.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.