Skip to content

Ship Without Syncronizing

Each codebase may be deployed whenever desired. No coordination is required with business owners or with other codebases. Business owners may independently choose when they want the system to change, again without coordination with delivery teams.

There are 3 well-trodden paths to get here:

  • Feature flags & telemetry. This style achieves deployment independence by separating "release" from "deployment". It still coordinates releases, but those are not code-related events.
  • Effective monorepo. This style embraces interdependence, allowing anyone working on a producer to trivially update all of its consumers. The entire system is kept continuously releasable.
  • Clean boundaries. This style achieves release independence by creating clean, verifiable boundaries between different codebases. Producers know when a change would break a Consumer and Consumer code is easy to adapt to a Producer change, so both parties are proactive and fix problems before they are merged.

Teams still have to coordinate. Pairs and small sets of teams have to verify that their work combines for some feature. But we no longer need all of the teams to synchronize on a release date / process / push to main.

Releases happen off-cadence. They are no longer quarterly events. Integration stabilization happens per-feature, involving just the teams involved in that feature. Sales or Marketing drive releases to align with feature completion or with the customer's preferred cadence.

Teams no longer need to do release pushes, as long as they prioritize their work correctly (and that's part of getting to this context). Because they do the most valuable work first & stabilize each feature as they go, they are generally done with the "must have" items 1/3 of the way into the expected release cycle. They spend the remainder of the cycle working ahead on the upcomming must haves, as well as enhancing the features they are delivering for this cycle.

Behavior changes: mostly planning. This is when the organization shifts to take advantage of the tech team's ability to do dark releases.frequent safe releases