Value Stream Mapping: Creating Dev Workflows That Work.
The SeaLights Software Metrics Guide
for Better and Faster CI/CD
Value stream mapping is the process of creating visual maps of development processes, in order to assess how much value they provide to customers. This process can help assess and improve development workflows.
You can map your entire development cycle, or you can choose specific stages like testing or security. The most crucial part of this process is to keep maps clear and simple, limit them to 10-15 steps, and work as a team to establish the value of each workflow.
In this article you will learn:
- What is value stream mapping
- What is software value stream mapping
- Values stream mapping process for software development
- Best practices for value stream mapping
- Value stream mapping with Sealights Quality Intelligence
What Is Value Stream Mapping?
Value stream mapping is a process that enables you to create a detailed visualization of your workflows. This visualization represents how your products and services flow from supplier to customer via your company.
Value stream mapping is helpful when you want to highlight the steps necessary to ensure that your efforts are delivering value consistently. This technique enables you to easily visualize the tasks that your teams are performing and monitor the status of your projects.
According to Lean principles, value is anything that customers pay for. For example, in software companies, the value mapped is the software and features delivered. However, keep in mind that when value stream mapping, you should also include any tasks or workflows that bring indirect value to customers. For example, efforts to boost developer productivity.
Value Stream Mapping for Software Development
Software development follows a repeatable, predictable process with clear transitions between steps. Additionally, continuous integration / continuous delivery (CI/CD) requires team collaboration. This means that value stream mapping can be easily and meaningfully applied to development processes.
When value stream mapping is applied to development, teams can use it to improve communications, reduce handoff delays, and increase delivery speeds. Mapping can also be used to identify and eliminate inefficiencies in Lean processes, optimizing work productivity.
Development is an industry where business requirements are frequently shifting and speed is a major competitive advantage. Software value stream mapping can help teams refine their workflows, maximize efforts, and ensure high-quality product delivery in a fast, adaptable way.
Value Stream Mapping Process for Software Development
When creating a software value stream map, there is a certain process you should follow. This process can help ensure that all value aspects are covered.
- Select the process
The first step is selecting the process you wish to map. You can select your entire software development lifecycle or a specific phase of development.
If you choose the entire lifecycle of a project, for example, you could include everything from developing product specifications to day-2 operations. If you’re mapping the testing process, consult our guide to the Software Testing Life Cycle (STLC).
- Identify the parties involved
Evaluate which roles and responsibilities are relevant to your selected process. You don’t need to include every person on your teams or in your company but you should include key players. If you have a group of individuals and you aren’t sure who’s responsible for specific tasks, you can identify dynamically by role.
- Create the current state map
To identify areas of improvement and measure the effectiveness of any changes, you need to create a map of your current process state. In this map, you want to depict workflows true to life. Even if you quickly identify something as an issue, include it on the map. You should be careful about trying to improve processes until you have a full understanding.
- Challenge the current thinking
With your map, begin identifying areas of inefficiency or harm. A complete visualization can enable you to eliminate or modify elements with an understanding of how these changes can impact the rest of your process.
If you are unsure where to start, look for the following wasted efforts:
- Incomplete or abandoned work
- Extra processes or features
- Task switching or multi-tasking
- Waiting for approval and other bottlenecks
- Defect creation and management
- Management activities
Be sure to use test metrics when assessing your processes. You can use the following resources when introducing metrics to your assessment:
- Generate the future state map and plan improvements
Once you’ve identified your issues, you can create a new value stream map that reflects the suggested changes. When the time comes to implement this map, make sure that your team understands the changes and the importance of alterations.
Additionally, be flexible in your adoption. If you see a change isn’t producing the desired effect, consider letting it go until the next evaluation cycle. Value stream mapping should be an agile process that adapts to real demands, not theoretical ones.
Software Value Stream Mapping Best Practices
As a best practice, teams should incorporate a variety of expertise in the mapping process. Project managers, developers, QA testers, and designers should all be included. This ensures that all aspects are mapped and can help decrease siloing amongst team members.
Below are a few more best practices that should be incorporated:
Value stream mapping needs to be clear
Visualizations should be clearly labeled and organized. You want your team to be able to quickly look at a map and easily understand the process it represents. Make sure that any symbols or abbreviations used are known or placed in a legend. If team members have to work to interpret a map, they are unlikely to use it.
As much as possible, try to make your map true to time-scale. For example, if you have waiting periods between steps, make those periods obvious. Likewise, if there are multiple paths a task can take, clarify when each option occurs.
Limit the number of steps
Regardless of the process you choose to map, you should try to keep your map to between 10 and 15 steps. Adding more than this reduces the utility of maps and users are more likely to get lost following the process.
This doesn’t, however, mean that you can’t fully detail your processes. One benefit of value stream mapping is that it is scalable. You can create an overall map that covers development from start to finish. Then, within that map, you can have breakout maps of each aspect down to the detail you need.
Work as a team
As mentioned, you should be including representatives from throughout your teams in the mapping process. This requires more than just asking for expertise or having members approve a map after it’s finished. Team members should actively participate in map development. Team effort ensures that aspects are not overlooked.
In your team, you should make sure to have someone with experience creating value stream maps. This person should lead your team and provide guidance on how process steps are defined and evaluated. They should also ensure that mapping is standardized for clarity.
Appoint a value stream manager
Once your map and intended changes are determined, you need to implement your plan. While small teams may be able to do this without a defined manager, most can benefit from oversight. A value stream manager can help ensure that changes are followed, smooth tensions created by changes, and report back on results.
Value Stream Mapping With Sealights Quality Intelligence
Value stream analysis can help you improve development productivity and ROI. However, it can also be a complex and time-consuming process. To truly be effective, your value stream maps require comprehensive visibility into the investigated process. If you don’t have enough or correct information from all collaborators, your map remains theoretical.
A software quality intelligence solution can help you create authentic value stream maps of your dev cycle. Sealights Software Quality Intelligence integrates into your workflow and analyzes your software. Sealights then provides you with the insights necessary to understand which testing and development efforts are having the biggest impact on users, for good or for bad.
With Sealights, you can discover which tests are needed to improve software quality, and which tests are redundant and should not be performed. This feedback can help you prioritize testing, build efficient cycles, improve developer productivity, and maintain continuous visibility of your processes.
Learn more about SeaLights Release Quality Analysis.