The path from code to production is crucial because it determines the length of our feedback loop, and therefore our rate of improvement and that all-important lead time.
Our current tools think of delivery as generic; they take control, and we fill in the blanks. They let us build, test, deploy. But these words mean something different for every application, on every team, and within every business. And there’s a lot more that goes on, or can go on, between the writing and the running of code. There’s often linting, approving, and coordinating. There’s data to think about, and security policies, business team structure, auditing. There are other steps we don’t bother with, because there’s no slot for them: updating libraries, fixing the code to meet standards, taking a different set of steps for a documentation-only change.