Do your efforts to improve software development fall short due to confusion and too much debate? Does your organization have a clear picture of what is achievable, and are you sure you’re moving in the right direction? Can you determine how much business value you've delivered so far? Are the bottlenecks in your process known? Do you know how to optimize your current process?
What is value stream mapping (VSM)?
Popularized in the ‘90s by James Womack and Daniel Jones, value stream mapping is a lean enterprise technique that is currently used by many organizations. In short, the value stream is the sequence of activities that are performed by the organization to deliver customer requests. Value stream mapping helps determine what is valuable and what doesn’t bring value by identifying activities that matter to your customer. The ultimate benefit of using VSM is a better understanding of how to improve your current development process to generate more value and impact.
6 steps to optimizing software delivery
- Select the process
Any process can be modeled as a sequence of activities. For example, a system development life cycle is a value stream consisting of product specification, design, development, deployment, operation and maintenance, and finally, disposition. In this example, product design can be viewed as a value stream segment.
- Identify the parties involved in the project
Select a project sponsor and team. Keep in mind that each area of the process should be represented. Holistic thinking helps identify and set expectations, which in turn reduces resistance to change.
- Create the current state map
Creating the current state map helps establish a better understanding of how work is currently done. Documenting your current process is key to success at this stage. The goal is to identify the specific items that flow through your value stream.
- Challenge the current thinking
Make sure that what you are doing adds value—if there are actions in your process that do not add value, stop doing them. Look at the software development waste types for ideas. Mary Poppendieck and Tom Poppendieck identify these and transfer them from manufacturing to software engineering in their book, Lean Software Development: An Agile Toolkit. The waste types are:
- Partially done work
- Extra processes
- Extra features
- Task switching
- Management activities
- Generate the future state map and execute improvements
Think of what can be done to reduce or ideally eliminate the identified wastes.
While working on the future state map, follow the principle that humans should do only what they can do best, and the rest should be automated. The future state design should aim to eliminate hands-on work and deliver completed software projects in less time with higher quality.
Talk about the changes, let people ask questions—this will help reduce resistance to change. As you start executing improvements, remember that value stream mapping is an evolutionary process, and you might need to adjust the original plan. The value stream should be continuously improved; it will not be perfect the first time.
- Measure benefits
Karen Martin and Mike Osterling identify key performance metrics for software delivery in their book, Value Stream Mapping:
Total lead time: the total time it takes to deliver on a customer request
Total process time: the total work effort required by all functions on the timeline critical path of the value stream
Activity ratio: the degree of flow in the value stream
Compounded effect: the quality of output across the value stream
Well-executed value stream mapping not only improves the way work gets delivered, but it also provides a transformational opportunity for your organization and a tool to facilitate a shift in mindsets and behaviors.
Download the Open Organization Guide to IT Culture Change
Open principles and practices for delivering unparalleled business value.