Value stream mapping, or VSM, denotes a technique for visualizing individual project processes to identify and eliminate waste. DevOps organizations often use VSM to reduce bottlenecks in the software development life cycle (SDLC). In this blog, we’ll outline the value stream mapping steps that can help you improve the flow of your SDLC and release products faster.
Value Stream Mapping Steps
The value stream mapping steps for DevOps include:
Step 1: Identify Processes
First, you need to brainstorm a list of potential processes which could most benefit from VSM. You need to prioritize these processes based on how critical they are to your organization, how much waste is involved, and how easy the potential fixes would be. Your first value stream mapping process shouldn’t necessarily be the most complex or high-value, but rather one that has clearly identifiable steps, goals, and issues. This increases your chances of success, helping you build momentum for your next VSM and gradually learn how to tackle more challenging processes.
Step 2: Create Your Team
Your VSM team should include representatives from every cross-functional team involved in the process. This will ensure that you have a complete picture of your processes and that you address issues from multiple perspectives.
Step 3: Map Steps
Now you need to map each of the steps within the selected process. Generally, the best way to accomplish this is by starting with a new project so you can monitor and document each step and handoff as they occur.
Step 4: Collect Data
When mapping the process’s activities, you should also collect and record data, including:
- The specific people or roles involved in each step
- How long it takes to finish each step
- The wait time in between each step
- How frequently a “finished” task is re-opened because further work is required
This process data will provide additional context about where project waste occurs.
Step 5: Create a Timeline
Once your software has been released, it’s time to turn your list of steps and process data into your visual value stream map. Doing so will establish a complete timeline of each individual step and the entire project.
Step 6: Analyze Your Map
You’ve completed a VSM, but the hard work is just beginning. Now, you need to analyze your VSM [link to Understanding Value Stream Analysis And Its Impact On Your Systems (Publishing on 7/19)] to identify the problem source(s). Then, you must determine how you will attempt to solve these problems to reduce waste in your SDLC.
The Theory of Constraints
You may find it helpful to use the Theory of Constraints (TOC) to narrow in on sources of waste and develop solutions to those issues. The TOC states that every process has a constraint (a.k.a., a bottleneck) that affects its efficiency. Without addressing that constraint, you’ll never reach peak efficiency, no matter how many other areas you optimize.
The Theory of Constraints was initially conceptualized as a lean manufacturing methodology, but like many other lean techniques (including value stream mapping), it’s been successfully adapted to DevOps software development. In that context, the TOC offers two methods for identifying and solving problems in your SDLC:
Method #1: Five Focusing Steps
The Five Focusing Steps are designed to help you identify and eliminate constraints. They include:
Identify the bottleneck in your process that is impacting efficiency.
Use whatever means you have at your disposal to fix the problem.
Ensure your upstream resources and end-to-end process activities are aligned to help alleviate the constraint.
If the constraint hasn’t been resolved, determine what further actions or resources are required to fix the problem. This step is often repeated until a true solution is identified and implemented.
As with everything in DevOps, the Five Focusing Steps should be repeated so you can continuously improve your processes.
Method #2: The Thinking Processes
Another way to use the TOC to identify and eliminate constraints in your SDLC is through the Thinking Processes. The Thinking Processes are designed to help you identify the root causes of undesirable effects (or UDEs) and then remove those UDEs without creating new problems. You use the Thinking Processes to answer the following questions:
- What needs to be changed?
- What should it be changed to?
- What actions will cause the change?
The Theory of Constraints should help you determine how to take action based on the information gleaned from your VSM.
Value Stream Mapping Steps to Improve Flow in Software Development
It’s important to remember that value stream mapping is not a one-and-done solution. After you’ve created your first VSM and used the TOC to identify and fix issues, you should create a second VSM for a future project or iteration. This VSM will visualize the new processes and resources that you’ve put in place based on what you’ve fixed and learned in the previous iteration. Your new VSM will be a living document that you update and change as you continuously improve and optimize your SDLC.