In recent years, there has been an explosion of interest in measurement driven process improvement in software development. This is largely driven by the DevOps movement and the work of the DORA team, highlighting how data can be used to separate high performing teams from the rest and showing the impact that the practices these teams use, have on the outcomes for the businesses they support.
At Exathink, we view DevOps practices as a part of an overall engineering process optimization program. Specifically, the focus of DevOps is software delivery Optimization: reducing the time and effort required to take code increments from development environments to production. While it is a necessary part of optimizing an engineering process, it is not sufficient.
Our optimization program focuses on end to end delivery of value increments of varying granularity, ranging from stores and bug fixes to epics, releases and product increments. In our research and work with clients, we have found that the time to take value increments from design through coding, delivery and deployment is often 10-100 times larger compared to the cumulative time required to produce and deploy their corresponding code increments.
This is because there is significant latency in every phase of value creation and delivery: time when work is waiting around without making progress due to multitasking, capacity constraints, context switches, handoffs and collaboration delays between people.
To reduce overall time to value and manage engineering capacity more effectively, we need to manage latency during the design, coding and testing phases of value delivery, in addition to adopting DevOps best practices for producing and deploying code increments.
In fact, in most cases, there are greater efficiencies to be gained from reducing end to end latency in a value stream, and the practices needed here, like reducing work in progress, reducing batch size of changes, frequent code integration, shift-left testing, minimizing multi-tasking etc. are precisely the building blocks for adopting downstream DevOps practices successfully,
The key innovations that we bring to the table are a set of techniques to identify non-value added delays and latency in your end to end product delivery process.
Using Polaris, our real time measurement platform, we show teams how to systematically use real time measurements and feedback loops to craft their own process changes to reduce non-value added delays.
It turns out that when they do this effectively, it improves outcomes along several key dimensions that positively impact the customer, the company and the team.