Epic Breakdown Techniques | Story Slicing
Break epics into 2-3 day stories using workflow, user type, or business rule techniques. Each slice should deliver independent value in one sprint.
6 min read
Epics are large work items that must be broken down for delivery. Good breakdown creates valuable, independently deliverable stories. Bad breakdown creates arbitrary slices that deliver no value alone. This guide covers effective epic breakdown.
Breakdown Approaches
| Approach | Best For |
|---|---|
| Workflow steps | Processes |
| User types | Multiple personas |
| Business rules | Complex logic |
| CRUD | Data features |
Breakdown Techniques
Common Patterns
EPIC BREAKDOWN TECHNIQUES
βββββββββββββββββββββββββ
BY WORKFLOW STEP:
βββββββββββββββββββββββββββββββββββββ
Epic: User checkout
Story 1: Add to cart
Story 2: View cart
Story 3: Enter shipping
Story 4: Enter payment
Story 5: Confirm order
Story 6: Order confirmation email
Each step = deliverable slice
BY USER TYPE:
βββββββββββββββββββββββββββββββββββββ
Epic: User dashboard
Story 1: Dashboard for free users
Story 2: Dashboard for pro users
Story 3: Dashboard for admin users
Each persona = slice
BY BUSINESS RULE:
βββββββββββββββββββββββββββββββββββββ
Epic: Discount system
Story 1: Percentage discounts
Story 2: Fixed amount discounts
Story 3: Buy X get Y discounts
Story 4: Stacking multiple discounts
Each rule = slice
BY CRUD OPERATION:
βββββββββββββββββββββββββββββββββββββ
Epic: Project management
Story 1: Create project
Story 2: View project
Story 3: Update project
Story 4: Delete project
Story 5: List projects
Each operation = slice
More Techniques
MORE BREAKDOWN PATTERNS
βββββββββββββββββββββββ
BY HAPPY PATH vs EDGE CASES:
βββββββββββββββββββββββββββββββββββββ
Epic: Payment processing
Story 1: Successful payment (happy path)
Story 2: Handle declined card
Story 3: Handle network timeout
Story 4: Handle duplicate submission
Story 5: Handle refunds
Happy path first, then edges
BY PLATFORM:
βββββββββββββββββββββββββββββββββββββ
Epic: Mobile app
Story 1: iOS app
Story 2: Android app
Story 3: Tablet optimization
Each platform = slice
BY DATA VARIATION:
βββββββββββββββββββββββββββββββββββββ
Epic: Report generation
Story 1: Report for single project
Story 2: Report across projects
Story 3: Custom date ranges
Story 4: Export formats
Data complexity = slices
BY INTERFACE:
βββββββββββββββββββββββββββββββββββββ
Epic: API integration
Story 1: UI for integration
Story 2: API endpoint
Story 3: Webhook receiver
Story 4: Batch import
Each interface = slice
Vertical Slicing
Full-Stack Slices
VERTICAL SLICING
ββββββββββββββββ
HORIZONTAL (Avoid):
βββββββββββββββββββββββββββββββββββββ
Epic: User registration
Layer slices (bad):
βββ Story: Create database schema
βββ Story: Build backend API
βββ Story: Create frontend form
βββ Story: Add validation
βββ No value until all done
VERTICAL (Prefer):
βββββββββββββββββββββββββββββββββββββ
Epic: User registration
Value slices (good):
βββ Story: Register with email
β βββ UI: email form
β βββ API: create user
β βββ DB: store user
β βββ Value: can register!
β
βββ Story: Add password requirements
βββ Story: Add email verification
βββ Each story = working feature
VERTICAL SLICE DIAGRAM:
βββββββββββββββββββββββββββββββββββββ
UI API DB
β β β
Story1 ββββββββΌββββββ€ β Full feature
β β β
Story2 ββββββββΌββββββ€ β Full feature
β β β
Story3 ββββββββΌββββββ€ β Full feature
Not:
UI API DB
β β β
Story1 ββββββββΌββββββ β Just UI
β β β
Story2 ββββββββΌββββββ β Just API
β β β
Story3 ββββββββΌββββββ€ β Just DB
Validation
Checking Your Breakdown
VALIDATING BREAKDOWN
ββββββββββββββββββββ
INVEST CRITERIA:
βββββββββββββββββββββββββββββββββββββ
Each story should be:
βββ I - Independent (not dependent)
βββ N - Negotiable (not rigid)
βββ V - Valuable (delivers value)
βββ E - Estimable (team can size)
βββ S - Small (fits in sprint)
βββ T - Testable (can verify)
βββ Quality check
QUESTIONS TO ASK:
βββββββββββββββββββββββββββββββββββββ
βββ Can we demo this story alone?
βββ Does it deliver user value?
βββ Can we ship just this?
βββ Is it clear what "done" means?
βββ Can team estimate it?
βββ Does it fit in one sprint?
βββ Validation questions
TOO SMALL:
βββββββββββββββββββββββββββββββββββββ
Signs:
βββ No value without others
βββ Just a task, not a story
βββ Takes hours, not days
βββ Can't be tested alone
βββ May need to combine
TOO LARGE:
βββββββββββββββββββββββββββββββββββββ
Signs:
βββ Won't fit in sprint
βββ Can't estimate confidently
βββ Many acceptance criteria
βββ "And then and then..."
βββ Multiple user types
βββ Need to split further
GitScrum Support
Tracking Breakdown
GITSCRUM FOR EPICS
ββββββββββββββββββ
EPIC TRACKING:
βββββββββββββββββββββββββββββββββββββ
βββ Create epic
βββ Link stories to epic
βββ Epic progress visible
βββ Rollup of story status
βββ Hierarchical view
BREAKING DOWN:
βββββββββββββββββββββββββββββββββββββ
Process:
βββ Create epic with full scope
βββ Create child stories
βββ Link to epic
βββ Estimate stories
βββ Pull into sprints
βββ Managed breakdown
PROGRESS:
βββββββββββββββββββββββββββββββββββββ
βββ Epic shows % complete
βββ Remaining stories visible
βββ Sprint-by-sprint delivery
βββ Stakeholder can see progress
βββ Transparency
Best Practices
For Epic Breakdown
Anti-Patterns
BREAKDOWN MISTAKES:
β Horizontal layer slices
β Technical-only stories
β No value until end
β Stories too large
β Stories too small
β Arbitrary splits
β Long dependency chains
β No clear done criteria