Thibault JAMET
Sep 7, 2018 · 1 min read

Pretty interesting, and agree when working on long life feature branches.

Although I think, when working in a CI/CD environment, we can think twice and consider a different workflow.

In a CI/CD environment, I personally consider that I am working on the current state of the production and thus the implementation of a small piece of a feature may differ depending on the production implementation.
In such a case, I mostly have small PRs that I constantly rebase on top of the production version, running CI tests at each step, and squash merges it.

Such a workflow does not suffer the problem well explained in the article, while reducing the risk of inter-features dependencies, making each and every change quickly available for every developer on the project.

Of course, while it works pretty well for web-based applications, it may become harder to apply it to released products, depending on your organisation.