There's no single approach that works for everybody. What works best for you is dependent on several factors:<p>- Whether you're primarily developing or maintaining<p>- Size and organization of the codebase<p>- Size of the team working with the codebase<p>- Your production deployment strategy<p>- Probably others<p>Here's the thing: I know teams using trunk-based development and teams using feature branch development, <i>and they all work in the same organization!</i> Like most things in software development, the best strategy for you is dependent upon your needs and you should eschew the idea that there's only one right way to do everything.
> doing small short-lived branches of coherent chunks takes practice but it’s very possible.<p>Indeed, chunking and sequencing changes is a learnable skill, like many other things such as system design, effective unit tests, or writing code that compiles in the first place. Out of those it's not the hardest - it's hardly like learning a new programming language - and it is very beneficial.