Value Stream Mapping for Software Development
Part 1: Current State
November 1, 2022
By Darren Dolcemascolo
While Value Stream Mapping was originally applied to physical product fulfillment from order to shipment, it can be used for any fulfillment of a request or order. Can software development organizations take advantage of value stream mapping? Absolutely. Let's walk through a step-by-step approach.
There are 3 major steps to value stream mapping. First, we identify our value streams and select one to analyze and improve. Second, we map the current state. Finally, we map the future state and create an action plan to achieve it. Value streams are typically service lines or product lines that are provided to a customer. They typically run from a customer order or request to completion or fulfillment of the request or order. Core value streams are those that serve an external customer. Support value streams typically serve an internal customer. A core value stream might be a software development service offered to external clients, while an example of an internal value stream might be IT requests or even a software service that is provided to an internal department.
Once a value stream and scope is selected, we gather a team, consisting of those who understand the current flow and can make decisions about the future state. Each major function in the value stream needs to be represented. Next, we can map the current state.
This includes documenting customer and process information, identifying main processes, selecting process metrics, performing a walk-through, establishing the prioritization of each process, and calculating summary metrics.
1. Document the requirements of the customer. We need to understand the volume required as well as other requirements like turnaround time or special quality requirements. How many requests or orders per day? What is the desired turnaround time?
2. List the key processes. In value stream mapping a single process box is distinguished from another when there is a time delay that is relatively significant between the two processes. If a request sits on a person’s desk for approval. Then it is approved and moves to another person’s desk where it waits, there would be two process boxes with a waiting time before each of them.
3. Select metrics to collect. At a minimum we want to know the hands-on processing time or range, turnaround time, and perhaps a quality metric like %complete/accurate information going into the process or pass/fail rate.
4. Collect the data and fill in the metrics through observation and other reliable data collection methods.
5. At each step, ask how does each process know what to work on next is important in value stream mapping. Do we have a push system where inventory of items pile up waiting? How does the process know which item to work on from the pile? Or do we have a pull system- perhaps a Kanban system- where it is obvious what to work on next.
6. Create a timeline and summary metrics. How much value creating time or touch time versus turnaround time (total time elapsed from start to finish).
7. Have the team brainstorm wastes. This helps everyone to see what the key issues are before moving on to creating the future state.
Click here to subscribe to our free e-newsletter Learning to Lean and receive up to three articles like this one each month.