Principles
- 01
A refactor without tests is a rewrite.
Stands on Martin Fowler, Refactoring: Improving the Design of Existing Code (2nd ed.) (2018) · Michael Feathers, Working Effectively with Legacy Code (2004)
Essay in progress
- 02
Software moves with checklists, like a pilot.
Stands on Atul Gawande, The Checklist Manifesto: How to Get Things Right (2009) · Asaf Degani and Earl L. Wiener, Human Factors of Flight-Deck Checklists: The Normal Checklist (NASA CR-177549) (1990)
Essay in progress
- 03
Make it work, make it right, make it fast.
Stands on C2 wiki: Make It Work Make It Right Make It Fast (attributed to Kent Beck) · Stephen C. Johnson and Brian W. Kernighan, The C Language and Models for Systems Programming (Byte, August 1983) (1983)
Essay in progress
- 04
Evidence first, conclusion second.
Essay in progress
- 05
Every change ships on its own.
Stands on Jez Humble and David Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (2010)
Essay in progress
- 06
Contracts first.
Stands on Ian Robinson: Consumer-Driven Contracts: A Service Evolution Pattern (2006)
Essay in progress
- 07
If you can't run it locally, you don't own it.
Essay in progress
- 08
Separate the decision from the implementation.
Stands on Michael Nygard: Documenting Architecture Decisions (2011)
Essay in progress