Value Stream Mapping (VSM) has become a powerful tool for organizations to continuously improve their DevOps processes. Learn how you can eliminate bottlenecks from your production workflows using VSM with vRealize Cloud Management.
Value Stream Mapping is a highly effective method used within the DevOps community to optimize a product or service lifecycle for the delivery of customer value. At the recent DevOps Enterprise Summit 2020, one customer after another (for example, American Airlines, Discover and US Bank) shared how they have used Value Stream Mapping to help accelerate their DevOps transformation within IT.
Too often in IT, we set our priorities, identify key metrics and analyze our processes within the vacuum of our technology silo or organizational structure. Have you ever heard something like: “Yes, we could trim another five minutes off the provisioning process, but it will still take the developer six weeks to get an environment because of the (enter slow, manual process here)”? If so, then read on!
What is Value Stream Mapping, and why is everyone talking about it?
A value stream is the complete set of actions and steps involved in delivering value to customers, from the initial customer request to the customer’s realization of that value.
Value Stream Mapping is the analysis and visualization of the value stream.
While VSM started off as a lean manufacturing method, it has evolved into a valuable tool for optimizing any flow of work that delivers customer value, whether it’s a customer requesting a new feature in your software application or ordering a birthday cake from a bakery.
The power of VSM is that it drives a blameless, collaborative analysis of value delivery across the entirety of a value stream. The collaborative discovery process and the resulting visualization enable stakeholders to objectively assess cross-functional processes, identify inefficiencies and gaps, and prioritize areas of improvement.
Wait, what’s Value Stream Management?
We use the same acronym (VSM) for Value Stream Mapping and for Value Stream Management. While the two are connected, they’re not exactly the same thing. Value Stream Mapping is a component of Value Stream Management, but Value Stream Management goes much further, connecting IT value to business value by adding additional business considerations such as opportunity cost, risk and revenue. Here, we’re focusing exclusively on VSM as Value Stream Mapping.
The Six Steps of VSM
- Identify the value stream to map. For DevOps, the value stream is likely to be the service or product lifecycle, but other examples could be the delivery of an infrastructure component or even an incident or outage response process.
- Create a cross-functional team of key stakeholders to collaborate on the VSM process.
- Identify and graphically map the “As-Is” (i.e. current) stream, ensuring it’s broken into stages, and add the metrics for each stage (see ‘VSM metrics’ below).
- Based on the map, determine areas of delay, hand-offs, re-work and other areas that don’t add customer value.
- Collaborate to recommend improvements and prioritize changes.
- Implement recommendations, measure key metrics and repeat.Like everything else in DevOps, VSM is an iterative process where the feedback loop is a critical core component.
VSM typically uses four core metrics to analyze the flow of work through each stage in a value stream. These metrics should be derived from actual timings for each stage (not based on SLAs):
- Lead Time (LT) – Time to complete the stage, from intake to hand-off
- Process Time (PT) – Time it could take to complete the stage, if all information were complete and the process were uninterrupted
- Complete & Accurate (%C/A) – How often the stage can be completed without needing additional information or corrections
- Value Added (VA) – A ‘yes’ or ‘no’ indication of whether the stage adds direct customer value
The first output from the VSM process is a graphical mapping of the “As-Is” stream, including the core metrics identified for each stage. To illustrate how the visualization can immediately show areas of inefficiency, I’ll use a simple server provisioning process as an example (in reality, server provisioning would be mapped as a sub or child process within a larger value stream).
As you can see, areas of inefficiency are immediately apparent. For example, the Change Approval stage shows:
- 50% Complete & Accurate – Half the time, this stage cannot be completed without gathering more information or correcting something
- 1-hour Processing Time – This stage could be completed in one hour, if there were no delays
- 7 days Lead Time – This stage typically takes seven days to complete, which could be time in the queue, time awaiting additional information, or time waiting for the change review board
The metrics across all stages, from ops intake to ops hand-off, show that while it typically takes around 15 days to complete the stages, the actual processing of work only accounts for four hours over that time (15 days LT, four hours PT). An Activity Ratio (AR) – which is the total process time divided by the total lead time, times 100 – can also be derived from these metrics.
Does this example seem particularly efficient or agile? While the customer (in this case, the developer) is likely hearing that IT can “provision a server in an hour”, their actual experience is very different, leading to frustration, mistrust and a loss of operational credibility.
Add in more steps or hand-offs (like a security or architecture review), and the process becomes even less efficient. And these examples only include a subset of the provisioning process for a typical enterprise. There may well be additional stages completed by the finance or procurement team, or even external resources.
VSM process improvement
With the visualization in hand, a collaborative approach can be taken to identify and prioritize areas for improvement and streamlining – optimized for the flow of work in its entirety. This visualization may be the first time many stakeholders and/or leadership have seen the entire process from inception to delivery.
When implemented correctly, the VSM process is a powerful driver of transformational change. However, like any transformation, it requires leadership support and stakeholder collaboration. VSM can be effective at a macro and micro process level – for example:
Micro: Customer = Developer Value = Usable application environment
Macro: Customer = External Value = Software feature release
The closer the VSM activity comes to the external paying customer (in fact, this is the purer form of VSM), the more critical it is for leadership to drive the process across all of the stakeholder groups and support the implementation of the resulting recommendations.
Automate, automate, automate
A consistent recommendation resulting from the VSM process is to prioritize automating further stages in the value stream. Most of your product and service delivery stages, if not all, should be automated to increase quality and consistency and reduce wait and hand-off times. Technical resource automation can be implemented through the use of cloud services, infrastructure-as-code, configuration management tools, orchestration and delivery pipelines.
vRealize Cloud Management provides the capabilities to address these, plus a wide range of additional automation use cases, including:
- Core infrastructure-as-a-service (IaaS) automation
- Integrated continuous delivery pipelines
- Integrated workflow automation
- Integrated serverless automation with built-in functions
- Software configuration, security and infrastructure automation
Our recent acquisition of SaltStack completes and extends our offering, enabling us to deliver full-stack automation – from apps to infrastructure. VMware customers seeking software configuration management, infrastructure and security automation capabilities can now purchase SaltStack products.
Moving forward, we expect to integrate the SaltStack product set with vRealize Automation and offer it as a core part of the vRealize Cloud Management portfolio. Additionally, we expect to invest in Salt and other open-source projects previously maintained by SaltStack.