Decompose the Work
Split the problem by user capability into pieces that can be built and observed independently.
Split by CapabilityNot started
Decompose around user-visible capabilities before splitting work into frontend, backend, and database layers.
Make Every Leaf TestableNot started
A decomposition ends when each leaf has a clear action and an observable result.
Map the DependenciesNot started
Ordering becomes clearer when each piece names what must exist before it can work.