September 4, 2022Commit your work daily, even if it's a WIP. Push it to the server. Open a pull request. Don't be afraid of sharing your incomplete work.
One of the most common problems I see teams and individuals facing when trying to adopt trunk-based development, is the struggle to break the habit of long-lived feature branches.
Some things I commonly hear are:
“Yes, smaller PRs would be nice, but this feature is just too big for that.”
“I just don’t feel good about submitting an incomplete PR.”
“It’s not working yet.”
There are many strategies to make smaller PRs (or even eliminate the need for PRs entirely), but that’s not what I want to talk about right now.
Instead, I want to encourage anyone who’s struggling with this to make a personal commitment. Or if your team is struggling, form a team working agreement.
The commitment is simple:
To elaborate, my suggestion is to at minimum, commit your work daily, push it to the server, and open a pull request. Keep it in WIP/Draft mode if you must.
But making your work visible is half of the reason for continuous integration (CI) and trunk-based development (TBD).
This step alone isn’t enough to give you the benefits of TBD and CI. But if you’re struggling with the idea of sharing incomplete work, I know no better way to overcome that “shyness”, than to simply force yourself to share incomplete work.
Don’t let another day go by when you don’t commit something to a PR, even when it’s incomplete.
Merge SOMETHING every day
Even with long-running feature branches, you can merge something daily. A bug fix, refactor, or utility function.
A GitFlow story
A team I recently started working with has been using GitFlow. Until last week.
The Technologist Podcast #4: Continuous Delivery, DevOps, Go
Coach Denis interviews me about my mission to bring enterprise-class software delivery to small teams with small budgets.