Plutora Blog - Digital Transformation, Release Management, Value Stream Management
What is Value Stream Management and Why it’s so ImportantReading time 12 minutes
Software delivery is only becoming more complex. At the same time, it continues to be ever more important, as it is a necessary core competency for organizations across industries, no matter their product or service. Organizations can’t stop at simply becoming a software company, they need to be a high performing one. And taking on this challenge can be complicated. This is because today’s CIOs have a mandate to create more business value with fewer resources. However, too often, the headlong pursuit of higher productivity in software delivery leads to well-intentioned initiatives that ultimately fall short of their goals. It is not a small task to align business objectives with IT work, accelerate the software delivery process, and improve software quality. In many ways, it is still uncharted territory. For example, it is still a struggle just to measure improvement on the DevOps journey. Without a clear roadmap for achieving these gains, many organizations’ software delivery factories become chaotic and pressure-filled.
That’s where value stream management comes in. Value streams are everything in the software delivery lifecycle (SDLC) from idea to production needed to deliver software products or services to customers. Focusing on value streams makes the value delivered to the customer the cornerstone of software product development. After all, software products and services that delight customers are what fuel the growth of organizations today. But to manage value streams, organizations need to first gain end-to-end visibility and control of the multiple, interconnected value streams throughout their portfolio. This type of management has several objectives that can be achieved with the right solutions:
- Break down operational silos by connecting multiple processes, teams, and tools
- Leverage real-time metrics
- Enable cross-team collaboration
- Ensure governance is embedded into SDLC processes
- Coordinate and automate workflows.
Together, value stream management enables organizations to deliver higher quality software faster to their customers while reducing risk.
Being a high performing software company is more than the tools put in place. While standing up a CICD (continuous integration / continuous delivery) pipeline is essential, this infrastructure only creates the potential for a strong software delivery process and superior DevOps performance. What delivers on that potential is having a strong, customer-centric product development cycle that seamlessly brings together the efforts of product owners, release or development managers, risk and compliance teams, as well as engineering teams. When done well, a strong end-to-end SDLC enables organizations to continuously improve and become a great software company.
But how do you know if your software delivery factory is efficiently delivering value to your customer? Is it moving in the right direction? How can you improve it? Many digital transformations fail or stall because they can’t answer these questions. They either can’t measure anything, and so can’t identify how to improve, or they simply can’t align software development and delivery efforts with business strategy. The practice of value stream management is meant to answer these questions and help to overcome these common pitfalls. Value stream management involves taking a look at all the steps in the software delivery process from idea to production – the value stream – and then identifying silos, bottlenecks, and other inefficiencies in the flow of work to the customer receiving the product. With this information and perspective, enterprises can start to systematically optimize their software delivery processes and realize their digital transformation goals.
What is a software value stream
A software value stream includes every activity – from idea to production – needed to deliver software products or services to customers. Ultimately the value of software products is determined by the customer. Software products or services that continually deliver value to customers will, in turn, drive business value. To optimize the return on investment and the ability to delight customers, each step in the value stream should be creating “value” in the customer-centric definition of the term. This means that as an idea moves into development, through the build process and into testing, it must be increasing value to the customer until it’s finally delivered. Then, if you’ve done it right, the full value of the effort is realized. However, because software development and delivery is complex in large organizations, it can be difficult to map the value stream from end-to-end. Or to even know what your value streams are.
Built on the lean manufacturing principles that revolutionized productivity in manufacturing in the latter half of the 20th century, value stream management brings lean thinking to software development. If an organization manages software delivery in terms of value streams, it can identify what steps are value-adding, and which create waste to begin to optimize the flow of work through the value stream. This includes where there are delays, where there are more defects and rework being created, and insights into how to remove that waste. That’s why you begin with a current state value stream map. A value stream map enumerates every step of the software value stream. Because it has often not previously been documented, value stream mapping begins by bringing stakeholders from across the value stream into one session to capture all the activities and handoffs in the software delivery process.
How value stream-thinking builds on current ways of working
Once you have created your value stream map you can begin to work with your software development and delivery workflow from end-to-end. Whatever your organization’s goals are, achieving them requires the optimization of the value stream. Product quality, implementing DevOps, executing SAFe, even increasing release velocity, all require an optimization of value streams to succeed. Process improvement begins with measuring where you are and identifying opportunities to work toward where you want to go. Without looking at the entire value stream, you will have incomplete data. You will have to rely on proxy metrics to understand what’s going on, such as story point velocity, and not be able to directly improve on what’s holding you back from becoming a high performing software organization.
Value stream management is the next evolution in software development
Value stream management is all about delighting customers by delivering software products that create value for them. Value stream management achieves this through a systemic approach to software product development that makes becoming a software juggernaut accessible to any organization. The complete view of the value stream captures every aspect of the software delivery process. This gives value stream managers, release managers, DevOps managers, product managers, and leadership the problem-solving tools necessary to continuously improve software development.
Forrester defines value stream management as “A combination of people, process, and technology that maps, optimizes, visualizes, and governs business value flow (including epics, stories, work items) through heterogeneous enterprise software delivery pipelines. Value stream management tools are the technology underpinnings of the VSM practice.” – Elevate Agile-Plus-DevOps with Value Stream Management, Forrester Research
Value stream management platforms operate with an integration model that converges toolchains into a common data model that delivers end-to-end visibility and traceability across the value stream. Enterprises no longer need to translate data from one tool to another in a spreadsheet to understand what is going on in the system as a whole. Instead, the deep insights that come from analyzing a wide and diverse data set using the same terms are now accessible, allowing organizations to make data-driven decisions and to innovate faster.
Measuring work flowing through value streams
To manage value streams from end-to-end, operational silos between tools and teams must first be broken down. By converging toolchains throughout the portfolio with value stream management platforms, teams can view the flow of work across the organization in real-time. This unlocks the ability not only to measure what is in the value streams now, but how they got there, and trends over time. This can swing engineering and product teams from having little to no insight into their processes to an overwhelming amount of real-time performance metrics. Value stream management platforms make this navigable through business intelligence features that allow teams to focus on the most important metrics and track them in real-time.
Teams start by working with the DevOps metrics that capture the throughput and stability of their value streams. These metrics are used as indicators of the health of your value stream and how it is changing over time. Here are the four key DevOps metrics as defined by the Accelerate State of DevOps Report.
- Deployment frequency – How often code is deployed to production in a team’s value stream
- Lead time – How long it takes from code committed to code successfully running in production for the team’s value stream
- Mean time to repair – How long it takes to restore service when a service incident or a defect that impacts users occurs (e.g., unplanned outage or service impairment) within the team’s value stream
- Change fail rate – The percentage of changes to production that result in degraded service (e.g., lead to service outage) and subsequently require remediation (e.g., require a hotfix, rollback, etc) within the team’s value stream
After incorporating the DevOps metrics into your processes, you can begin to integrate flow metrics. These metrics build on the concept of the flow item to provide insight into what is happening within the value stream itself. A flow item is a unit of work that matters to the business: feature, defect, risk, or debt. The standard flow metrics are:
- Flow Velocity – Flow Velocity is the number of Flow Items of each type completed over a particular period of time – also referred to as throughput and indicates whether value delivery is accelerating
- Flow Distribution – Flow Distribution measures the ratio of the four Flow Items completed over a particular window of time. This helps prioritize specific types of work during specific time frames to meet the desired business outcome.
- Flow Time – Flow Time measures the time it takes for Flow Items to go from ‘work start’ to ‘work complete’, including both active and wait times, and can identify when the time to value or cycle time is getting longer.
- Flow Efficiency – Flow Efficiency is the ratio of active time vs. wait time out of the total Flow Time. It can help identify when waste is increasing or decreasing in your processes.
- Flow Load – Flow Load measures the number of Flow Items currently in progress (active or waiting) within a particular value stream. This monitors over and under-utilization of value streams, which can lead to reduced productivity.
Value stream governance and workflow automation and orchestration
Value stream management is much more than metrics. To be able to continually deliver software products and services that delight your customers, you need to act on business intelligence insights and implement improvements while managing risk. Value stream management platforms take advantage of the converged toolchain and unified value stream to empower development teams to do just that.
Automating governance and enabling continuous compliance
With converged toolchains, value stream management platforms can provide managers the ability to embed governance into the existing SDLC. This means that governance checklists adapt to the SDLC and become automated using existing tools. For example, value stream management will ensure that testing and stakeholder reviews are completed and passed before continuing through the SDLC. This elevates software delivery into a state of continuous compliance as everyone involved will automatically adhere to the governance requirements defined in the value stream management platform.
Redefining what’s possible in release planning and orchestration
Release management is too often bogged down with spreadsheets that need to be manually updated to capture the state of a release. Spending all day tracking down data points does not help create value for customers. Instead, with value stream management platforms, release managers are able to access the state of work within and across value streams in real-time. This allows release managers to put their effort towards improving the value stream through release planning and scoping, assessing release risk, and improving the efficiency of the SDLC through automation and efficient orchestration.
Streamlining test environment management
Again, value stream management is all about being able to better deliver value to the customers. This means eliminating waste throughout the SDLC, including test environment management. Test environment managers constantly receive booking requests for specifically configured environments. Instead of using their time to handle these requests and discover conflicts, value stream management platforms centralize booking requests and test environment scheduling automatically. This allows test environment managers to focus on generating value in the SDLC by creating and configuring test environments instead of sorting through hundreds or thousands of requests.
Value stream management enables continuous improvement
Above all, value stream management empowers teams to continuously improve their software delivery factories to be able to deliver more value to their customers. This includes being able to incrementally increase product quality and process improvement with every sprint. Through executive level insights and actionable real-time visibility, value stream management platforms, like Plutora, deliver the detailed knowledge needed to fuel data-driven decision making that will improve business outcomes. It is with value stream management that large organizations are finally being able to realize the promised Agile + DevOps performance they’ve been seeking.
Get Started with value stream management
It’s easy for organizations to get started with value stream management. It begins by creating a value stream map, identifying the desired business outcomes, and implementing a value stream management platform. The implementation process is straightforward as value stream management platforms like Plutora integrate directly with your existing tools. Learn more about getting started with value stream management in our ebook: Mastering Software Delivery with Value Stream Management.