What is Value Stream Mapping
A Value Stream Map is a representation of the flow of work, inventory and information from supplier to the customer through your organization. The VSM enables you to see at a glance where the delays are in your process, any constraints and excessive work or inventory.
For IT organizations, one common notation is that inventory is a number of tasks in the backlog. Joel Spolsky wrote an amazing article that explains and expands on this this concept.
Usually a VSM is a graphical chart that includes:
- your customer
- your supplier (if and when you use external contractors to do work)
- the process inside of your organisation (what happens to items of work in your org.)
- the feedback loops (customer asks for features, you communicate requirements to the supplier, etc...)
Why do Value Stream Mapping
In bigger organizations, when work is split into specialized cells - often the concept of the whole system is not in focus. This leads to problems like optimizing to local optima. For example, if you have a team that manages a Jenkins server and another team of developers who need to use it - the Jenkins admins can do improvements and work that looks good in their JIRA. But actually, hurts the developers using the system. In a Systems Thinking organization, people would work towards improving the system as a whole, not adding improvements that are local and either have no effect on the whole or hurt the process.
The purpose of a VSM is to provide optimal value to customers of the organization, with minimum waste in the value creation process (Lean). "Value" is what the customer of the organization is buying.
How to create a Value Stream Map
Creating a VSM has a goal of its own, improving the organization. Thus the first step is mapping the current flow of work and information. Next step is designing and implementing some improvements, and in the future continue iterating and improving as well. The VSM is a visual dashboard showing the work and measurements around it, so the bottleneck is clearly visible and can be controlled (using Theory of Constraints).
Steps to create a VSM based on the description in most Lean books:
- Specify the value from the standpoint of the customer.
- Identify the VSM for each product family (there can be more than one)
- Improve the flow of work.
- Establish pull. The customer can now pull work out of the VSM, not get pushed work from it.
- Iterate until perfection.
In an organization that is using Kanban to manage work, it is used to manage the pull of value from the customer standpoint. Unfortunately, often people don't really know how Kanban works and why it is defined as it is, so they use Kanban to push work onto customers (or the market) - this often leads to a lot of wasted work and frustrated people who don't see their work having an impact.
Great reference for further reading about the subject: