v1
The as-code family

Infrastructure as Code.

The ancestor. Before it, every server was a snowflake: hand-configured, undocumented, and impossible to rebuild with confidence. After it, infrastructure became declared state that tooling converges toward.

Where it came from.

CFEngine started automating server configuration in 1993. Puppet and Chef carried the idea through the 2000s, and once cloud providers exposed everything behind an API, Terraform generalized it in 2014: entire environments, from networks to DNS, declared in text files and applied by a tool. Kief Morris gave the practice its book in 2016, by which point it had stopped being a technique and become the default.

The operational change mattered more than the tools. Infrastructure changes started arriving as pull requests. A reviewer could see exactly what would change before it changed, and the applied environment could be checked against the declaration afterward.

What it proved.

Declared state beats remembered state
A file that says what should exist outlives every engineer who knew what did exist.
Convergence beats correction
Tooling that continuously pulls reality toward the declaration fixes drift without anyone noticing it first.
Reproducibility is a property, not a project
If the environment is declared, rebuilding it is running the tool again.
Review works for operations
The pull request turned out to be a better change-approval board than the change-approval board.

What PMO as Code borrows.

The posture, wholesale. The document set declares the portfolio the way Terraform files declare an environment. Dashboards and matrices are the applied state, rebuilt from the declaration on every change. Reconciliation loops keep the delivery boards converged with the documents, and staleness checks flag drift the moment a derived artifact falls behind its source.

The one-line inheritance
"Nobody SSHes into production to fix it by hand" becomes "nobody edits a status deck to fix the story by hand."