In the Cloud era senior executives are investing into key capabilities like DevOps with the expectation this will accelerate innovation and bring new digital products to market faster.
To deliver on these goals enterprise organizations seek to deploy high quality code, faster and more frequently, but they face a complexity of organization, process and technology that can hinder this objective, slowing throughput and incurring high error rates.
Therefore a whole system DevOps methodology that addresses the organizational level is required, one that maps processes end-to-end and identifies the improvements needed to speed production across the entire software life-cycle.
DevOps Flow is a methodology for measuring the entire development lifecycle end-to-end, defining metrics and improvements that enable continuous optimization to speed the deployment of new software releases, and thus accelerate digital innovation.
Organization and Process Transformation
Often when DevOps is discussed the focus is concentrated on the technology layer, particularly the latest tools like Kubernetes, and also when considering performance it zooms in on the productivity of each individual developer.
However for many organisations the main challenges will be at the level of their team practices and organizational models.
Writing for DevOps.com Mike Vizard highlights the reality of DevOps uptake, that most adoption issues are related to organisational challenges, not technology. The top two barriers to adoption are slow processes and speed of adaptation (29%), followed by budget and funding (21%). Only 18% identified technology limitations as an issue.
As Mike writes it is the broader organisational transformation that is more challenging. ‘Addressing bottlenecks’ might be a function of confronting the situation of a department manager who zealously guards their turf and acts politically to resist any changes required.
Implementing DevOps for one team is a relatively straight forward exercise, but for enterprise organisations, they face a much larger magnitude of complexity, as they typically have multiple teams, spanning multiple geographies and suppliers, with hundreds of developers all contributing to the same software development process.
Therefore a DevOps methodology that also addresses the organizational level is required, one that maps processes end-to-end and identifies the improvements needed to speed production across this entire life-cycle.
Flow Metrics for Elite Level Performance
Organisations need the ability to measure the entire system – end-to-end – to understand how value flows and where it is constrained, and most importantly, to correlate those metrics with desired business outcomes. This approach allows for continuous optimization in the pursuit of delivering greater and greater value to the organisation, faster.
Executives can understand, monitor and improve the systems performance of their software development organization by quantifying it’s throughput metrics. Google research identifies the metrics that define an Elite level of DevOps performance, and McKinsey defines how this can be measured and accelerated through a ‘Developer Velocity Index‘.
DevOps Flow is a methodology for crafting these metrics and implementing high performance, Cloud-centric software development, based on a science developed by pioneers like Toyoto to optimize factory lines and apply this to software engineering.
It can be applied to speed the deployment of new software releases, notably identifying and removing constraints, reducing batch sizes and eliminating waste. These are all steps taken within manufacturing to increase production throughput and are improvements that software teams can adopt to achieve equivalent benefits.