Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 09:02:23 +08:00
commit 5f44d04a64
18 changed files with 1976 additions and 0 deletions

View File

@@ -0,0 +1,240 @@
# Spec to Implementation - Task Breakdown Guide
How to decompose specifications into well-structured, implementable tasks.
## Task Hierarchy
```
Specification Document
├── Requirement 1
│ ├── User Story 1.1
│ │ ├── Task 1.1.1 (Backend)
│ │ ├── Task 1.1.2 (Frontend)
│ │ └── Task 1.1.3 (Testing)
│ └── User Story 1.2
│ └── [Tasks...]
└── Requirement 2
└── [User Stories and Tasks...]
```
## Task Properties
Each task should have:
| Property | Purpose | Example |
|----------|---------|---------|
| **Title** | Clear, action-oriented | "Implement user authentication endpoint" |
| **Description** | What, why, how | Details of implementation approach |
| **Acceptance Criteria** | How to know it's done | "Users can log in with email/password" |
| **Estimate** | Effort required | "5 story points" or "8 hours" |
| **Owner** | Who's doing it | "Alex Chen" |
| **Dependencies** | What must happen first | "Database schema finalized" |
| **Priority** | Urgency | "P0 - Blocking", "P1 - Critical", etc. |
## Task Sizing
**Too Large (> 3 days)**
- Hard to estimate accurately
- Difficult to track progress
- Risk of getting blocked
**Right Size (1-2 days)**
- Concrete and actionable
- Progress visible daily
- Easier to unblock
**Too Small (< 2 hours)**
- Overhead from task management
- Discourages good estimates
- Creates task clutter
## Task Types
### Backend Implementation
```
Task: Implement [feature] endpoint
Acceptance Criteria:
- [ ] Endpoint accepts [inputs]
- [ ] Returns [format] with [fields]
- [ ] Validates [constraints]
- [ ] Handles [error cases]
- [ ] Tests cover [coverage level]%
```
### Frontend Implementation
```
Task: Build [component/page]
Acceptance Criteria:
- [ ] Component renders [expected layout]
- [ ] Responds to [user interactions]
- [ ] Displays [content] from API
- [ ] Works on [screen sizes]
- [ ] Accessible (WCAG [level])
```
### Database/Data
```
Task: Create [schema/migration]
Acceptance Criteria:
- [ ] Schema supports [use cases]
- [ ] Indexes created for [queries]
- [ ] Migration handles [data]
- [ ] Rollback plan documented
- [ ] Performance tested
```
### Testing
```
Task: Test [feature/component]
Acceptance Criteria:
- [ ] Unit tests: [X]% coverage
- [ ] Integration tests for [scenarios]
- [ ] End-to-end tests for [flows]
- [ ] Performance tests meet [targets]
- [ ] Documented edge cases
```
### Documentation
```
Task: Document [feature/API]
Acceptance Criteria:
- [ ] API documentation complete
- [ ] Usage examples included
- [ ] Edge cases documented
- [ ] Links to related docs added
- [ ] Reviewed and approved
```
## Dependency Mapping
**Identify blocking dependencies:**
```
Auth Implementation (5 days)
├── Database schema (2 days) ← Must happen first
├── API endpoint (3 days) ← Depends on schema
├── Frontend UI (2 days) ← Depends on endpoint
└── Testing (2 days) ← Depends on frontend
```
**Critical Path:** Schema → Endpoint → Frontend → Testing (11 days)
**Parallel Work:** Multiple features can start once dependencies met
## Effort Estimation
**Estimation Techniques:**
1. **Story Points** (Fibonacci: 1, 2, 3, 5, 8, 13)
- Relative sizing
- Good for iterative planning
- Accounts for uncertainty
2. **Hours** (for precise tracking)
- 4-6 hours = Small task
- 8-16 hours = Medium task
- 16+ hours = Break down further
3. **Days** (for roadmapping)
- 1 day = Sprint task
- 2-3 days = Normal task
- 4+ days = Risky, reconsider
## Acceptance Criteria Format
**Good Acceptance Criteria:**
```
Given [context]
When [action happens]
Then [expected result]
```
**Example:**
```
Given user is on the login page
When they enter email and click submit without password
Then they see error "Password is required"
```
## Common Decomposition Patterns
### By Component
- Task 1: Implement backend service
- Task 2: Build UI component
- Task 3: Integrate frontend to backend
- Task 4: Test end-to-end
### By Feature Slice
- Task 1: Happy path implementation
- Task 2: Error handling
- Task 3: Edge cases
- Task 4: Performance optimization
### By Layer
- Task 1: Database layer
- Task 2: API layer
- Task 3: Frontend layer
- Task 4: Integration & testing
### By Priority
- Task 1: MVP features
- Task 2: Core features
- Task 3: Nice-to-haves
- Task 4: Future enhancements
## Red Flags
⚠️ **Task is too vague**
- "Fix authentication" → Break down to specific changes
⚠️ **Task has unclear owner**
- Ensure one person is clearly responsible
⚠️ **Task has no acceptance criteria**
- Add specific, measurable completion definition
⚠️ **Task is estimated at 13+ points**
- Break into smaller tasks
⚠️ **Task has unidentified dependencies**
- List all blockers explicitly
⚠️ **Task depends on another task being done**
- Create clear sequence or parallelize where possible
## Task Lifecycle
```
Spec Analysis
Task Identification
Dependency Mapping
Prioritization & Sequencing
Estimation
Assignment
Implementation (with daily progress)
Review & Testing
Completion & Documentation
```
## Documentation in Task Manager
Each task should link to:
- [ ] Original specification
- [ ] Related tasks
- [ ] Design documentation
- [ ] Test cases
- [ ] Code review URL
- [ ] Merged PR/commit