Chapter 4. The Human Factor
So why aren’t more people practicing CTBD already? Understanding why people might not follow full trunk-based development can help you think seriously about how you might persuade them to do it. I’ll share some “mea culpa” stories of times when I’ve found myself not following good practice. Nobody’s perfect, right? After that, I’ll look at how to encourage people to adopt more good practices, and the chapter will finish with some techniques to help avoid the debilitating effects of guilt and shame.
Mea Culpa Stories
Good CTBD practice—or, let’s face it, all good practice—is easy to preach but not always easy to carry out consistently. When aiming for high ideals, we’re all capable of falling short, so it’s helpful to examine how we fall and why. I’ll describe some practices I’ve been guilty of and then look at the role friction plays—and how gold-standard CTBD practice might help us to avoid that friction.
Overusing Branches
When you’re writing code or trying to identify the cause of or fix for a bug, you will often be trying stuff out. Wanting those experiments to somehow live independently from the rest of the codebase is understandable. At the lowest level, this can result in many small functions with names like TempIdea, or tiny chunks of code being commented and uncommented repeatedly. For larger and longer-lived experiments, branches are the natural go-to tool. It’s so easy to create a branch where your experimental half-written code can exist ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access