Trunk-Based Development (TBD) is a source control practice where all developers commit to a single shared branch (trunk/main) frequently — at least daily. It enables true continuous integration and eliminates merge debt.
Fast-moving teams that want to maximise deployment frequency. Requires feature flags and a strong automated test suite as prerequisites.
- All developers work directly on main or via branches that live less than 1 day
- Commit and push at least once per day — preferably multiple times
- Feature flags hide incomplete work in production during development
- Automated CI pipeline runs on every commit: build, unit test, integration test
- If CI fails, fixing it is the team's immediate first priority
- Deploy to production on every successful merge to main
Spotify's engineering culture is built around frequent, small commits. Their continuous delivery pipeline meant a feature change could go from merge to production in under 30 minutes. This enabled the rapid A/B experimentation that powered their growth — running 200+ concurrent experiments requires deploying changes constantly without destabilising the system.
Please contact the author for more information on these examples at linkedin.com/in/kshitijrege
- Adopting TBD without feature flags — you will deploy half-finished features to users
- Adopting TBD without automated tests — the main branch will break constantly
- Long-lived branches in disguise — any branch open for more than 2 days is not TBD
- Continuous Delivery — Jez Humble & David Farley
- Accelerate — Forsgren et al.