One of the emerging concepts in DevOps and software development is value stream management.
While DevOps is the integration of development and operations processes to achieve a more optimized process, on its own DevOps doesn't assign value to specific elements of the process. That's where value stream management comes into play. At its core, value stream management is about assessing and managing the value of software development and delivery efforts and resources.
There has been a focus on agile and DevOps as one approach to measuring the IT contribution, but these focus purely on the value flow velocity, according to Roy Illsley, chief analyst at Omdia. That is, how fast a change can be released to production and generate new value.
"I define value stream management as taking a holistic view of the business and categorizing the activities into a number of value streams," Illsley told ITPro Today. "The VSM space is therefore managing these streams to ensure that they are delivering the optimum level of value from the component activities and assets."
How Value Stream Management Fits into DevOps Patterns
A key goal of all businesses is to deliver value to both shareholders and customers.
When it comes to value, business leaders think in terms of speed and outcomes, while development leaders think in terms of outputs and processes, according to Eric Robertson, senior advisor to the Office of COO and president at ConnectALL. Robertson told ITPro Today that the C-suite often mistakenly focuses on productivity.
"For DevOps, the value stream is likely to be the service or product life cycle, comprised of integrated capabilities and components, like an infrastructure component or even an incident or outage response process," he said. "Value stream management brings business and DevOps leaders together to identify the right outcomes by leveraging objectives and key results as a common measurement framework that helps identify tangible and measurable outcomes to determine success."
Value stream management is a methodology that can also be used to help optimize the software development process, according to Neelan Choksi, president and chief operating officer at Tasktop.
"VSM increases the speed of software development by helping organizations identify and remove the bottlenecks that inevitably rack up along the way," Choksi told ITPro Today. "VSM also equips technology leaders with nontechnical language to use with business stakeholders to set priorities and measure outcomes."
Choksi sees DevOps as a subset of value stream management. The end-to-end development and delivery of software begins with the customer request and ends with the customer getting value, he said. As such, the various patterns that are common today in DevOps represent a portion of that end-to-end development and delivery process. For example, continuous integration/continuous delivery (CI/CD) is part of the software delivery process from code completion to production but does not encompass the entire process nor is it uniformly applied across the organization.
"The beauty of VSM is that it sits above all of the various methods and patterns with the goal of optimizing the entire process of delivering software," Choksi said.
Adding Value to DevOps by Removing Bottlenecks
DevOps typically focuses on a few core things, according to Andrew Davis, DevOps evangelist and senior director of research and innovation at Copado. Much of the energy in the DevOps space has gone into addressing specific technical challenges, such as how to manage servers or ensure infrastructure is easily provisioned and maintained, Davis told ITPro Today.
"Value stream management takes a higher-level view of the situation," he said. "The main problem teams face is a lack of clarity on what their process really looks like and what their real challenges are."
In the absence of clarity, organizations may invest in activities that don’t bring the desired results, Davis added. For example, if manually provisioning infrastructure takes one hour but is preceded by a two-week waiting period, reducing the provisioning time won't shorten the total time to deliver value on its own. The investment in automation needs to match the benefit to be gained.
"Teams need to look at where their real bottlenecks are, and those are often interpersonal communication problems or inefficient processes rather than technical challenges," he said.
Getting Started Using Value Stream Management
There are a number of ways organizations can get started on implementing a value stream management approach.
Vishnu Vasudevan, head of product engineering and management at Opsera, suggests that a good first step is to interview different stakeholders within the organization separately to get their understanding (or lack of) of the current processes in place. Vasudevan also suggests that organizations try to identify the bottlenecks, waste, pain areas and inefficiencies.
"Start having conversations about where the bottlenecks are," he told ITPro Today. "Focus on reducing or ideally eliminating those bottlenecks one by one."
Tasktop's Choksi suggests that organizations start small to get a baseline for a set of end-to-end metrics.
"There is so much value in making work visible and seeing where you stand on your baseline metrics alone, especially when those metrics are leading indicator metrics," Choksi said. "Once you have a baseline, you can look to optimize by identifying the biggest bottlenecks to address. Make a change in process or tooling or people to address the identified bottleneck, and remeasure the metrics."