The Zeroth Way Of DevOps
Without apologies to Gene Kim, because who put him in charge anyway?

The Zeroth Way Of DevOps

Take time to simplify and automate solutions: simple, automated systems cost less to maintain than big, manual ones, and take less work to make more useful outcomes.

That quote neatly sums up the Zeroth Way. Resolving the tension between traditional tools-clouds-and-apis DevOps and Kim's Three-Ways TOC philosophy, the Zeroth Way doesn't say either is wrong. It says both are right.

The Zeroth Way naturally connects DevOps' to XP because, twenty years ago, Extreme Programming gave a birth to what Kim rightly adopted as DevOps Second Way: Amplify Feedback Loops. Indeed we can see the second way as a proper superset of Don Wells' famous XP loops:

No alt text provided for this image

Refactoring as the Fundamental Way of DevOps

Though we have many venerable agile books on Refactoring, the word is often misused to mean re-writing, debugging or tweaking. SAFe goes so far as to reverse it, imagining refactoring should be "planned for, estimated, and prioritized" by a Product Owner (SAFe requires this quotation to say ? Scaled Agile, Inc. <FFS> don't think SAFe's copyright applies to the rest of this article, which, for the avoidance of doubt, is available to everyone in the world under a Creative Commons CC-BY-SA 4.0 International License </FFS>). But the original intent of refactoring comes from Kent Beck:

[refactoring is] the system expressing its own desire for simplicity. 

Beck's fellow extremo Ron Jeffries was careful to qualify the practice with the word "mercilessly" to make it clear that this is nothing like SAFe's game of tech-debt deferral, but a continuous and rigorous team discipline explicitly supported by quality automation and collective ownership (a.k.a. DVCS in these modern times).

Merciless Refactoring in DevOps means Dev proactively and systematically simplifying all the value, work and learning flows in Ops: improving their design without changing their function. That doesn't just apply to the design of code, but of data, configuration, hardware, service interfaces, and organizational communications and commercial channels.

In DevOps we extend this idea of Merciless Refactoring to proactively DRY the system of the organization until every responsibility for its behaviour appears once and only once. That minimizes the organization's cost of change. Doing so is essential in code to avoid generating exponential tech-debt - which is why Scrum proved unsustainable without XP:

No alt text provided for this image

The same math goes for DevOps. Without Merciless Refactoring, the systems that support first-way end to end flows grow ever more complex and thereby exponentially costly to maintain through changes required in response to 2nd-way feedback and 3rd-way experimentation.

Merciless Refactoring entails automation to simplify this process of simplification, reversing the ends of the First Way and assuring the organization is prepared to embrace change. So Development prioritises work on Operational metrics that assure Customer satisfaction and Operations prioritises work on costs of Development to accelerate Business throughput. This Way is the driver of DevOps' traditional, necessary and continuous investment in CI/CDD/BDD/RPA/SRE/B2D2 automation.

Enshrining Merciless Refactoring in the Zeroth Way reconciles Kim's DevOps with the natural functions of DevOps in automation and simplification. And it connects DevOps directly to the 9th Principle of the Agile Manifesto and the 9th Principle of Permaculture. It works as a refactoring of DevOps itself, improving its design without changing its function.

John Farrow

Enterprise Lean Agile Business Transformation designer, leader & Coach - MBA, MSc, ICP-BAF, SPC5, CSM, KMP, L6S

5 年

great post .. worth reading and noting for all agilists.

要查看或添加评论,请登录

Peter Merel的更多文章

  • Unbreakable Seed Storage

    Unbreakable Seed Storage

    Bitcoin users generally fail to secure their seed phrases - the keys to the blockchain wallets that hold their funds…

    12 条评论
  • Superhuman Prompting

    Superhuman Prompting

    It's well known that prompting formulas dramatically improve the quality of LLM outputs. In many cases a well-prompted…

    8 条评论
  • #AI and the #ClimateCrisis

    #AI and the #ClimateCrisis

    AI used recreationally is no more likely to solve the climate crisis than a hammer cracking walnuts will build a house.…

  • Prompting AI-Driven Development ... in Anger

    Prompting AI-Driven Development ... in Anger

    TL;DR: AI codes quicker, better, and cheaper than humans, but also does things almost but not quite entirely unlike…

  • Merel's Wager & Test-First AGI

    Merel's Wager & Test-First AGI

    Sam Altman says it's only a model's behavior that we can check, not its source code. Even if AI model weights were…

  • AI–Driven Development

    AI–Driven Development

    AI writes software faster, cheaper, and better than humans, but it also hallucinates and misinterprets us. Agile teams…

    11 条评论
  • AI & Agile Alignment: How-To

    AI & Agile Alignment: How-To

    The Intelligence Revolution We've been paying people to automate work we used to pay people to do since agriculture…

  • AI & Agile Alignment 101

    AI & Agile Alignment 101

    There is no agility without alignment; anyone with back pain will tell you that. The Agile movement began in the 90s as…

    8 条评论
  • Camelot 2.0

    Camelot 2.0

    TL;DR: A simpler method of Autonomy in Alignment. This version of Camelot is much easier to explain and to do across…

  • Autonomy in Alignment

    Autonomy in Alignment

    Autonomy Without Alignment In a change of direction, SAFe's Dean Leffingwell quotes Jim Collins: Autonomy without…

    11 条评论

社区洞察

其他会员也浏览了