No release on Friday

Do you have "no release on Friday" policy?

One of teams I led pushed things to production almost every Friday. Sounds crazy, but I don't recally any major disaster.

A few highlights of how the team did it. 🧵👇

  1. Everyone owned quality. You create a feature, you test it.
  2. QA engineers are part of the team. They take part in grooming/planning, they optimize SDLC, and focus on edge cases and end-to-end testing.
  3. "Stop the line" - anyone in the team was empowered to say, "stop, we're not releasing today". And that was fine - we missed maybe 1 out of 5 releases.
  4. Big launch? We pushed things behind feature flags. Or we did a staged rollout. Bonus point - when we came back on Monday, we already had some data from 1% of our customers.
  5. Quality, again. 99.9% crash free. And a number of open bugs < 10. These were our KPIs.

In return, our release cycle was a full week - kickoff on Monday, push to production on Friday. No Thursday nor Wednesday. Full five days of work.