The feeling of Trunk-Based Development
How Trunk-Based Development really feels
Trunk-Based development.
Yet another practice that is rarely practiced in our industry, even if it is identified in the Accelerate book as one of the technical capabilities that is correlated with higher delivery performance.
Plenty of blogs and conference talks explain the marvellous benefits of using it.
You probably also needed to practice it to pass Jez Humble’s Continuous Integration test:
- Each commit should trigger a build and run some test suite.
- The build is never broken for more than 10 minutes.
- Commit to mainline every day.
Yes. You need to commit to trunk/master/main every day if you want to claim that your company is doing Continuous Integration.
If with all the existing material, your teammates haven’t been convinced to use Trunk-Based development, adding more reasons to the debate is foolish.
Replicating the very successful method to convince your company to use Clojure could be a possibility, but a year as CTO teaches you that appealing to people’s emotions is more effective that any reasoning.
So how does Trunk-Based development feel like?
Basically:
a race to be the first one to commit & push, so it is your teammate – and not you – the one that has to deal with any conflicts.
Happy Trunk-Based developing!
Actually Trunk-Based development is great! For a more serious “Why Trunk-Based development” content I would recommend Mattia Battiston blog Why I love Trunk Based Development or Steve Smith talk The Death of Continuous Integration. Enjoy!