DevOps is great at delivering software quickly and continuously.
But rapid, continuous application updates are only worth the time and effort that DevOps teams put into them if they actually deliver value. And DevOps itself offers no way of guaranteeing that they do.
That’s why value stream management serves as a vital corollary to DevOps. By helping DevOps teams ensure that the features they build and release translate into value for the organization, value stream management plays an important role in optimizing return on investment for DevOps projects.
What Is Value Stream Management?
Value stream management is the analysis of user requirements and the identification of products, services, or features that are best suited to meet those requirements. It’s informed by value stream mapping, which is the process of visualizing the steps required to create value within products or services.
Value stream management can be applied to any type of business operation. However, it has become increasingly important in the realm of software development and delivery, where value stream management helps achieve alignment between software development operations and business priorities.
It’s easy to understand why value stream management is so important for software delivery in particular: there is a limitless set of features that a software development team could create. And often, developers themselves have limited visibility into what users want, because they don’t typically connect directly with those users. In the context of software development, value stream management provides stakeholders with the insights they need to figure out which features will benefit their users most.
The DevOps Feature Dilemma
While value stream management helps optimize the business effectiveness of software in any context, it’s arguably especially important for organizations that practice DevOps.
That’s because one of the core tenets of DevOps is the “continuous” delivery of new software features to users. DevOps teams typically strive to update applications at least once per week, and sometimes multiple times per day.
Faced with the pressure to release updates early and often, it can be hard for DevOps teams to step back and evaluate which features are most beneficial to their users. Their main goal is maximizing the volume and velocity of software delivery, not necessarily maximizing the user satisfaction that results from their software.
After all, one of the key metrics by which organizations tend to measure DevOps success is the frequency of software releases and how many features are in each release. It’s less common to track which features benefit users most – information that is, of course, difficult (though not impossible) to quantify. It’s easy to count how many new features or new lines of code you push out every week. It’s much harder to figure out how those changes translate to increases or decreases in customer satisfaction.
In a traditional, pre-DevOps world, where software delivery teams didn’t face so much pressure to push out new releases quickly, value stream management may have been less important. But today, DevOps is widespread, and value stream management serves as an important safeguard against the risk that teams will push out features just to push out features and meet quotas rather than to serve the greater goal of customer satisfaction.
How to Implement Value Stream Management for DevOps
There are two keys to implementing value stream management for DevOps: culture and metrics.
Culturally, value stream management requires a shift in mindset. Instead of focusing on technical features alone, every stakeholder in the DevOps delivery chain should think in terms of user experience and user satisfaction. Put another way, DevOps engineers should view their ultimate mission as being about increasing customer satisfaction, not delivering software. Software delivery should be simply a means to an end.
Second, the metrics that organizations use to measure DevOps success should change. While tracking CI/CD pipeline metrics (like release frequency and the average time required to implement a feature change) is important, DevOps organizations should also collect data that allows them to align feature changes with customer impact. Examples include data points such as:
- Net new users: How many total application users do you gain (or lose) per new feature?
- User engagement: Does the average time that users spend using the application increase or decrease following each feature update?
- Customer support requests: How do trends in customer support requests (which you can track through ticketing systems) correlate with feature changes?
Although imperfect, metrics like these help to assess the actual value that DevOps provides rather than measuring DevOps success purely in technical and mechanical terms.
Conclusion
DevOps is only valuable if it drives customer value. Through value stream management – which requires a particular approach to DevOps culture and metrics analysis – organizations can align their DevOps processes with positive customer outcomes, ensuring that ideas turn into impact.