Project Management
Sprint Planning
Capacity Calculation
Team capacity = (# engineers) × (days in sprint) × (focus factor 0.6-0.8)
Available points = capacity × historical velocity_per_person_day
Velocity tracking: Use 3-sprint rolling average. Never commit above 110% of rolling avg.
Estimation Techniques
| Technique | Best For | Scale |
|---|---|---|
| T-shirt sizing | Epics, roadmap items | XS, S, M, L, XL |
| Planning poker | Sprint stories | Fibonacci: 1,2,3,5,8,13,21 |
| Three-point | Risky/uncertain work | (O + 4M + P) / 6 |
Rule: If estimate > 13 points, decompose. If team variance > 2 Fibonacci steps, discuss.
OKR Framework
Structure
Objective: Qualitative, inspiring, time-bound
└─ Key Result 1: Measurable outcome (0.0–1.0 scoring)
└─ Initiative: Concrete project/task driving the KR
└─ Key Result 2: ...
└─ Key Result 3: (max 3-5 KRs per objective)
Scoring & Cadence
| Score | Meaning |
|---|---|
| 0.0–0.3 | Failed to make progress |
| 0.4–0.6 | Progress but missed target |
| 0.7–1.0 | Delivered (0.7 is "healthy ambitious") |
- Weekly: Check-in on KR progress (15 min)
- Monthly: Score and adjust initiatives
- Quarterly: Grade OKRs, set next quarter
Stakeholder Management
RACI Matrix
| Task | PM | Eng Lead | Design | Exec |
|---|---|---|---|---|
| Requirements | A | C | R | I |
| Architecture | C | R | I | I |
| Launch decision | R | C | C | A |
R=Responsible, A=Accountable (one per row), C=Consulted, I=Informed.
Communication Plan
| Audience | Frequency | Format | Content |
|---|---|---|---|
| Exec sponsors | Biweekly | Email/slides | Status, risks, decisions needed |
| Cross-team deps | Weekly | Sync/Slack | Blockers, timeline updates |
| Team | Daily | Standup | Yesterday/today/blockers |
Agile Ceremonies
| Ceremony | Duration | Cadence | Output |
|---|---|---|---|
| Standup | 15 min | Daily | Blockers surfaced |
| Sprint Planning | 1-2 hr | Per sprint | Committed backlog |
| Sprint Review/Demo | 1 hr | Per sprint | Stakeholder feedback |
| Retrospective | 1 hr | Per sprint | Action items (max 3) |
| Backlog Refinement | 1 hr | Weekly | Estimated, ready stories |
Kanban Workflow
Backlog → Ready → In Progress → Review → Done
WIP:∞ WIP:3 WIP:2
Key metrics:
- Lead time: Request → Done (target: track trend, reduce)
- Cycle time: In Progress → Done (optimize this)
- Throughput: Items completed per week
WIP limits: Start with (team size / 2) + 1. Adjust based on flow.
Risk Management
Probability × Impact Matrix
| Low Impact | Med Impact | High Impact | |
|---|---|---|---|
| High Prob | Medium | High | Critical |
| Med Prob | Low | Medium | High |
| Low Prob | Low | Low | Medium |
For each High/Critical risk, document: Risk → Trigger → Mitigation → Owner → Status
Project Kickoff Checklist
- Problem statement and success criteria defined
- Stakeholders identified (RACI complete)
- Scope documented (in-scope / out-of-scope)
- Timeline with milestones
- Dependencies mapped
- Risks identified with mitigations
- Communication plan agreed
- Tech approach reviewed
Post-Mortem / Retrospective
Blameless Post-Mortem Template
- Summary: What happened, impact, duration
- Timeline: Chronological events with timestamps
- Root cause: Use 5 Whys (ask "why" iteratively until systemic cause found)
- Contributing factors: Process gaps, tooling issues
- Action items: Each with owner and deadline
- Lessons learned: What went well, what didn't
5 Whys Example
Why did the deploy fail? → Config was wrong
Why was config wrong? → Manual edit in prod
Why manual edit? → No automated config management
Why no automation? → Never prioritized
Why? → No visibility into config-related incidents
→ Action: Implement config-as-code with PR review
Dependency Management
Track cross-team dependencies in a table:
| Dependency | Owner Team | Status | Needed By | Risk |
|---|---|---|---|---|
| Auth API v2 | Platform | In Progress | Sprint 5 | Medium |
| Design system update | Design | Blocked | Sprint 4 | High |
Escalate any dependency at risk ≥2 sprints before needed date.
Burndown Charts
- Burndown: Remaining work vs. time (scope creep = line goes up)
- Burnup: Completed work + total scope vs. time (shows scope changes explicitly)
Use burnup for stakeholder reporting (makes scope changes visible).
→ See references/ for templates and detailed framework docs.