Deploying puts code on servers. Releasing puts a change in front of people. When they are the same event, every deploy is a launch, and every launch waits for a deploy.
Two decisions, two owners
Engineering decides when code is ready to ship. Product decides when a change is ready for customers. A flag lets each make their call without waiting on the other.
What changes
- Merges get smaller, because unfinished work can ship switched off
- Launches stop being events: they’re a percentage moving up
- Rollbacks are a switch, not a redeploy
Start with one change behind one flag. The habit grows from there.