Are feature branches bad, per se?
Trunk-Based Development is the standard everyone commercial software project should aim for.

Dismiss stale pull requests when new commits are pushed
Can disabling this feature be a small win for your team?

So why do I like feature flags?
It can be valuable to expose it to a small subset of users. Perhaps a single user.

Feature flags aren't about continuos deployment
Although they do easily overcome a common objection.
Subscribe to the Daily Commit
Every day I write about improving software delivery at small companies like yours. Don't miss out! I will respect your inbox, and honor my privacy policy.Unsure? Browse the archive.

When I don't rebase
I always rebase my feature branches, rather than merging them. Except when I don't.