How branching works
The structural pattern where multiple parallel paths exist between two points in the project graph. For exploration, optional work, or independent workstreams.
Branching is the structural pattern in Tree where multiple parallel paths exist between two points in the project graph. Branches let teams explore alternatives, plan optional work, or run independent workstreams without committing to a single sequence.
How a branch starts
A branch is created by planting two or more nodes that share a common prerequisite but lead to different downstream work. The graph then carries both paths in parallel.
Each branch can be developed independently. Teams can work on one branch while the other waits, or work on both simultaneously if resources allow.
Use cases
Branches have three common use cases.
- Exploration. When the team is deciding between two approaches, both can be planted as branches. The branches develop in parallel until enough information exists to commit. The losing branch is then pruned. The graph preserves the rejected option as a faded record of what was considered.
- Optional work. Some branches lead to outcomes the project may or may not need. A "premium feature" branch can exist alongside the main work, available to develop if priorities shift but not required for project completion.
- Independent workstreams. Some branches are genuinely parallel. Backend work and frontend work, for example, with separate prerequisites and separate deliverables. Branching keeps them visually distinct without forcing artificial ordering.
Convergence and pruning
Branches can converge. Two parallel branches can both feed into the same downstream node, in which case that node has both branches as prerequisites and won't unlock until both complete.
Branches can be pruned. Removing a branch deletes its nodes and edges from the graph. The decision is preserved in the graph's history rather than as live work.
Versus a list
Branching is what makes Tree different from a list. A list has no native way to express "we're considering two paths." A graph does, because the structure can hold both paths simultaneously without confusion.
Related
LAST UPDATED · 2026-05-11


