6 steps to optimize software delivery with value stream mapping

6 steps to optimize software delivery with value stream mapping

Learn how VSM can help you streamline processes, boost efficiency, and better meet customer expectations.

a checklist for a team
Image by : 

Subscribe now

Get the highlights in your inbox every week.

Subscribe today.

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?

If you are looking for a tool that will help you answer these questions, consider integrating value stream mapping and lean concepts into the way you deliver software.

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

  1. 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.

  1. 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.

  1. 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.

  1. 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
  • Waiting
  • Motion
  • Defects
  • Management activities
  1. 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.

  1. 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.

What to read next

diagram of planning a cloud

This simple technique helps teams map the effects of their work to an organization's broader processes and outcomes.


About the author

Dominika Bula - is an full time Agile Practitioner and enthusiastic participant of Agile and DevOps Community of Practice at Red Hat. Dominika has become active in Open Source, helping organize Fedora's conference, Flock 2016 in Krakow, Poland and Flock 2018 in Dresden, Germany. A graduate in Cultural Studies, she is excited to see how open communities collaborate and share. Prior to joining Red Hat, Dominika worked as Project Manager for internalization and localization projects helping adapt applications to...