How to Get Started with Value Stream Mapping
2019 State of Agile Report: Value Stream Management is emerging and important - although Value Stream Management made its debut in the report this year, 67 percent of respondents said that it "was important or very important to connect their organization’s business to its software delivery capability." An important step in making that connection is understanding the flow of value. You can begin to do that with a Value Stream Mapping (VSM) exercise.
What is Value Stream Mapping?
Value stream mapping is a Lean management tool that helps a team and stakeholders visualize the process steps and workflow involved in taking a product from ideation to end-customer delivery.
Why Value Stream Map?
The most important reason to create a VSM is to trigger improvement by developing a shared understanding. This happens through:
- Clear understanding of the actual processes in use. These often vary significantly from those that have been documented.
- Increased insight into impediments. Processes often vary from what's been documented because team members have developed approaches to work around significant obstacles.
- Identification of options to simplify, automate, or otherwise improve existing process steps. VSM can reveal a lot of unnecessary work; eliminating it can lead to significant improvements.
How to Map your Value Stream?
By mapping how value flows through your organization, you can identify areas of improvement. Typically, here’s a couple of things you’d want to look out for:
- Areas where work piles up.
- Delays that prevent rapid feedback.
- Restraints that inhibit smooth flow.
Preliminary Step - Identify Participants
Before starting to Value Stream Map, the most critical step is to make sure the right people will be involved. It is important to have stakeholders participate–individuals who can express the value of the processes and the importance to the customer–as well as team members working in the process who understand how the work actually gets done. Once you have that, you can begin.
Step 1 - Establish Scope
As a first step, establish the boundaries of your value stream and the major internal process steps. The SIPOC (Suppliers, Inputs, Processes, Outputs, Customers) diagram is a useful tool for creating this high level overview. Often, it is sufficient to focus on the IPO part of SIPOC (Inputs, Processes, Outputs). Doing this first helps ensure shared understanding of scope before mapping begins.
For example, a traditional software development IPO might look like the following:
- Requested Features
- Working Features
- Resolved Defects
Step 2 - Identify Process Steps
Take the processes that have been identified and drill into each of them to understand all the steps involved. It is useful to perform this step backwards, starting from the final delivery or the exit of the process and flowing back to the beginning. It is easier to ensure all the steps have been identified that way.
For example, a traditional software development flow might have the following steps:
- Feature definition
- Business acceptance
- Staging deployment
- Smoke test
- User acceptance
- Production release
- Smoke test
- Go-live decision
Step 3 - Identify Roles and Groups
Identify the roles or groups involved in each step.
For example, a traditional software development flow might have the following groups or roles:
- Feature definition (Business Stakeholders, Product Owner)
- Design (Architect)
- Development (Development)
- Test (Quality Assurance)
- Business acceptance (Product Owner)
- Staging deployment (Operations)
- Smoke test (Development, Quality Assurance)
- User acceptance (Business Stakeholders)
- Production release (Operations)
- Smoke test (Development, Quality Assurance, Operations)
- Go-live decision (Business Stakeholders)
Step 4 - Identify Improvements
At this point, you will have a common understanding of the steps involved in your workflow. You can use this to identify improvements. Walk through the flow as a group and identify pain points, delays, areas where work builds up, or frequent cycles of rework. Some may be obvious already. Some might be more difficult to identify.
It can be helpful to determine average Cycle Times, Lead Times, and Perfect Completion percentages for each step.
- Cycle Time is how long a process step takes. Example: for the "Test" step it typically takes 1 day from start to finish. Cycle Time is 1 day.
- Lead Time is how long a process step takes, plus how long work typically waits ahead of that step before being picked up. Lead Time is Cycle Time plus wait time. Example: although the "Test" step typically takes 1 day, there is an average queue of 10 items waiting to be tested. On average, 2 items are moved through "Test" each day, so the queue represents 5 days of wait time. Lead Time is 6 days.
- Perfect Completion Percentage measures how often a process step is completed perfectly, without needing any rework. Example: our "Test" step allows an average of 2 defects through each week (5 days). Since we average 2 items each day, and 10 each week, we have a rough Perfect Completion Percentage of 80%.
If you capture these values, remain focused on the whole. All the steps are coupled together and long Cycle Times or Lead Times for one step often signal of problems in others. Avoid decisions or improvement efforts that will suboptimize the overall flow.
Optional Step 5 - Calculate Totals
If you capture Cycle Time, Lead Time, and Perfect Completion Percentage, you can calculate totals:
- Total Cycle Time = Sum of all Cycle Times
- Total Lead Time = Sum of all Lead Times
- Process Cycle Efficiency (PCE) = Total Cycle Time/ Total Lead Time
- Perfect Process Percentage = Multiply all the steps Perfect Completion Percentages together
Don't be surprised if your PCE is in the single digits! That's typical for transactional processes involving knowledge work, like software and solution development.
Step 6 - Prioritize and Initiate Improvements
The greatest value of Value Stream Mapping in transactional processes is establishing a shared understanding that creates a basis for initiating improvements. VSM creates greater empathy, fosters cross-functional collaboration, and provides a shared understanding of the value of process changes. Once you've done the work, it should be straightforward to identify the greatest opportunities for improvement. Highlight these directly on the map, and have the team determine which of them they want to start with.
Sometimes, whole process steps and hand-offs can be eliminated by establishing cross-organization working agreements and cross-organization quality standards, like Definitions of Ready and Definitions of Done. Teams agreeing to a shared Definition of Done, for example, can accelerate quality checks and eliminate rework downstream because there is increased trust that quality has been built in.
Lead Time and Cycle Time can often be improved by automating process steps, or parts of them. Automation can accelerate feedback, an important strategy for improving quality. By automating regression tests, for example, your organization can see the following improvements:
- Increased quality, because automated tests free engineers to focus on exploratory testing.
- Increased speed, because automated regression tests can run at night or in parallel with other work.
- Increased frequency of releases, because the automating regression tests can run more consistently and more frequently.
How are you using Value Stream Mapping to improve your processes? If you have additional insights, we'd love to hear them.