Org Skills

Story splitting patterns

Supporting material for backlog-writing. Agents load it on demand; it ships inside the skill folder.

RawSource

Use the first pattern that yields stories which each deliver an observable outcome. Never split by architectural layer.

Pattern Split when Before → After
Workflow steps The story is an end-to-end process "Place an order" → "Add items to basket", "Enter delivery address", "Pay by card", "Receive confirmation e-mail"
Business-rule variations Several rules apply to one action "Apply discounts" → "Apply percentage voucher", "Apply free-shipping threshold", "Reject expired voucher with message"
Happy path first, then edge cases Error handling doubles the size "Import CSV" → "Import a valid CSV", "Report rows with invalid dates and skip them", "Reject files over 10 MB"
Data variations Different data shapes need different handling "Show customer address" → "Domestic addresses", "International addresses with region", "Addresses without postcode"
Interfaces and platforms Several channels "Notify on shipment" → "In-app notification", "E-mail notification", "SMS notification"
CRUD operations A whole entity lifecycle "Manage delivery slots" → "Create a slot", "Edit a slot", "Deactivate a slot", "List slots by day"
Simple first, performant later Non-functional demands dominate "Search orders" → "Search by order number", "Search with filters returning within 2 seconds for 1M orders"
Spike for the unknown The team cannot estimate "Integrate carrier API" → "Spike: confirm carrier sandbox auth and rate limits (time-boxed 1 day)", then the real stories

Checks after splitting

  • Each story still has a role, a capability and a benefit.
  • The first story is a thin, demonstrable slice through all layers.
  • The order of stories is a dependency order the team can start on day one.
  • No story is "the rest"; if one is, split it again.

Splitting tasks under a story

Tasks describe technical steps (migration, config change, test data) and carry no acceptance criteria of their own. Add them only when the step is non-obvious or needs a different person; otherwise let the team create tasks at sprint planning.