Everything as code
Code is the most complete and explicit specification of a solution. Everything that can be written down as code and automated, should be. This allows us to apply engineering to everything from low-level business logic to the large-scale system design.
What makes code so great? It’s stored in version control systems capturing the history and evolution of the solution. And processes written down as code are repeatable and testable. The alternatives are lacklustre – information that’s only present in a running system or people’s minds, or out-of-date documentation. High levels of automation also allow higher degrees of autonomy. Application logic, testing, configuration, deployment, and infrastructure should all be managed as code.