Teamwork Makes the DevOps Dream Work—the Value Stream Enables the Value Dream
Overview: Learn why value stream mapping is essential to achieving DevOps by breaking down walls and enabling successful, high-yield teamwork.
I recently participated in a series of global DevOps Expos held by a leading global financial services firm. I relish these events because each is an opportunity to directly engage so many people in one day, but also because it is inspiring to see the dedication and passion so many are bringing to transform the application development and digital business disciplines.
Virtually every participant was educated on Agile, and there was even an interesting panel session where the expert participants were asked if there was a particular order that was more successful in regard to adopting Agile practices or DevOps practices first.
The consensus was there is no right order. However, although the majority of the panel claimed to have started with Agile, they disclosed that their Agile journey couldn’t have been recognized without implementing DevOps.
Learn how you can achieve mainframe DevOps.
Read Compuware’s guidebook series.
DevOps exposes the constraints in your current application delivery processes, including the communication barriers that impact your ability to deliver Agile digital experiences. It will force you to break down siloed IT practices. Know that if you start with Agile, it’s going to demand you adopt DevOps to respond to business agility requirements in any fashion that will enable you to capitalize on identified opportunities.
DevOps is about enabling collaboration and community problem solving to achieve the most responsive application delivery platform possible. If you start with DevOps, it will naturally drive waste and expense out of your practices from a value perspective versus a siloed-practices, “eliminate costs at all costs” perspective that could negatively impact your application delivery velocity and quality outcomes.
Value Stream Mapping: The Sine Qua Non of DevOps
An essential tool, or sine qua non if you are a Jean Paul Sartre fan, to achieve DevOps success is value stream mapping. I have been promoting this methodology for over seven years, starting with value stream analysis of enterprise BI practices and then migrating the same methodology to enterprise application delivery processes.
Most organizations are genuinely surprised, if not disbelieving, when they take time to understand their current processes and constraints. Thankfully, value streaming is now becoming all the rage in DevOps enablement. You can learn more about it in an episode of Compuware’s podcast, The Modern Mainframe, featuring Tasktop CEO Dr. Mik Kersten.
What often confuses or inhibits enterprise application delivery teams is a misguided search for a silver bullet, a panacea value stream that manifests itself in a template architecture for DevOps. It is important to be aware that the enterprise application delivery process is made up of a series of sub-flows and layered value streams to comprise an ultimate multi-layered single product value stream.
There is no one size fits all. You have to invest in the discovery and documentation of your own application delivery value stream based on the requirements of each application.
So, think of the top hierarchy of the software development lifecycle. You will start with SDLC processes such as Plan, Build, Test, Deploy and Monitor to measure your current state lead time and general cost of delivery of your application (that application is one product or value stream). This top-level hierarchy exposes individual constraints that require you to continue to drill down with next-level value stream analysis to achieve optimization opportunities.
An easy example is isolating testing processes—which will typically be exposed as the largest consumer of delivery time and resources—from the rest of the SDLC to focus on documenting the value stream of current-state testing processes, i.e., the who, what, how and why questions of constraints to the current testing process required to establish confidence in readiness to deploy into production.
You can have a value stream for each type of testing, i.e., unit, functional, API, regression, performance and security. Evaluate these current-state value streams to identify where you can potentially “shift left” to increase velocity and reduce the impact of errors by catching them earlier in the SDLC.
This then exposes the next sub-flow, or value stream, you will need to complete, which often points to test data provisioning as the major time-consumer and quality inflection issue you will have to document.
This value stream maps just the flow of activities and resources for how you provision test data today, what causes test data quality failures and what velocity and quality requirements you need to implement in a new provisioning process for test data—one that accelerates your testing cycle by recovering lost time and eliminating quality variables that constrain your testing flow.
The prior-level testing cycle value stream will also expose that you have an environment availability constraint within your current testing cycles. This is exacerbated by the fact that you want to enable higher-volume parallel development, which increases demand for access to various environments. Here is where we spill over into the need for Ops collaboration and the need to document the ops value stream for provisioning environments—systems, configuration, data and version control.
In this value stream, for each testing use case we can decide where virtualized services will be best used and determine where live systems are needed as well as the data they require along with the process to quality-control that data, delivering it to the right environment at the right time. We can establish a methodology to quickly wipe out used environments and quickly provision clean, new environments to support the velocity of testing demand that Agile and DevOps generate.
By crafting these value streams, the sub-flow patterns/templates will be exposed and the work and effort to fine tune test data and testing environment value streams for each application will decline.
DevOps-Focused Value Streams Are Critical
These DevOps-focused value streams enable much more effective communication amongst product-oriented cross-functional delivery teams. That, in turn, enables Agile, which enables sustained delivery of high-value digital applications, which keep customers and revenue coming back.
This is why value stream mapping is critical to enabling successful, high-yield teamwork. It is the process and communication tool that breaks down walls. That teamwork makes the DevOps dream feasible, and the value stream is at the core of enabling the DevOps and Agile value dream.
Keep an eye out for future Compuware DevOps events highlighting value stream tools and Ops activity automation enablers with collaborators such as CollabNet VersionOne, Datical, Delphix and XebiaLabs.