Aligning business objectives with IT, accelerating the software delivery process and improving software quality is no small task. In many ways, it is uncharted territory. For example, organizations in the midst of a digital transformation struggle with simply measuring improvement on the DevOps journey. Furthermore, without a clear roadmap for achieving these gains, these organizations’ attempts at becoming software delivery factories become disorganized and constrained.
That’s why value stream management exists. Value streams are everything in the software delivery lifecycle (SDLC), from idea to production, that are needed to deliver software products or services to customers. Focusing on value streams makes the value delivered to customers the cornerstone of software product development. After all, software products and services that delight customers are what fuel the growth of organizations today.
Forrester Research said it well when it defined 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.”
In order 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 breaks down operational silos by connecting multiple processes, teams and tools. It also allows organizations to leverage real-time metrics, enables cross-team collaboration, ensures governance is embedded into processes and coordinates, and automates workflows. Together, VSM enables the delivery of higher quality software faster to customers while reducing risk.
It takes more than just putting the tools in place to be a high performing software company. While setting up a CI/CD (continuous integration/continuous delivery) pipeline is essential, this infrastructure only creates the potential for a strong software delivery process and superior DevOps performance. To deliver on that potential, you need to have a strong, customer-centric product development cycle that seamlessly brings together the efforts of product owners, development or release managers, risk and compliance teams, as well as engineering teams. When executed properly, a strong end-to-end SDLC enables organizations to constantly improve and become a great software company.
Value streams are everything in the software delivery lifecycle (SDLC), from idea to production, that are needed to deliver software products or services to customers.
You may ask, how do I know if my software delivery factory is efficiently delivering value to my customer? Is it moving in the right direction? How can I improve it? Many digital transformations are unsuccessful because they cannot answer these questions. In some cases, they fail to measure anything, making it impossible to identify how to improve, or simply cannot align software development and delivery efforts with the business strategy.
The practice of value stream management is designed to answer these questions and help to overcome common challenges. Value stream management provides visibility into each step of the software delivery process from idea to production — the value stream — and identifies bottlenecks, silos and other inefficiencies in the workflow. With this knowledge and perspective, enterprises can begin to systematically optimize their software delivery processes and achieve their digital transformation goals.
What Is a Software Value Stream?
A software value stream includes all activities needed to deliver software products or services to customers. Ultimately, the customer determines the value of your products. If your software products or services deliver value to customers, it will inevitably drive business value. Each step in the value stream should create “value” in order to maximize a return on investment. If you’ve taken the right steps, the full value of the effort is realized. Since software development and delivery is complex in large organizations, it can be challenging to map the value stream from end-to-end or identify what your value streams are.
Based on the lean manufacturing principles that revolutionized productivity, value stream management applies lean thinking to software development. Approaching software delivery with a value stream mindset allows you to identify steps that are value-adding and understand the steps that create waste. Included in this analysis are delays, areas where there are more defects and rework being created, and insights on how to remove this waste. These steps highlight the importance of beginning with a current state value stream map. Since it is likely that it has not been previously documented, value stream mapping begins with bringing stakeholders from across the value stream into one session to capture all the activities in the software delivery process.
Following the creation of a value stream map, work begins on software development and delivery workflow from end-to-end. Whatever an organization’s goals may be, achieving them requires optimization of the value stream. Process improvement starts with measuring where you are and determining what it will take to get to where you want to go. Without a view of the entire value stream, the data will be incomplete.
Value Stream Management: The Next Evolution in Software Development
The goal of value stream management is to delight customers by delivering software products that create value. Value stream management achieves this through a systemic approach to software product development that allows organizations to become software juggernauts. With a complete view of the value stream, every aspect of the software delivery process is captured. This provides value stream managers, DevOps managers, release managers, product managers and leadership the problem-solving tools needed to continuously improve software development.
Ultimately, value stream management empowers teams to continuously improve their software delivery factories to be able to deliver more value to their customers. Enterprises will be able to understand their system as a whole, without comparing data from one tool to another in a spreadsheet. Plus, the deep insights that result from analyzing a wide and diverse data set allow organizations to make data-driven decisions and innovate faster.
Feature image via Pixabay.