metric

Branch Lifetime

How long a branch lives before being merged, which determines integration pain and is the practical measure of whether integration is continuous.

Merge conflicts and integration failures scale with how long branches diverge, not with team size or change volume. Two developers on week-long branches have a harder integration than ten developers merging daily.

Trunk-based development takes this to its conclusion: branches live hours to a day, everyone integrates to trunk at least daily, and trunk is always releasable.

The objection is always the same — what about incomplete work? — and it has established answers: feature flags to ship dark; branch by abstraction for large structural changes, introducing an abstraction, building the new implementation behind it, then switching; and decomposing work into small releasable increments, which is a skill and is the actual difficulty.

What it requires to be safe: a fast, trustworthy pipeline — if the build takes an hour, nobody integrates frequently; comprehensive automated tests, since trunk must stay releasable; and a team convention that a broken trunk is fixed immediately.

What it buys, and why it correlates with delivery performance: integration problems surface immediately and small, code review happens on small diffs where it is actually effective, and the long-lived-branch merge — which is where a disproportionate share of defects originate — stops existing.