Using Value Stream Mapping as a Gap Analysis Tool
Value stream mapping is an extremely powerful tool. As a way of finding gaps in practice or understanding of a process or methodology, I frequently use value stream mapping as a way to tease out information from the team on how they actually work.
Frequently we assume that if we define a process, e.g. in JIRA, Rally or a physical kanban board, that the team will automatically adhere to the process and all will be fine. I find this to be false more than half the time. Some of the reasons why gaps between process and how teams and people actually work could be:
- The team or team member interprets the process differently.
- Process drift, where a process may have made sense once upon a time, but no longer makes sense. The team could either follow it blindly or not follow it at all due to practical reasons.
- There could be an impediment to following the process.
- Mixed messages, whereby a process is define but someone, like a manager, may tell an engineer to skip a step to save time. An example would be “let’s skip writing unit tests until we deploy and come back later to do it.” If the exception happens often enough, that becomes the real process, regardless of what’s on a board.
To find the truth in how a team actually works, I use value stream maps to provide a way for the teams to express how they actually work. I will frequently observe much of the following as part of doing this exercise:
- One or more team members may not even understand the current process.
- Developers and testers don’t actually know what Product Owners do
- Developers and Product Owners are unaware of the challenges facing testers.
- Team members don’t even know why they are following parts of the process.
- Team members who have little or zero visibility in to what happens after code is deployed or packaged and ready to ship.
Using the value stream in this way will uncover the truth in how the team actually works and as a benefit, promotes sharing across team members in to how each person contributes.
How to use the value stream to gaps and impediments.
First, I’ll need to define a couple of concepts.
- Value: An article or object that can be created that provides benefit to an end-user.
- Value adding: The amount of value that is increased in the article or object as it is created.
- Start: This represents the begin state of the creation of the object or article.
- End: This represents the end state of the article or object and is ready to be delivered or used by a user.
- Activity: A value adding action.
- Steps: The process or stage as part of creating the article or object.
- Impediment: Any barrier or obstacle that prevents or slows down the creation of an article or object.
For this exercise, use post-it notes as they are easy to move around.
1. Define the beginning and end states.
The beginning usually starts with an idea. It could be yours, from an executive, wherever and that idea is to be turned in to something that is usable or sellable. In software, and idea turns in to code and code in to features which are used by users. The end state could be features or outcomes.
2. List out all activities performed by the team to go from start to end.
Have the team list down all the things they do to go from beginning to end. Use one post it per activity.
3. Arrange activities into a sequence.
Activities happen in a sequence. Sort them from beginning to end.
4. Group activities which go together.
Group activities which can happen in parallel together.
5. Name the steps.
Find a name that represents the group of activities. For example, it could be design for design related activities.
6. Identify what happens to go between steps.
Discuss what happens between steps. Identify impediments, hidden or missing work. Identified actions can contribute to a kaizen backlog.
Value stream maps are amazing simple yet powerful. They are able to visualise processes, an exercise to define a team’s definition of done and is a tool to control work-in-progress via WIP limits. In this case, value stream maps are used to find gaps in processes, identify real work from perceived work and as a kaizen tool to identify hidden work and impediments.