Value stream management is a methodology and management tool that has helped many organizations adopt agile practices. It allows an organization to identify and visualize which part of their internal processes actually delivers value to customers, and how. By using value stream management (VSM), you can cut through the waste and improve the return on investment of your development efforts.
In this article you will learn:
- What is value stream management
- The VSM process
- 3 value stream management best practices
- What to look for in a VSM solution
- Value stream management and software quality
What Is Value Stream Management (VSM)?
Value stream management is a practice that lean organizations can use to determine the value of resources, and development and delivery efforts. VSM can also help organizations increase their flow of value and better monitor and manage their software delivery lifecycle (SDLC).
Value stream management focuses on value streams and measuring delivery success, rather than features or functions. This enables teams to devote their energies to effective practices and helps identify ineffective practices that can be dropped. It also helps teams to see the SDLC from the customer point of view, enabling them to more closely align efforts with business objectives.
The VSM Process
Incorporating VSM takes some upfront effort and is a process in itself. Below are the components needed to effectively apply VSM to your practices.
A primary goal of VSM is to make data from development processes, practices, and procedures visible. If you cannot see what is happening, you cannot manage or improve it. Unfortunately, this data can be difficult to both collect and interpret in a useful way.
Stakeholders from a variety of teams need to be able to view data in a meaningful way and develop actionable insights from it. This requires having comprehensive data from all aspects of your pipeline and clear connections between data sources. It also requires those collecting data to have a thorough understanding of tooling, processes, and end goals to ensure that no relevant data is missed.
After data is made visible, you can use analytics to correlate it and extract insights. These insights often include data points such as task completion times and release failure rates. Typically, a range of metrics is gathered in order to create an overall image of your processes. These metrics can help you identify bottlenecks and determine the areas of greatest inefficiency.
When performing analytics, teams often leverage machine learning (ML). ML can enable you to derive more complex insights and to more fully incorporate vast amounts of data in a smaller amount of time. It can also enable you to use data for predictive analytics, determining the expected success or failure rate of releases from the start.
Once analyses are complete, you need to compile your results into accessible reports. Reports should provide a unified view of data and clear benchmarks of your current processes.
Dashboards with visualizations of data can make reports more accessible to less technical users and help stakeholders quickly ingest insights. Dashboards also help ensure that reports are viewed as a whole, preventing teams from trying to improve one aspect and inadvertently impeding another.
Mapping involves taking your processes and tying processes back to business goals. It helps you identify what specific value processes are creating and what value is being missed.
When made correctly, maps help teams apply insights from reports to actionable plans. This then enables you to improve collaboration, reduce process waste and complexity, and increase the overall value of your efforts.
3 Value Stream Management Best Practices
When incorporating VSM there are a few best practices you can apply to ensure you are gaining the highest possible benefit.
- Clearly define value
What is valuable to an organization is subjective and is often a combination of the expectations of external customers and internal stakeholders. Because of this, you cannot just skip to “improving” processes without first defining what is valuable to you.
Start by determining what value you want to provide to customers and what processes are needed to generate that value. Then determine the internal value that you want to create and map how this value relates to your overall goals. This should tie in smoothly to existing agile and DevOps practices, which already prioritize utility over tradition.
- Maintain visibility and transparency
To effectively apply VSM, everyone on your team must be able to clearly understand your intents and end goals. Visibility helps ensure that everyone is working from the same plan and applying changes consistently.
The visibility of metrics is also important. Teams should be able to check metrics at any time and be able to view collected metrics as a whole. This ensures that decisions are based on processes as a whole rather than individual aspects.
- Account for automation limitations
Legacy technologies used for your current processes can create a barrier to improvements. This limitation often drives teams to try and adopt newer technologies and automate away processes. However, this is not efficient since not all processes are worth automating and some legacy tools and processes provide significant value.
Instead, you should focus on identifying repetitive processes that provide value but do so inefficiently. Start with the most common of these processes and the easiest to automate. This will create more immediate improvements in value and free up time for the effective automation of more complex processes.
What to Look for in a Value Stream Management Solution
When adopting value stream management practices, you can develop tools on your own or you can use pre-built solutions. When choosing the solution that’s right for you, look for the following characteristics:
- Complete governance—capabilities should be replicated across value streams and products and should scale as needed. These capabilities should be intuitive to manage and centralized to retain visibility of operations.
- Seamless integration of tools—integrations need to enable the bi-directional flow of data and support automation. Tools should integrate smoothly and not create additional processes or workflows which negate streamlining efforts.
- Insights and visualizations—reporting should be centralized and comprehensive. Reports should clearly detail every aspect of the SDLC and the status of those aspects, including resources in use, quality assessments, and the value returned.
- Data and metrics management—you should be able to easily define where data is collected from and what metrics are derived from it. Analyses and generated metrics should be consistent and remain linkable to source data.
Value Stream Management and Software Quality
Value stream analysis builds on user requirements, development constraints, time estimates and product plans. One thing that is usually missing is a clear picture of product quality:
- Is the product currently satisfying customer requirements from a quality perspective?
- What are the main challenges on the quality front?
- Which parts of the product are adequately tested and which are not?
- At this point in the product life cycle, how much should the team invest in testing and maintenance?
- What are the top priorities in testing and maintenance for the current sprint?
- Which areas of the code are of highest priority for testing?
- Which areas of the code recently changed, and which were not tested in any part of the product’s test suite?
The reason these important considerations are missing from most sprint planning sessions is that development organizations are missing data about product quality. It is not well known how well the product is maintained and what needs to be done to improve software quality.
A software quality intelligence intelligence solution like SeaLights can provide this missing data and help you factor software quality into your value stream management discussion.
Learn more about SeaLights automated release quality analysis.