Decomposing Tasks¶
Workflows¶
- [ ] Understand Scope: What is the full scope of work?
- [ ] Identify Components: What are the major pieces?
- [ ] Break Down: Split into 1-2 day tasks
- [ ] Order: Define dependencies and sequence
- [ ] Validate: Can each task be demo'd/tested?
Task Size Guidelines¶
Too Big¶
- "Build the authentication system"
- Cannot be completed in 1-2 days
- Cannot be tested independently
Just Right¶
- "Create login API endpoint"
- "Add password validation"
- "Implement JWT token generation"
Too Small¶
- "Add semicolon"
- "Rename variable"
- Not worth tracking separately
Decomposition Strategies¶
Vertical Slicing¶
Cut through all layers for one feature.
Feature: User Login
├── API endpoint (POST /login)
├── Input validation
├── Database query
├── JWT generation
├── Error handling
└── Integration test
Horizontal Slicing¶
Complete one layer at a time.
Database Layer
├── Users table
├── Sessions table
└── Indexes
API Layer
├── Login endpoint
├── Logout endpoint
└── Refresh endpoint
SPIDR Method¶
- Spike: Research/investigation task
- Path: Main flow implementation
- Interface: API/UI contract
- Data: Storage and schemas
- Rules: Business logic and validation
Task Template¶
## Task: [Title]
**Description**: [What needs to be done]
**Acceptance Criteria**:
- [ ] [Criterion 1]
- [ ] [Criterion 2]
**Dependencies**: [What must be done first]
**Estimate**: [X hours/points]
Definition of Done¶
Every task should have: - [ ] Code complete and reviewed - [ ] Tests written and passing - [ ] Documentation updated - [ ] Deployed to staging