agile-automata

Agile Delivery Methods as Code

View on GitHub

Welcome to Agile Automata

Introduction

Agile Automata are process and coordination machines that drive value delivery. They function through formally defined procedures and processes.

Agile: Devilering solutions through the collaborative effort of self-organizing and cross-functional teams to their customers through adaptive planning, evolutionary development, early delivery, and continual improvement, with flexible responses to change.

Automata: a machine that performs a function according to a predetermined set of coded instructions.

How are the methods for delivery software engineering work not held to the same standards we apply to our very craft? Our mission is to deconstruct and analyze existing and agile delivery methods, cut through the mess, and formulate something better. In the existing agile coaching landscape, great emphasis is on soft skills, novelty, personality, and tradition. We are not saying there is no place for these things, we’re just saying that we should have a proven and empirically verified system at the core of our delivery engine. We aim to do this by pursuing 7 interdependent goals. In summary, they are the following:

  1. Rigorous
  2. Scalable
  3. Generalized
  4. Remote-first
  5. Existing as Code
  6. Modular
  7. Contributable

Rigorous

Based on rigorous scientific research. This value should drive decisions around research and articulation. Provably better. Extrapolating the very best from existing software delivery systems. 

A comparison of existing systems and the creation of a feature-matrix. 

[Current Research list of books and systems currently being studies start of feature matrix]

Actionable and meaningful metrics. 

[page listing a first draft of our thoughts on metrics]

Scalable

Extrapolate a method from existing systems for scaling agile delivery methods that’s both rigorous and recursively consistent. Existing attempts to scale agile software delivery are internally inconsistent in that the prescribed methods to scale the system contradict the prescribed actions in the prescale version of the system. 

Divisibility of effort: feature teams, user stories, micro-frontends, and micro-services. 

Program and system-level thinking..

Generalized

An approach that generalizes (Applicable to non-software engineering domains) the iterative and incremental delivery to domains outside of software development. 

There is a massively growing trend to apply these things to all manner of domains. We want to advance that thought and assist in articulating how that application can and should be carried out to the greatest benefit of the practitioners. 

Remote-first

Internet native..

Add [remote first] slide deck..

And expand upon it: https://theconversation.com/have-we-just-stumbled-on-the-biggest-productivity-increase-of-the-century-145104

Time-shifted 

[massive opportunity to increase speed]

[Agile Automata uniquely suited to govern this approach]

Instantiated as code

If DevOps is infrastructure as code then why shouldn’t our process exist as code as well?

Agile Automata promotes agile organization and the very delivery process itself to exist as functional code. This will be achieved by the utilization of smart contracts with the initial version leveraging project [Aaragon].

This means that agile teams can exist autonomously and disintermediated without reliance on a particular vendor’s software or centralized service. This also means that agile teams can be radically inclusive and be comprised of members from anywhere in the world and be paid in digital assets without legal or geopolitical restrictions.

Modular

As there is no universally best data-structure or engineering solution so there is probably no best process. In keeping with these, we advocate the creation of multiple inter-compatible process modules. An initial set of agile process components. 

  1. An Iteration Module
  2. RICE Scoring Module

Contributable

Cultivate an ecosystem where people can create and share their own agility process smart contract components. Similar to how the 17 software developers produced the Agile Manifesto at Utah’s Snowbird ski resort in 2001, we intend to reach out to agile thought leaders to show how elements of Agile Automata can be used in combination with their existing systems to advance the science of software delivery. We also intend to reach out to the existing blockchain development community to demonstrate how their own software delivery can be improved and made more transparent to the benefit of their users and token holders. 

Conclusion

The evolving role of the Scrum Master, Agilist, Agile Coach, etc. The prescribed number of Scrum Masters are is inconsistent and out of touch with reality. If they are as-needed then why would we embed them as permanent roles in every feature team? Some are even calling for the aggregation of the position altogether. 

The context of this development is currently the UPMC Enterprises Agile Agile Group (AWG). Much like the Lean, Kanban, and Scrum had their practices and methods tested in the context of Toyota, Microsoft, and The Easel Corporation with a real application, we aim to develop the above ideas by applying and experimenting in a real work context. 

The aim of the Agile Automata vision is to support the creation of self-organizing agile organizations aligned on values, principles, and a shared understanding. 


First blog post here. Boom