Simply put, value stream management (VSM) is the practice of measuring and improving the flow of business value created by an organization’s software delivery efforts.By monitoring the software delivery life cycle end-to-end, organizations can better identify processes that add value and eliminate those that create waste to optimize the flow of work. Ultimately, this enables teams to move away from activities that don’t directly contribute to customer value and focus more on those that do.
As industry becomes more competitive, organizations are looking to software to give them an edge. As part of the organization’s digital transformation strategy, company leadership needs to ensure that both software and the development process deliver value. But the complex, evolving nature of software development and the time required to implement new IT approaches and functionality across an organization is challenging. Value stream management provides a systematic approach for capturing and measuring every aspect of the software delivery process. This provides visibility into the flow of the product, app or service and allows business leaders to solve problems and continuously improve their software delivery.
In the following sections, we’ll look at the importance of value streams in software delivery and delivery pipeline, as well as how to evaluate the current state of your value streams. We’ll also look at some value stream management tools, how you can get started with the practice in your organization and how you can create desired business outcomes.
The Basics of Value Stream Management
The purpose of a value stream is to accelerate the time to value or time to market for a product or service. Organizing people into a value stream allows enterprises to track, measure and optimize the flow of value through the entire system. This gives businesses a clearer picture of what value they deliver and how they can improve it.
The concept of value streams was introduced by the Toyota Motor Company, which developed the idea to identify the process and steps between an order entry and the delivery of a final product. This gave the company a broad view of its manufacturing activities and enabled it to remove nonessential, waste-creating activities while maintaining or improving the manufacturing process.
More recently, the DevOps movement adopted value stream culture as a way to improve software delivery and product development. Value stream management puts customers at the center of the software delivery model and monitors the flow of work from customer request to customer delivery for continuous improvement.
There are two main types of value streams
- Operational value stream: This refers to the people and sequence of activities necessary to deliver a product, app or service to a customer.
- Development value stream: This refers to the people and sequence of activities necessary to develop solutions used by operational value streams.
There are six main steps in value stream management
Value stream management requires that you evaluate the current state of the value stream by looking at each step in the software delivery process, including:
- Requirements analysis and planning
- Product design and prototyping
- Maintenance and updates
Value stream mapping can help facilitate value stream management in real time.
For each step, stakeholders should identify bottlenecks, silos and other impediments in the workflow that prevent the delivery of customer value.
Value stream mapping helps to facilitate this process in real-time. A value stream map is a linear visualization that illustrates each required step for delivering a particular product or service. Documenting the value stream in this way allows stakeholders to identify where value may be inhibited by delays, handoffs, rework, and other “waste,” or inefficiencies in each step of the software development lifecycle (SDLC).
When building a value stream map, each organization will naturally use whatever metrics it normally relies on to measure success. However, Lean and Six Sigma principles suggest including three key metrics:
- Value added: How much time a team spends actively working on the project. Any amount of time that does not result in a change in the product is considered non-value added time.
- Lead time: The total amount of time it takes a person or team to complete a task by combining value added and non-value added time.
- Percent Complete/Accurate (%C/A): This metric reflects the percentage of time a person or team can perform a task without having to correct, add or clarify information. In other words, this is work that is completely accurate from the start and doesn’t require rework further downstream.
Although there’s no official value stream management protocol, a typical process would unfold like this:
- Map the current state of your value stream: It’s critical to first get an accurate picture of your software delivery as it is. A value stream map not only helps visualize your toolchain and the current state of a particular value stream but will help guide its future state. As you build the map, be sure to include the following:
- The main steps in your current software development and operations process
- Who performs each step
- The value added for each step
- The lead time for each step
- The %C/A for each step
- The tools in the toolchain currently used for each step, and any opportunities to automate manual steps
- Identify waste: The goal of your current-state value map is to identify any issues that are impeding the value delivery to your customers and mitigate them in your improved value stream. Inefficiencies can be found in processes, technology, teams, or any combination of these.
Lean identifies eight types of waste in manufacturing that have been translated into DevOps. They can be easily remembered using the acronym DOWNTIME:
- Defects: Defects include mistakes, bugs, errors, incidents, and rework, which compromise the product or service, and diminish value.
- Overproduction: Overproduction occurs when you produce more of something — features, products, etc. — than the customer needs. Those resources could be better utilized on value-adding activities.
- Waiting: Waiting waste is any time spent waiting for a product or service to be worked on, indicating paid resources aren’t being used.
- Unutilized talent: This is a waste of knowledge due to process breakdowns, physical barriers, complex procedures, repeated reorganizations, or anything else that disrupts the flow of knowledge among teams, limiting the potential value of a product or service.
- Transport: Handoffs from developers to testers and to deployment are part of the delivery process, but too many stops can slow delivery and create more opportunity to introduce defects.
- Inventory: Inventory waste occurs when resources get backed up, such as code waiting for a batch release window. Too much inventory can overwhelm parts of the delivery chain, slowing the flow of value-producing materials and information.
- Motion: Motion waste refers to the toll that laborious tasks and processes involved in developing and deploying software take on development teams as well as individual team members, which can contribute to the degradation of the delivery process.
- Extra processing: This type of waste includes work that is above what is necessary, such as making a feature more complicated than it needs to be, creating unnecessary initiatives, reworking code, or “gold plating” a task or product with unnecessary features.
During this step, it’s important to ruthlessly vet every process and tool to determine if it’s adding or obstructing value. Getting stuck in a “that’s how we’ve always done it” mindset will prevent you from seeing and acting on opportunities for improving customer value.
- Build your future-state value stream map: Once you’ve identified the types and amount of waste in the current state of your value stream, start building your future-state value stream map. This map should reflect the improvements you’ll make to remove waste — for example, combining tasks to simplify a certain step or automating manual processes or increasing deployment frequency.
When brainstorming improvements, consider how you can increase or improve value added tasks, reduce or eliminate non-value time, and increase the “% complete/accurate” metric.
The solutions you come up with will likely look different for each of your project’s value streams. The important thing is to identify the project’s specific needs and make the necessary alterations.
- Communicate your changes to the organization: It’s important to keep all stakeholders in the loop and solicit feedback during the value stream management process. This can be done with the help of value stream management tools, which we’ll look at more closely in a bit.
The Role of the Value Stream Manager
The Lean Enterprise Institute defines a value stream manager as “a person who is responsible for increasing the ratio of value to non-value, and eliminating waste in the overall supply chain from start to finish, for a defined product family; and for ensuring that the value stream meets or exceeds customer requirements.”
Although the idea of a value stream manager was created for a manufacturing context, the basic principles also apply to software delivery. The value stream manager is responsible for overseeing the creation of a current-state map of the end-to-end value stream for each product or service, a fact-based analysis of the current-state map, preparation of a future-state map that uses lean techniques to eliminate waste and improve process value in the near term, and the implementation of those improvements through cross-functional teams.
The value stream manager is essentially responsible for aligning the organization’s activities and resources around value creation, and must possess certain characteristics to be successful. According to the Lean Enterprise Institute, these include the ability to view the value stream from a broad perspective, understand key system constraints, and quickly recognize critical process issues. They also need to possess or have access to deep knowledge of data driven business strategy and lean thinking.
Introduction to Flow Metrics
Flow metrics are a framework for measuring how much value is being delivered by a product value stream and the rate at which it is delivered from start to finish. Whereas traditional performance metrics focus on specific processes and tasks, flow metrics measure the end-to-end flow of business and its results. This allows organizations to see where obstructions exist in the value stream that are hampering the delivery of value to the customer.
In the software value stream, anything that customers are willing to exchange their money or time for is considered “value.” New features and bug fixes are two obvious examples. Each unit of value that flows through the software value stream is considered a “flow item.” Ideally, all the resources within a value stream are used to increase the rate at which flow items make it through. That requires reducing the amount of time it takes to complete each flow item. There are four primary flow metrics for measuring value streams:
- Flow velocity: Measures the number of flow items completed over a period to determine if value is accelerating
- Flow time: Measures how much time has elapsed between the start and finish of a flow item to gauge time to market
- Flow efficiency: Measures the ratio of active time to total flow time to identify waste in the value stream
- Flow load: Measures the number of flow items in a value stream to identify over- and under-utilization of value streams
Flow metrics allow value stream managers to see what flows across the entire software delivery process from both a customer and business perspective, regardless of what software delivery methodologies it uses. This provides a clearer view of how their software delivery is impacting business results.
Material and Information Flow Mapping
Material and information flow mapping is another name for value stream mapping. It’s a lean manufacturing technique for analyzing the flow of materials and information through the sequence of activities required to deliver a product or service to the customer. The primary purpose of material and information flow mapping is to identify and remove waste to increase the efficiency of the value stream.
Material and information flow mapping analyzes the flow of materials and information through the sequence of activities required to deliver a product or service.
Examples of Value Stream Management
In a typical software example, a company would use value stream management to analyze the value stream for its flagship app. Mapping every step of the delivery process might identify several manual tasks that could be automated, and some complex processes that could be combined or simplified to increase the flow rate of work through the stream. It might also discover that it is performing a lot of rework because of a low % complete/accurate rating. Stakeholders would then identify solutions for each of these inefficiencies and create and implement a future-state value stream to optimize their software delivery and increase the value the company creates for its customers.
Benefits of Value Stream Management
Value stream management offers several specific benefits:
- It helps identify inefficiencies: By mapping the current state of a value stream, organizations get an objective view of where and how waste is occurring, creating opportunities to improve or remove any processes that aren’t adding value for the customer.
- It makes it easier to see efficiencies: By the same token, value stream management enables organizations to see where value is being added, allowing them to improve the overall efficiency of delivering a product or service that will lead to overall better customer experience.
- It aligns the organization to achieve common goals: Value stream management requires the involvement of all stakeholders through the various process stages as well as buy-in from the CEO, CIO and executive leadership to implement major improvements.
Tools for Value Stream Management
There are a variety of value stream management platforms. Specific features will differ with each product, but generally a value stream management platform will integrate disparate software development and delivery tools, map and visualize every aspect of the SDLC, and provide an end-to-end view of processes. It may also help communicate changes to various stakeholders.
Some popular value stream management platforms include:
- Tasktop Viz
- GitLab Value Stream Analytics
- Atlassian Jira Align
- CloudBees DevOptics
Getting Started & Training
To get started with value stream management, you should first choose a value stream to serve as a pilot project. Appoint a value stream manager who will observe and collect data about the various processes within that stream by communicating with stakeholders. From there, the value stream manager can document the current state of the value stream in a value stream map. Stakeholders should evaluate all current processes with an eye toward identifying waste and improving metrics that define success. Once that process is complete, build out your future state to optimize performance and implement and communicate the necessary changes to the organization.
Value stream management training generally teaches the concept of value stream management and how to maximize its potential. This includes teaching the process of creating value stream maps, from bringing teams together to participating in the process to gathering information about value stream activities to executing the visualization. It may also include training in the flow framework and understanding flow metrics, as well as best practices for applying them to your software delivery.
The Bottom Line: Value stream management delivers happier customers
With software innovation a key business differentiator, it’s imperative that you understand where and how value is created and delivered in your organization and how to optimize it. Value stream management provides the means to objectively evaluate your software delivery and remove any delays, inefficient processes and other bottlenecks, so you can deliver improved value to your customers and, by extension, deliver value back to your organization.
What is Splunk?
This posting does not necessarily represent Splunk's position, strategies or opinion.