Trunk Based Development: Overview and Implementation

An interview with Split SRE Craig Sebenik

In this Espresso With The Evangelist episode, Split Site Reliability Engineer (SRE) Craig Sebenik talks with Dave about implementing Trunk Based Development, offering an orientation to the practice and tips for implementation based on lessons learned at several startups, LinkedIn and Split.

Craig covers the two main variations of TrunkDev he’s seen in the wild:

  • Committing directly to master
  • Committing into a short-lived feature branch and then doing a PR

In both cases, the goal is to avoid long-lived branches and thus avoid the “merge hell” which often occurs when long-lived branches are finally merged late in a dev cycle.

Making the transition may take a bit of planning and work, but it’s worth it.

Well, like a lot of new practices, it’s actually intuitive once you look back: it’s a bummer to wait six days or even or six weeks to find out you’ve got a bug or a conflict. But if you find out between, you know, coffee and lunch, it’s still fresh in your mind and you can possibly fix it much faster and you haven’t gone on to something else.