Focusing on risk mitigation
No process is perfect. We cannot eliminate honest human error. We can double down on our automated testing—even triple down, and more. But sooner or later, a mistake will happen, because to err is human.
The solution is not to slow down, but instead to go faster and mitigate the risk. We need to force ourselves to control the batch size, by decoupling deployments from releases, with the help of feature flags. And when things still go wrong—and they will—then we must be prepared to fail forward fast, while we rely on our autonomous services to limit the blast radius.
Small batch size
One of the most effective ways to mitigate risk is to control the batch size of the work units we produce. Agile methods help us mitigate the risk of building the wrong solution by delivering features more frequently. A smaller batch size allows us to elicit feedback from end users more quickly so that we can make course corrections and eliminate...