There was a point in my career where I had a dozen open pull requests.
Not half-finished experiments.
Not âIâll get back to this laterâ work.
Twelve branches.
Each one solved a real problem.
Each one was implemented, tested, and ready for the next stepâcode review, QA, or in some cases just validation.
They just⌠werenât a priority.
One of them stands out.
It was one of those problems everyone agreed needed to be fixed.
The kind that shows up in conversations, gets a few nods, and then quietly gets pushed to âlaterâ because itâs assumed to be expensive.
âProbably a week of work.â
âMaybe more.â
âLetâs not disrupt the sprint.â
One Friday afternoon, I had a few hours between tasksâtoo late to pick up anything substantial, too early to call it a day.
So I took a swing at it.
Four hours later, it was done. Tested. Ready for review.
Not a week. Not a sprint.
Four hours.
And then it joined the others.
Waiting.
So once a month, usually on the first, Iâd go through and rebase them all.
Resolve conflicts.
Update dependencies.
Make sure nothing drifted too far from reality.
I started calling it:
Watering the bonsais.
What is a âbonsai branchâ?
A bonsai branch is work that is:
- Fully (or nearly fully) implemented
- Solves a real, known problem
- But is blocked by prioritization, validation, or timing
Itâs not dead code.
Itâs not abandoned.
Itâs maintained, deferred value.
The part most teams donât see
From the outside, these branches look like:
âEngineering started something and didnât finish.â
From the inside, it looks more like:
- The problem was identified
- The solution was designed
- The work was implemented and tested
- And then⌠it waited
Not because it wasnât useful.
Because something else was more urgent.
The hidden cost
Bonsais arenât free.
Every time you keep one alive, youâre paying for it:
- Rebase time
- Merge conflict resolution
- Context switching (âwhat did this fix again?â)
- Mental overhead of tracking whatâs âalmost doneâ
Youâre maintaining a solution that isnât delivering value yet.
And if you donât maintain it?
It dies.
And when it dies, that work doesnât just pauseâit resets.
The hidden value
Hereâs the part that matters:
A bonsai branch is already paid for.
The risk is mostly burned down.
The unknowns have been explored.
The implementation exists.
When you finally prioritize it, youâre not starting from zero.
Youâre starting from:
almost done.
The tension
Good engineers tend to move faster than prioritization cycles.
They see a problem, they solve it, and they move on.
Organizations donât always move that way.
They have:
- competing priorities
- validation cycles
- timing constraints
So you end up with this strange middle ground:
Work that is finished⌠but not allowed to be done.
For engineers
If youâve got bonsais, be intentional about them.
- Keep them alive if they matter
- Document what they solve
- Donât let them sprawl endlessly
And maybe most importantly:
Donât confuse ânot prioritizedâ with ânot valuable.â
Those are not the same thing.
For product and business
You might be sitting on solutions youâve already paid for.
Ask:
- Whatâs been built but not shipped?
- Whatâs been deferred but maintained?
- What could be delivered quickly because the work is already done?
Because sometimes the fastest way forward isnât a new initiative.
Itâs revisiting something thatâs already been solved.
Closing
Some teams let these branches rot.
Others quietly maintain themâkeeping them ready for the moment theyâre needed.
Not everything grows in the open.
Some things are shaped, maintained, and patiently kept alive.
Waiting for the right time.
Sometimes the most valuable work in your system
is the work thatâs just been⌠waiting.
Top comments (0)