How to architect your software delivery value stream around flow
When it comes to accelerating the business value of software delivery, Carmen DeArdo -- co-author of Standing on Shoulders: A Leader’s Guide to Digital Transformation and leading authority on value stream management -- typically asks customers one crucial question to get the conversation started: “Do you know where your bottlenecks are?”
More often than not, he is greeted by a shrug of the shoulders or a grimace. They typically don’t know, or at least they’re not 100 percent sure.
And herein lies the main problem facing many IT leaders in their efforts to accelerate their transformations: How can you go faster if you don’t know what’s slowing you down?
While acceleration mechanisms such as Agile and DevOps methodologies do speed up the flow of work during key stages of the software delivery process, they are not themselves an end goal. After all, they only address a portion of the work that takes place to plan, build and deliver a software product.
True acceleration, the real “North Star,” is accelerating the delivery and protection of business value across the whole process from end-to-end. That means focusing on the flow of work from customer request to operation and back through the customer feedback loop for continuous improvement.
It’s all in the flow
Traditional enterprises that are successfully adapting in the age of software understand this holistic, value stream-driven approach. It’s why they’re architecting their software delivery value streams around the concept of flow -- specifically around the people and the work that creates and protects value during the process. They’re focused on addressing impediments to that flow so they can successfully reduce the time to value of their software products.
As Donald Reinersten stresses in The Principles of Product Development Flow, “In product development, our greatest waste is not unproductive engineers, but work that sits idle in process queues.”
Architecting for flow is crucial because enterprise software delivery, by its very nature, is a broken process. The complex — and often implicit — network of teams, tools and processes that plan, build and deliver are disconnected by the role-specific tools. These excellent tools are built for a purpose — for planning, designing, developing, testing, IT support and so on — enabling specialized teams to do their jobs more efficiently and collaboratively.
Even for the many organizations implementing the Scaled Agile Framework (SAFe) to scale their software delivery, the complex product work spans dozens of Agile development teams across a heterogeneous toolchain.
These tools, however, are not designed to integrate and naturally work with other tools in the value stream. They do not automatically flow the product-critical information that specialist teams need for collaboration throughout a product’s development, delivery and support.
Instead, these time-strapped and under pressure teams are forced into mind-numbing manual forms of knowledge sharing, such as email threads, IMs, standing meeting, context switching across various tools, duplicate entry and spreadsheet management.
Our own analysis has found that this manual work can steal on average up to 20 minutes per day per person, a waste of both time and human intellect. This leads to decreased engagement and team happiness. And crucially, with no formal automated process, it can be hard to see how work is flowing between stages and obtain one source of truth of a product’s journey. If you can’t see the workflow to identify bottlenecks, how can you gain control and take the steps to improve it?
One disparity between the tech giants and most Fortune 100/500 companies is that the former emphasizes the integration and architecting of the delivery pipeline as a product. While these giants can invest heavily in the creation of their own custom pipelines, this is not a feasible solution for typical organizations in banking, finance, retail, insurance, etc. Instead, they purchase best of breed tools for product management, agile planning, testing, service management and so on. These tools still need to be integrated and architected as a product for speed of delivery.
By visualizing and automating the flow of work between the tools and teams across the key stages of the value stream, they can adopt a product-centric approach to their software delivery.
Connect your Value Stream Network
Organizations can create their own product pipelines by connecting their invisible “value stream network” through a series of integration patterns. These patterns are common and critical interactions between the specialists and the tools (such as flowing a defect between an Agile Planning tool and QA tool). By stitching these integration patterns together, their value stream network becomes visible, revealing the whole story of the product’s journey from a customer request to their screen.
This story traces all the work from requirement to delivery and back, helping product owners/managers to better understand how the product was built, where the flow slowed down, what the end-users think and how to swiftly improve any issues to deliver a more delightful experience. Doing this has many benefits:
- Eliminates overhead and duplicate data entry
- Reduces context switching
- Accelerates delivery speed
- Enhances cross-team collaboration
- Ensures one version of the truth or source of information
- Improves time to value and mean time to resolution (MTTR)
- Enables end-to-end visibility and measurement of flow (including flow metrics)
- Creates traceability for compliance and continuous improvement
All of which lead to improved communication with the business and also increased engagement (happiness) for the people performing the work.
First steps in architecting your value stream
You should identify the scenarios that are causing the most immediate pain and enable the associated integration pattern. Over time, you should look to adopt more of these foundational integration patterns, linking them together to accelerate flow between the ideation, creation, release and operation stages that continuously plan, build, deliver and support software at scale.
Generally, disconnects occur between the ends of the value stream (e.g., between ideation and creation or between operation and creation). Once all tools are connected from end-to-end, you have a traceable and visible workflow that enables you to begin reporting and measuring performance through powerful flow metrics -- the only way to measure and manage the flow of business value across your IT organization.
There are other tools, too. Dominica DeGrandis, author of Making Work Visible, has worked with DeArdo to create a “Value Stream Canvas” exercise that helps teams visualize problems that occur during hand-offs as works cross the value stream.
This practical learning experience can help teams begin to apply the concepts of the Flow Framework, a new management approach that allows organizations to track the flow of business value in software delivery, in a way that both the software delivery organization and the business can understand.
Once you’re architecting around flow and visualizing how work moves from one stage to the next, there are no more shrugs, no more stabs in the dark, no more uncertainty. IT leaders finally have a simple means to see what’s slowing them down to continuously know where to invest resources and accelerate their value delivery.