Essence
Decomposition is breaking big into small and testable. Big hides risk, stalls flow and resists estimation; small is easy to estimate, verify and finish. "Eat the elephant a bite at a time": turn a fuzzy months-long task into a chain of clear hours-long steps.
Hierarchy
Epic (weeks-months) → Feature (a complete capability) → User Story (user value, fits a sprint) → Task (a technical step, hours).
Epic/Feature = planning language; Story = sprint & acceptance; Task = daily work.
INVEST
Independent · Negotiable · Valuable · Estimable · Small · Testable. Violating Small/Estimable → split further.
Worked example
Epic "Cloud sync" ~40 SP (too big). Features: F1 login ~13, F2 push/pull ~13, F3 realtime+conflicts ~14.
F1 → Stories (≤ sprint): S1 email signup 5, S2 login+session 5, S3 logout+reset 3. Sum ≈ 13 ✔.
S1 → Tasks (hours): endpoint+validation+test; signup form+error states; password hashing+DB+migration.
Stories ≥13–21 SP are NOT taken into a sprint as-is — split (Small violated).
When to use
Before a sprint (Epic/Feature → sprint-sized Stories); before work (Story → Tasks); in vibe-coding the same — split a feature into testable steps with a check after each (the Plan phase).
Pitfalls
Giant story in a sprint; splitting by layer not value; Task as a value unit; over-splitting; losing the whole (keep the Epic in mind).