6 min read
The three rituals that make it possible, and the one thing we had to give up.
We ship every Thursday afternoon. Not every "ready" Thursday. Every Thursday. If the branch isn't ready, we cut the branch Wednesday night and ship what's there.
The three rituals
- Monday: one-page plan from each engineer. What's going into Thursday, what's a stretch, what's definitely out. No one else approves it. The engineer owns the call.
- Wednesday: the branch cuts at 18:00 UTC. Whatever is merged by then ships. Whatever isn't, waits a week. Everyone knows this; nobody argues.
- Thursday: shipping is the whole day. Deploy, watch, smoke-test, roll back if needed, write the changelog. No new features.
What we gave up
The ability to say "we'll just squeeze this in on Thursday morning." This is harder than it sounds. Our best engineers lose this argument weekly. The answer is always no. The alternative — a release every three weeks when things pile up — turned out to be strictly worse for everyone, including the engineer who wants to squeeze.
If you want to ship weekly, give up the squeeze. Everything else follows.
LV
Lena Vogel
Engineering Manager