When YAML Breeds: Distributed Denial of Productivity

My last post discussed the danger of programming in YAML, with examples from the CI domain, where YAML is the norm for defining delivery pipelines. Worse still is YAML programming at scale. As services multiply, so do the YAML files, and so does duplication and drift. This holds us back.

Proliferation, Duplication, and Drift

Consider Microsoft's GitHub organization. To ensure an apples to apples comparison, I focused on one CI tool (Travis) and one stack (Node).

Evolving Understanding of Delivery

Two new terms have recently emerged around software delivery: Software-Defined Delivery and Progressive Delivery. Why? How do they relate to Continuous Delivery?

Several forces today make delivery increasingly complex. Notably, the proliferation of repositories, with hundreds of small projects replacing a handful of monoliths; a desire for greater automation to realize the full potential of CD across multiple environments; the rise of feature flagging; and increased evidence (such as the Equifax debacle) of the need to bake security into the delivery process.