Value Stream Management in Software
It is no surprise that innovation and software delivery are top of mind for executive leadership in today’s world. With every company becoming a software company, the importance of delivering software faster and more efficiently is becoming obvious and garnering attention, even at the board level.
Agile and DevOps practices have shaped how organizations ship code, enabling them to innovate faster and build better software. Yet these practices often fail to capture the visibility of work effectively, offering inadequate insight into how work moves from idea to customer.
This is where value stream management (or VSM) comes in. This article will provide a brief overview of value stream management, explain how value stream flow can be measured, and discuss how to get started with value stream management.
What is Value Stream Management (VSM)?
In a nutshell, Value Stream Management is a lean business practice that focuses on increasing the flow of value from customer demand to delivery. Forrester defines VSM as a “combination of people, process, and technology that is used to map, optimize, visualize, and govern how business value flows.” In the world of software, this includes epics, stories, JIRA work items, and more that flow through a heterogeneous network of enterprise software delivery pipelines.
At the core of VSM is the concept of a value stream, a series of sequential steps an organization undertakes to bring a product or service into a customer's hands. Typically, in the case of a software product or service, it covers everything in the software development life cycle. There is a value stream per product or service that the software development team supports.
The value stream is a customer-centric process. First, through conversations with customers, it is necessary to learn more about customers' problems and formulate creative solutions. Next, the customer needs must be reflected in the specifications and design. This would involve breaking the customer problem into a series of work items delivering customer value. Lastly, the dev team would complete the work items, test them, and put them in the hands of the customer by deploying code into production.
Contrary to a task-driven software development approach, value stream management is customer-focused and is based on the following objectives:
Reducing delays in the value stream is one of the fastest ways to minimize the time-to-market. This involves continuously measuring the flow states and systematically reducing the time-to-market by eliminating the bottlenecks or constraints.
Increased throughput, reduced costs, and better product quality
When increasing throughput and reducing costs in a value stream, it is vital to eliminate rework and tightly pack items in a continuous flow. To ease the burden on the system, the customer demand needs to be spread from a single point to across the entire value stream, reducing costs and improving quality.
Bringing software to life is not a linear process but rather a complex process that encompasses multiple functional boundaries and many cross-functional inter-team dependencies. For example, if a software vulnerability is discovered at the last minute during the release process, it must be reported back to the development team to be addressed or fixed. Or, if a critical customer requirement was missed, it now needs to go back to the design drawing board.
In the complex world of building software, how can you genuinely determine how fast you will be able to deliver critical business capabilities to your customers? More importantly, how can you pinpoint exactly where the flow is slowing down so that you can fix it in time? The answer lies in understanding flow and flow metrics.
What is a flow item in VSM?
To determine how quickly you deliver critical business capabilities to your customers, you must identify the items traveling through your software value stream. These value units flowing through your value stream are called flow items. Flow items typically fall into four categories :
- Features: They capture the functional user needs of your product.
- Defects: They capture the product bugs, errors, and issues.
- Debts: These represent software technical debt accumulated over time.
- Risks: These model the non-functional requirements such as meeting compliance regulations, security, and privacy concerns.
Value stream management brings order to complex chaos by increasing the quality and efficiency of flow items through the value stream.
How can organizations measure their VSMs?
Organizations can measure how value moves through their value stream by following a few key metrics. Then, by continually comparing these metrics against key business outcomes, team leads can uncover areas of the value stream to focus on and optimize further. Here are a few important metrics to consider :
- Flow velocity: This metric measures the number of flow units of work completed in a period of time. It indicates how productive a process is. Poor flow velocity could mean slow feature iteration, causing customers to churn. High flow velocity is excellent for the business, but it often comes at the expense of other items like putting aside technical debt. (Related reading: Sprint Velocity)
- Flow time: This is how much time a flow item takes from start to completion, including active and wait times. Breakdowns of flow time are helpful to uncover bottlenecks in the process. For example, if there is a larger flow time in a specific phase of the value stream like QA, this might be something to take a closer look at. (Related reading: Lead Time & Cycle Time)
- Flow efficiency Tracks the ratio of active time to wait time for a flow item in the value stream. Too many flow items in the value stream at once or interdependencies between these items can increase the pressure on the system, resulting in too much context switching for staff and stagnation of flow items.
- Flow load: Tracks the total number of flow items in the value stream, which measures the current work-in-progress items. Too many items in the value stream can negatively impact velocity, time, and efficiency.
- Flow distribution: Tracks the proportion of the four flow items (features, defects, debt, and risk) in the value stream. This metric ensures a balanced mix of all the flow elements. For example, focusing only on new feature development and ignoring technical debt and defects can eventually lead to user churn.
Getting started with VSM at your organization
No matter the size of your organization or where you are in your digital transformation journey, VSM can unlock the potential to deliver more value to your customers. In addition, VSM can fit in within your existing organizational practices. Here are a few ways to get started with VSM without significant process changes :
- Value stream management integrates well with SAFe (Scaled Agile Framework) since it uses the same KPIs but is more scalable. In SAFe, value streams are organized into portfolios, Each value stream delivers one or more solutions—in the form of products and services—to the customer. A product-focused value stream is always grounded in the needs of the customer and calibrated to deliver the solutions that generate maximum business value. A great reference of how VSM is used in SAFe can be found here.
- In organizations that utilize Agile and DevOps practices to track developer-centric metrics, value stream management complements these practices by allowing leaders to be more “customer-centric” in the tracked metrics by prioritizing features that offer the fastest opportunity to deliver the greatest value.
- OKRs (Objectives and Key Results) are about setting objectives for the business that can be tracked with key results. They are increasingly being used across organizations to drive alignment, improve accountability, and ensure transparency across the enterprise. When combined with the metrics from a value stream, they can be used to figure out what matters to the customer and the means to deliver customer value in a time-bound and efficient manner that improves overall performance. (Related reading: DORA Metrics)
Until now, traditional organizations have had no real way of measuring how well their investments in digital transformation are paying off. The reason is that metrics are dispersed and siloed across many different best-of-breed and specialized tools across the organization. It becomes challenging to collect all this local data and connect the dots with what’s happening with the business. You need to know how to measure the value stream(s) to determine performance and how it affects overall business outcomes.
With Faros AI, you can effortlessly connect the dots across many engineering data sources - from ticketing systems to source code control and CI/CD pipelines - giving unprecedented visibility and insight into your engineering processes. For example, product and engineering teams work across various platforms, from JIRA to Github, Docker, AWS, and Gitlab. Faros AI lets you join data from all those platforms in real-time to provide 360-degree business insights for value stream leaders. With Faros AI, leaders can recognize inefficiencies and areas of optimization early and continually ensure that they are delivering value to the customer.
Get started today and enjoy comprehensive visibility across all your value streams so you can take intelligent action to improve business outcomes.
Share this article with your friends