| name | project-planning |
| description | Project planning methodologies including work breakdown structure, task estimation, dependency management, risk assessment, sprint planning, and stakeholder communication. Use when breaking down projects, estimating work, planning sprints, or managing dependencies. |
Project Planning
This skill provides comprehensive guidance for planning and managing software development projects effectively.
Work Breakdown Structure (WBS)
Breaking Down Large Projects
Project: E-commerce Platform
├── 1. User Management
│ ├── 1.1 Authentication
│ │ ├── 1.1.1 Email/Password Login
│ │ ├── 1.1.2 Social Login (Google, Facebook)
│ │ └── 1.1.3 Password Reset
│ ├── 1.2 User Profiles
│ │ ├── 1.2.1 Profile Creation
│ │ ├── 1.2.2 Profile Editing
│ │ └── 1.2.3 Avatar Upload
│ └── 1.3 Role Management
│ ├── 1.3.1 Admin Role
│ ├── 1.3.2 Customer Role
│ └── 1.3.3 Vendor Role
├── 2. Product Catalog
│ ├── 2.1 Product Listings
│ ├── 2.2 Product Details
│ ├── 2.3 Product Search
│ └── 2.4 Product Categories
├── 3. Shopping Cart
│ ├── 3.1 Add to Cart
│ ├── 3.2 Update Quantities
│ ├── 3.3 Remove Items
│ └── 3.4 Cart Persistence
├── 4. Checkout
│ ├── 4.1 Shipping Address
│ ├── 4.2 Payment Processing
│ ├── 4.3 Order Confirmation
│ └── 4.4 Email Notifications
└── 5. Order Management
├── 5.1 Order History
├── 5.2 Order Tracking
└── 5.3 Order Cancellation
WBS Best Practices
1. Start with deliverables, not activities
❌ Wrong (activities):
- Write code
- Test features
- Deploy
✅ Right (deliverables):
- User Authentication System
- Product Search Feature
- Payment Integration
2. Use the 8/80 rule
- No task should take less than 8 hours (too granular)
- No task should take more than 80 hours (too large)
- Sweet spot: 1-5 days per task
3. Break down until you can estimate
❌ Too vague:
- Build API (? days)
✅ Specific:
- Design API endpoints (1 day)
- Implement authentication (2 days)
- Create CRUD operations (3 days)
- Write API documentation (1 day)
- Add rate limiting (1 day)
Total: 8 days
Task Estimation
Story Points
Fibonacci Scale: 1, 2, 3, 5, 8, 13, 21
1 point - Trivial
- Update documentation
- Fix typo
- Change button color
2 points - Simple
- Add validation to form field
- Create simple API endpoint
- Write unit tests for existing function
3 points - Moderate
- Implement login form
- Add pagination to list
- Create database migration
5 points - Complex
- Build user profile page
- Implement search functionality
- Add email notifications
8 points - Very Complex
- Build payment integration
- Implement complex reporting
- Create admin dashboard
13 points - Epic
- Build entire authentication system
- Create complete checkout flow
(Should be broken down further)
T-Shirt Sizing
Quick estimation for early planning:
XS (1-2 days)
- Bug fixes
- Minor UI updates
- Documentation updates
S (3-5 days)
- Small features
- Simple integrations
- Basic CRUD operations
M (1-2 weeks)
- Medium features
- Standard integrations
- Multiple related stories
L (2-4 weeks)
- Large features
- Complex integrations
- Multiple epics
XL (1-2 months)
- Major features
- System redesigns
(Should be broken down into smaller pieces)
Planning Poker
Collaborative estimation process:
1. Product Owner presents user story
2. Team asks clarifying questions
3. Each member privately selects estimate
4. All reveal simultaneously
5. Discuss differences (especially highest/lowest)
6. Re-estimate if needed
7. Reach consensus
Example Session:
Story: "As a user, I want to reset my password"
Round 1 Estimates: 2, 3, 3, 8, 3
Discussion: Why 8?
- "What about email templates?"
- "What if SMTP fails?"
- "Need password strength validation"
Round 2 Estimates: 5, 5, 5, 5, 5
Consensus: 5 points
Estimation Accuracy
Cone of Uncertainty:
Project Start: ±100% accuracy
Requirements: ±50% accuracy
Design: ±25% accuracy
Development: ±10% accuracy
Testing: ±5% accuracy
Build in buffer:
Optimistic: 3 days
Realistic: 5 days
Pessimistic: 8 days
Formula: (Optimistic + 4×Realistic + Pessimistic) ÷ 6
Buffer: (3 + 4×5 + 8) ÷ 6 = 5.2 days
Use 6 days for planning
Dependency Identification
Types of Dependencies
1. Finish-to-Start (FS) - Most common
Task B cannot start until Task A finishes
Example: Design → Development
2. Start-to-Start (SS)
Task B cannot start until Task A starts
Example: Development → Code Review (parallel)
3. Finish-to-Finish (FF)
Task B cannot finish until Task A finishes
Example: Development → Testing (testing continues)
4. Start-to-Finish (SF) - Rare
Task B cannot finish until Task A starts
Example: Old system → New system (overlap)
Dependency Mapping
Task Dependencies:
1. Database Schema Design
└─► 2. API Development (FS)
├─► 3. Frontend Development (FS)
└─► 4. Integration Tests (SS)
└─► 5. End-to-End Tests (FS)
2. API Development
└─► 6. API Documentation (SS)
3. Frontend Development
└─► 7. UI/UX Review (FF)
Critical Path: 1 → 2 → 3 → 5
(Longest path through dependencies)
Managing Dependencies
// Dependency tracking in code
interface Task {
id: string;
name: string;
dependencies: string[]; // IDs of tasks that must complete first
status: 'pending' | 'in-progress' | 'completed' | 'blocked';
}
const tasks: Task[] = [
{
id: 'db-schema',
name: 'Design database schema',
dependencies: [],
status: 'completed',
},
{
id: 'api-dev',
name: 'Develop API',
dependencies: ['db-schema'],
status: 'in-progress',
},
{
id: 'frontend-dev',
name: 'Develop frontend',
dependencies: ['api-dev'],
status: 'blocked', // Waiting for API
},
];
function canStartTask(taskId: string): boolean {
const task = tasks.find(t => t.id === taskId);
if (!task) return false;
// Check if all dependencies are completed
return task.dependencies.every(depId => {
const dep = tasks.find(t => t.id === depId);
return dep?.status === 'completed';
});
}
Critical Path Analysis
Finding the Critical Path
Project: Launch Marketing Website
Tasks:
A. Design mockups (3 days)
B. Develop frontend (5 days) - depends on A
C. Write content (4 days) - independent
D. Set up hosting (1 day) - independent
E. Deploy website (1 day) - depends on B, C, D
F. Test website (2 days) - depends on E
Path 1: A → B → E → F = 3 + 5 + 1 + 2 = 11 days
Path 2: C → E → F = 4 + 1 + 2 = 7 days
Path 3: D → E → F = 1 + 1 + 2 = 4 days
Critical Path: A → B → E → F (11 days)
(Any delay in these tasks delays the entire project)
Managing Critical Path
Strategies:
1. Fast-track critical tasks
- Assign best developers
- Remove blockers immediately
- Daily status checks
2. Crash critical tasks (add resources)
- Pair programming
- Additional team members
- Overtime (carefully)
3. Parallelize where possible
- Content writing during development
- Documentation during testing
4. Monitor closely
- Daily updates on critical path
- Early warning of delays
- Quick decision-making
Risk Assessment and Mitigation
Risk Matrix
Impact vs Probability:
Low Medium High
High Monitor Mitigate Immediate Action
Medium Accept Monitor Mitigate
Low Accept Accept Monitor
Example Risks:
1. API Integration Delays (High Impact, Medium Probability)
→ Mitigate: Start integration early, have backup plan
2. Key Developer Leaves (High Impact, Low Probability)
→ Monitor: Document knowledge, cross-train team
3. Library Deprecated (Medium Impact, Low Probability)
→ Accept: Will address if it happens
Risk Register
| ID | Risk | Impact | Prob | Status | Mitigation |
|----|------|--------|------|--------|------------|
| R1 | Third-party API unreliable | High | Medium | Active | Build fallback, cache responses |
| R2 | Database performance issues | High | Low | Monitor | Load testing, optimization plan |
| R3 | Requirements change | Medium | High | Active | Weekly stakeholder sync, flexible architecture |
| R4 | Security vulnerability | High | Low | Monitor | Security audits, dependency scanning |
| R5 | Team member unavailable | Medium | Medium | Active | Documentation, knowledge sharing |
Risk Mitigation Strategies
1. Avoidance - Eliminate risk
Risk: Untested technology
Action: Use proven technology stack
2. Reduction - Decrease likelihood/impact
Risk: Integration failures
Action: Early integration testing, CI/CD
3. Transfer - Share risk
Risk: Infrastructure failure
Action: Use cloud provider with SLA
4. Acceptance - Accept risk
Risk: Minor UI inconsistencies
Action: Document and fix in future release
Milestone Planning
Setting Milestones
Project Timeline: 12 weeks
Week 2: M1 - Requirements Complete
- All user stories defined
- Mockups approved
- Technical design ready
✓ Milestone met when: PRD signed off
Week 4: M2 - Foundation Complete
- Database schema implemented
- Authentication working
- Basic API endpoints created
✓ Milestone met when: Users can log in
Week 7: M3 - Core Features Complete
- All CRUD operations working
- Main user flows implemented
- Integration tests passing
✓ Milestone met when: Alpha testing can begin
Week 10: M4 - Feature Complete
- All features implemented
- Bug fixes complete
- Documentation written
✓ Milestone met when: Beta testing ready
Week 12: M5 - Launch
- Production deployment
- Monitoring in place
- Support processes ready
✓ Milestone met when: Live to users
Sprint Planning
Sprint Structure (2-week sprint)
Day 1 - Monday: Sprint Planning
- Review backlog
- Estimate stories
- Commit to sprint goal
Days 2-9: Development
- Daily standups
- Development work
- Code reviews
- Testing
Day 10 - Friday Week 2: Sprint Review & Retrospective
- Demo completed work
- Discuss what went well/poorly
- Plan improvements
Sprint Planning Meeting
Agenda (2 hours):
Part 1: Sprint Goal (30 min)
- Review product roadmap
- Define sprint goal
- Identify high-priority items
Example Sprint Goal:
"Enable users to browse and search products"
Part 2: Story Selection (60 min)
- Review top backlog items
- Estimate stories
- Check capacity
- Commit to stories
Team Capacity:
- 5 developers × 8 days × 6 hours = 240 hours
- Velocity: 40 story points per sprint
- Buffer: 20% for bugs/meetings = 32 points
Selected Stories:
- Product list page (5 pts)
- Product search (8 pts)
- Product filters (8 pts)
- Product pagination (3 pts)
- Product sort (3 pts)
- Bug fixes (5 pts)
Total: 32 points
Part 3: Task Breakdown (30 min)
- Break stories into tasks
- Identify blockers
- Assign initial tasks
Capacity Planning
Calculating Team Capacity
Team: 5 Developers
Sprint: 2 weeks (10 working days)
Available Hours:
5 developers × 10 days × 8 hours = 400 hours
Subtract Non-Dev Time:
- Meetings: 2 hours/day × 10 days × 5 people = 100 hours
- Code reviews: 1 hour/day × 10 days × 5 people = 50 hours
- Planning/retro: 4 hours × 5 people = 20 hours
Actual Development Time:
400 - 100 - 50 - 20 = 230 hours
Story Points:
If 1 point ≈ 6 hours
Capacity: 230 ÷ 6 ≈ 38 points
Add 20% buffer: 30 points safe commitment
Handling Vacation and Absences
Team Capacity with Absences:
Regular Capacity: 40 points
Developer A: Out entire sprint (-8 points)
Developer B: Out 3 days (-5 points)
Holiday: 1 day for everyone (-8 points)
Adjusted Capacity:
40 - 8 - 5 - 8 = 19 points
Plan accordingly:
- Smaller sprint goal
- Fewer stories
- Focus on high priority
- Avoid risky work
Burndown Charts
Creating Burndown Charts
Sprint Burndown:
Day | Remaining Points | Ideal Burn
----|------------------|------------
0 | 40 | 40
1 | 38 | 36
2 | 35 | 32
3 | 32 | 28
4 | 28 | 24
5 | 28 | 20 ← Weekend
6 | 28 | 16 ← Weekend
7 | 25 | 12
8 | 20 | 8
9 | 12 | 4
10 | 0 | 0
Ideal line: Straight from start to finish
Actual line: Based on completed work
Analysis:
- Days 3-6: Slow progress (blocker?)
- Day 7: Back on track
- Day 9: Ahead of schedule
Interpreting Burndown Trends
Scenarios:
1. Line below ideal
→ Ahead of schedule
→ May have underestimated
→ Consider pulling in more work
2. Line above ideal
→ Behind schedule
→ May have overcommitted
→ Identify blockers
→ Consider removing stories
3. Flat line
→ No progress
→ Blocker or team unavailable
→ Immediate intervention needed
4. Increasing line
→ Scope creep
→ Stories added mid-sprint
→ Review sprint boundaries
Velocity Tracking
Measuring Velocity
Historical Velocity:
Sprint 1: 28 points completed
Sprint 2: 32 points completed
Sprint 3: 30 points completed
Sprint 4: 35 points completed
Sprint 5: 33 points completed
Average Velocity: (28+32+30+35+33) ÷ 5 = 31.6 points
Use for Planning:
- Conservative: 28 points (lowest recent)
- Realistic: 32 points (average)
- Optimistic: 35 points (highest recent)
Recommend: Use 32 points for next sprint
Velocity Trends
Improving Velocity:
Sprint 1: 20 → Sprint 2: 25 → Sprint 3: 30
- Team learning
- Process improvements
- Good trend
Declining Velocity:
Sprint 1: 35 → Sprint 2: 30 → Sprint 3: 25
- Technical debt accumulating
- Team burnout
- Need intervention
Stable Velocity:
Sprint 1: 30 → Sprint 2: 31 → Sprint 3: 29
- Sustainable pace
- Predictable
- Ideal state
Agile Ceremonies
Daily Standup (15 minutes)
Format: Each person answers:
1. What did I complete yesterday?
2. What will I work on today?
3. What blockers do I have?
Example:
"Yesterday I completed the login form.
Today I'll start on the password reset flow.
I'm blocked on the email template approval."
Anti-patterns:
❌ Status reports to manager
❌ Problem-solving discussions
❌ More than 15 minutes
Best practices:
✓ Same time, same place
✓ Everyone participates
✓ Park detailed discussions
✓ Update task board
Sprint Review (1 hour)
Agenda:
1. Demo completed work (40 min)
- Show working software
- Get stakeholder feedback
- Note requested changes
2. Review sprint metrics (10 min)
- Velocity
- Completed vs planned
- Quality metrics
3. Update product backlog (10 min)
- Adjust priorities
- Add new items
- Remove obsolete items
Tips:
- Focus on working software
- No PowerPoint presentations
- Encourage feedback
- Keep it informal
Sprint Retrospective (1 hour)
Format: What went well / What to improve / Action items
Example:
What Went Well:
✓ Completed all planned stories
✓ Good collaboration on complex feature
✓ Improved code review process
What to Improve:
⚠ Too many meetings interrupted flow
⚠ Test environment was unstable
⚠ Requirements unclear on story X
Action Items:
1. Block "focus time" 2-4pm daily (Owner: Scrum Master)
2. Fix test environment stability (Owner: DevOps)
3. Refine stories with PO before sprint (Owner: Team Lead)
Follow-up:
- Review action items at next retro
- Track completion
- Celebrate improvements
Stakeholder Communication
Status Reports
Weekly Status Report - Week of Oct 16, 2025
Sprint Progress:
- Completed: 18/32 points (56%)
- On Track: Yes
- Sprint Goal: Enable product browsing
Completed This Week:
✓ Product list page with pagination
✓ Basic search functionality
✓ Product filters (category, price)
In Progress:
• Advanced search with autocomplete (90% done)
• Product sort options (started today)
Upcoming Next Week:
○ Complete remaining search features
○ Begin product detail page
○ Integration testing
Blockers/Risks:
⚠ Designer out sick - UI reviews delayed 1 day
⚠ Third-party API slow - investigating alternatives
Metrics:
- Velocity: 32 points/sprint (stable)
- Bug count: 3 (all low priority)
- Test coverage: 85%
Next Milestone:
M3 - Core Features (Week 7) - On track
Stakeholder Matrix
| Stakeholder | Role | Interest | Influence | Communication |
|-------------|------|----------|-----------|---------------|
| CEO | Sponsor | High | High | Monthly exec summary |
| Product Manager | Owner | High | High | Daily collaboration |
| Engineering Manager | Lead | High | High | Daily standup |
| Marketing Director | User | Medium | Medium | Weekly demo |
| Customer Support | User | Medium | Low | Sprint review |
| End Users | Consumer | High | Low | Beta feedback |
Project Tracking Tools
Issue/Task Management
GitHub Issues / Jira / Linear:
Epic: User Authentication
├── Story: Email/Password Login (8 pts)
│ ├── Task: Design login form
│ ├── Task: Implement API endpoint
│ ├── Task: Add validation
│ └── Task: Write tests
├── Story: Social Login (5 pts)
└── Story: Password Reset (5 pts)
Labels:
- Priority: P0 (Critical), P1 (High), P2 (Normal), P3 (Low)
- Type: Feature, Bug, Tech Debt, Documentation
- Status: Todo, In Progress, In Review, Done
- Component: Frontend, Backend, Database, DevOps
Documentation
Essential Project Documents:
1. Product Requirements Document (PRD)
- Features and requirements
- User stories
- Acceptance criteria
2. Technical Design Document
- Architecture
- Technology choices
- API design
3. Project Charter
- Goals and objectives
- Scope
- Timeline
- Resources
4. Risk Register
- Identified risks
- Mitigation plans
- Status
5. Sprint Plans
- Sprint goals
- Committed stories
- Capacity
Planning Checklist
Project Initiation:
- Define project goals and objectives
- Identify stakeholders
- Create project charter
- Define scope and requirements
- Estimate timeline and budget
Planning Phase:
- Create work breakdown structure
- Estimate tasks
- Identify dependencies
- Assess risks
- Define milestones
- Allocate resources
Sprint Planning:
- Review and refine backlog
- Define sprint goal
- Estimate stories
- Check team capacity
- Commit to sprint backlog
- Break down into tasks
During Execution:
- Track progress daily
- Update burndown chart
- Address blockers immediately
- Communicate with stakeholders
- Adjust plan as needed
Sprint Close:
- Demo completed work
- Conduct retrospective
- Update velocity metrics
- Plan next sprint
When to Use This Skill
Use this skill when:
- Starting new projects
- Breaking down large initiatives
- Estimating work effort
- Planning sprints
- Managing dependencies
- Assessing risks
- Tracking progress
- Communicating with stakeholders
- Running agile ceremonies
- Improving team processes
Remember: Plans are useless, but planning is essential. Stay flexible, communicate often, and adjust course based on reality. The goal is not perfect adherence to the plan, but successfully delivering value to users.