Chapter 2. Why Does Trunk-Based Development Make Things Better?

Code integration can be messy and unpredictable, so we need to come up with ways of working that allow us to handle imperfections as gracefully and stably as possible. I want to show you how much your working life can benefit from trunk-based development. So, rather than describing the “happy path” through our process, I’ll describe a series of problems and how CTBD can enable a team to handle them.

The Shining, Happy Example

Let’s imagine a fictional ecommerce company called ShinyThings.

ShinyThings.com is a website split into several parts, each represented by a separate codebase. Just 18 months ago, bugs were frequent and hard to fix, and progress was often delayed. Developers worked individually, teams were highly separated, and there was plenty of blame when problems arose. There were very few automated tests. All teams were using long-lived feature branches, and frequently code would live whole days or more in a state that was impossible to compile or build.

What happened? Thanks to an ambitious tech lead, a sympathetic CTO, and a handful of enthusiastic developers, ShinyThings gradually began practicing continuous trunk-based development. The company improved its tools, processes, and team interactions across the board. The move to CTBD also facilitated a move to continuous delivery, so getting new features all the way from concept to user is much faster than it used to be. Many team members now laugh about ...

Get What Is Trunk-Based Development? now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.