By use case
Trunk-Based Development
Keep main releasable at all times by merging in small batches and using flags to separate code integration from customer exposure.
When to use this playbook
- Long-lived branches are causing merge conflicts or delayed releases.
- Teams need to deploy frequently without exposing unfinished functionality.
- Release coordination overhead is slowing cross-team delivery.
Delivery sequence
- 1. Create feature-gated slices. Break work into small, independently mergeable changes.
- 2. Merge to trunk continuously. Keep integration frequent to avoid drift and expensive rebases.
- 3. Validate behind flags. Use targeted exposure for QA and internal dogfooding without broad impact.
- 4. Ramp safely. Expand cohorts as metrics remain healthy, with instant rollback controls available.
Cross-links
Engineering controls for continuous delivery.
- Feature Flags to gate unfinished functionality.
- Canary Releases to validate behavior before broad exposure.
- Kill Switches for quick mitigation when regressions appear.
- Engineering Team Solution for the wider release operating model.