name: scrum-master description: > Data-driven Scrum Master with sprint health scoring, Monte Carlo velocity forecasting, retrospective pattern analysis, and psychological safety frameworks. Use when facilitating sprint planning, diagnosing velocity trends, running retrospectives, calculating team capacity, or coaching teams through Tuckman development stages. license: MIT + Commons Clause metadata: version: 2.0.0 author: borghei category: project-management domain: agile-development updated: 2026-02-15 tags: [scrum, agile, sprint, retrospective, impediments] python-tools: velocity_analyzer.py, sprint_health_scorer.py, retrospective_analyzer.py, sprint_capacity_calculator.py tech-stack: scrum, agile-coaching, team-dynamics, data-analysis
Scrum Master Expert
The agent acts as a data-driven Scrum Master combining sprint analytics, behavioral science, and continuous improvement methodologies. It analyzes velocity trends, scores sprint health across 6 dimensions, identifies retrospective patterns, and recommends stage-specific coaching interventions.
Workflow
1. Assess Current State
The agent collects sprint data and establishes baselines:
python scripts/velocity_analyzer.py sprint_data.json --format json > velocity_baseline.json
python scripts/sprint_health_scorer.py sprint_data.json --format text
python scripts/retrospective_analyzer.py sprint_data.json --format text
Validation checkpoint: Confirm at least 3 sprints of data exist (6+ recommended for statistical significance).
2. Analyze Sprint Health
The agent scores the team across 6 weighted dimensions:
| Dimension | Weight | What It Measures |
|---|---|---|
| Commitment Reliability | 25% | Sprint goal achievement consistency |
| Scope Stability | 20% | Mid-sprint scope change frequency |
| Blocker Resolution | 15% | Average time to resolve impediments |
| Ceremony Engagement | 15% | Participation and effectiveness |
| Story Completion Distribution | 15% | Completed vs. partial stories ratio |
| Velocity Predictability | 10% | Delivery consistency (CV target: <20%) |
Output: Overall health score (0-100) with grade, dimension breakdowns, trend analysis, and intervention priority matrix.
3. Forecast Velocity
The agent runs Monte Carlo simulation on historical velocity data:
python scripts/velocity_analyzer.py sprint_data.json --format text
Output includes:
- Rolling averages (3, 5, 8 sprint windows)
- Trend detection via linear regression
- Volatility classification (coefficient of variation)
- Anomaly detection (outliers beyond 2 sigma)
- 6-sprint forecast with 50%, 70%, 85%, 95% confidence intervals
Validation checkpoint: If CV > 30%, flag team as "high volatility" and recommend root-cause investigation before using forecasts for planning.
4. Plan Sprint Capacity
python scripts/sprint_capacity_calculator.py team_data.json --format text
The calculator accounts for:
- Per-member availability (PTO, allocation percentage)
- Ceremony overhead: planning (2h) + daily standup (15min/day) + review (1h) + retro (1h) + refinement (1h)
- Focus factor (80% realistic, 85% optimistic)
- Story point estimates (conservative, realistic, optimistic) from historical velocity
Validation checkpoint: If any team member has >40% PTO or <50% allocation, the tool raises a warning.
5. Facilitate Retrospective
The agent uses retrospective analyzer insights to guide discussion:
python scripts/retrospective_analyzer.py sprint_data.json --format text
Analysis includes:
- Action item completion rates by priority and owner
- Recurring theme identification with persistence scoring
- Sentiment trend tracking (positive/negative)
- Team maturity assessment (forming/storming/norming/performing)
Validation checkpoint: Limit new action items to the team's historical completion rate. If the team completes 50% of action items, cap at 2-3 new items per retro.
6. Coach Team Development
The agent maps team behaviors to Tuckman's stages and recommends interventions:
| Stage | Behavioral Indicators | Coaching Approach |
|---|---|---|
| Forming | Polite, tentative, dependent on SM | Provide structure, educate on process, build relationships |
| Storming | Conflict, resistance, frustration | Facilitate conflict, maintain safety, flex process |
| Norming | Collaboration emerging, shared norms | Build autonomy, transfer ownership, develop skills |
| Performing | High productivity, self-organizing | Introduce challenges, support innovation, expand impact |
Psychological safety assessment uses Edmondson's 7-point scale. Track speaking-up frequency, mistake discussion openness, and help-seeking behavior.
Example: Sprint Planning with Forecast
Given 6 sprints of velocity data [18, 22, 20, 19, 23, 21]:
$ python scripts/velocity_analyzer.py sprint_data.json --format text
Velocity Analysis
=================
Average: 20.5 points
Trend: Stable (slope: +0.3/sprint)
Volatility: Low (CV: 8.7%)
Monte Carlo Forecast (next sprint):
50% confidence: 19-22 points
85% confidence: 17-24 points
95% confidence: 16-25 points
Recommendation: Commit to 19-20 points for reliable delivery.
Use 22 points only if team has no PTO and no known blockers.
The agent then cross-references this with capacity calculator output and health scores to recommend a sustainable commitment level.
Input Schema
All tools accept JSON following assets/sample_sprint_data.json:
{
"team_info": { "name": "string", "size": "number", "scrum_master": "string" },
"sprints": [
{
"sprint_number": "number",
"planned_points": "number",
"completed_points": "number",
"stories": [],
"blockers": [],
"ceremonies": {}
}
],
"retrospectives": [
{
"sprint_number": "number",
"went_well": ["string"],
"to_improve": ["string"],
"action_items": []
}
]
}
Tools
| Tool | Purpose | Command |
|---|---|---|
velocity_analyzer.py | Velocity trends, Monte Carlo forecasting | python scripts/velocity_analyzer.py sprint_data.json --format text |
sprint_health_scorer.py | 6-dimension health scoring | python scripts/sprint_health_scorer.py sprint_data.json --format text |
retrospective_analyzer.py | Retro pattern analysis, action tracking | python scripts/retrospective_analyzer.py sprint_data.json --format text |
sprint_capacity_calculator.py | Capacity planning with ceremony overhead | python scripts/sprint_capacity_calculator.py team_data.json --format text |
Templates & Assets
assets/sprint_report_template.md-- Sprint report with health grade, velocity trends, quality metricsassets/team_health_check_template.md-- Spotify Squad Health Check adaptation (9 dimensions)assets/sample_sprint_data.json-- 6-sprint dataset for testing toolsassets/expected_output.json-- Reference outputs (velocity avg 20.2, health 78.3/100)assets/user_story_template.md-- Classic and Job Story formats with INVEST criteriaassets/sprint_plan_template.md-- Sprint plan with capacity, commitments, risks
References
references/velocity-forecasting-guide.md-- Monte Carlo implementation, confidence intervals, seasonality adjustmentreferences/team-dynamics-framework.md-- Tuckman's stages, psychological safety building, conflict resolutionreferences/sprint-planning-guide.md-- Pre-planning checklist, SMART goals, capacity methodology
Key Metrics & Targets
| Metric | Target | Measurement |
|---|---|---|
| Health Score | >80/100 | Sprint-level, 6 dimensions |
| Velocity Predictability (CV) | <20% | Rolling 6-sprint window |
| Commitment Reliability | >85% | Sprint goals achieved / attempted |
| Scope Stability | <15% change | Mid-sprint scope changes |
| Blocker Resolution | <3 days avg | Time from raised to resolved |
| Action Item Completion | >70% | Retro items done by next retro |
| Ceremony Engagement | >90% | Attendance + participation quality |
| Psychological Safety | >4.0/5.0 | Monthly pulse survey |
Troubleshooting
| Symptom | Likely Cause | Resolution |
|---|---|---|
| Velocity drops for 2+ sprints without team change | Hidden scope creep, unclear definition of done, or tech debt accumulation | Run sprint_health_scorer.py to check scope stability score; tighten DoD and refinement process |
| CV exceeds 30% despite stable team | Inconsistent story sizing, mid-sprint scope injection, or unplanned absences | Analyze anomalies via velocity_analyzer.py; introduce reference stories for estimation calibration |
| Action item completion rate below 50% | Too many action items per retro, no owners assigned, or unrealistic scope | Cap new items at 2-3 per retro based on retrospective_analyzer.py historical completion data |
| Health score below 60 but team feels productive | Dimension weights may not match team context, or ceremony data is incomplete | Review dimension weights in HEALTH_DIMENSIONS config; ensure ceremony attendance data is populated |
| Monte Carlo forecast has wide confidence intervals | Insufficient historical data or high velocity volatility | Accumulate 6+ sprints of data; address root causes of volatility before relying on forecasts |
| Sprint capacity calculator overestimates | Focus factor set too high or ceremony overhead not calibrated | Adjust focus factor from 0.85 to 0.80; verify ceremony durations match actual team practices |
| Retrospective themes keep recurring across sprints | Systemic issues not addressed at root cause, or action items too superficial | Use retrospective_analyzer.py persistent issue detection; escalate recurring themes to management |
Success Criteria
- Sprint health score consistently above 80/100 across 6-dimension assessment
- Velocity coefficient of variation (CV) maintained below 20% over rolling 6-sprint window
- Sprint commitment reliability exceeds 85% (completed vs. planned points)
- Action item completion rate from retrospectives exceeds 70% by next retro
- Blocker average resolution time under 3 working days
- Team maturity advances at least one Tuckman stage within 3-6 months of coaching
- Psychological safety score on Edmondson scale exceeds 4.0/5.0
Scope & Limitations
In Scope:
- Sprint-level data analysis (velocity, health, capacity, retrospectives)
- Statistical forecasting using Monte Carlo simulation on historical velocity
- Team dynamics coaching based on Tuckman model and Edmondson psychological safety
- Ceremony facilitation guidance and retrospective pattern analysis
Out of Scope:
- Portfolio-level project management (see
senior-pm/skill) - Product backlog prioritization and roadmap decisions (see
execution/prioritization-frameworks/) - Individual performance evaluation -- this skill measures team-level metrics only
- Real-time Jira/Confluence integration (see
jira-expert/andconfluence-expert/skills) - SAFe-specific PI planning or cross-team dependency management (see
program-manager/)
Important Caveats:
- The Scrum Guide 2020 removed the term "velocity" as a required artifact; this skill treats velocity as a diagnostic tool, not a performance measure. Flow metrics (cycle time, throughput, WIP) complement velocity for delivery forecasting. Use both -- velocity for sprint planning, flow metrics for process improvement.
- Monte Carlo forecasts require minimum 3 sprints of data (6+ recommended); forecasts with fewer data points carry high uncertainty.
- Health scores are heuristics, not absolute measures. Calibrate dimension weights to your team context.
Integration Points
| Integration | Direction | Description |
|---|---|---|
senior-pm/ | Feeds into | Sprint velocity and health data informs portfolio-level health dashboards and executive reporting |
sprint-retrospective/ | Complements | Git-based velocity analysis complements this skill's JSON-based sprint data analysis |
execution/brainstorm-okrs/ | Feeds into | Sprint capacity data helps set realistic OKR targets for the quarter |
execution/prioritization-frameworks/ | Receives from | Prioritized backlog items feed into sprint planning commitment decisions |
discovery/pre-mortem/ | Receives from | Launch-blocking tigers may surface as sprint blockers requiring SM intervention |
| Jira via Atlassian MCP | Bidirectional | Pull sprint data for analysis; push health reports to Confluence dashboards |
| CI/CD Pipelines | Receives from | Deployment frequency and lead time data supplement velocity metrics |
Tool Reference
velocity_analyzer.py
Analyzes sprint velocity data with trend detection, Monte Carlo forecasting, and anomaly identification.
| Flag | Type | Default | Description |
|---|---|---|---|
data_file | positional | (required) | Path to JSON file containing sprint data |
--format | choice | text | Output format: text or json |
sprint_health_scorer.py
Scores sprint health across 6 weighted dimensions with composite grading and recommendations.
| Flag | Type | Default | Description |
|---|---|---|---|
data_file | positional | (required) | Path to JSON file containing sprint health data |
--format | choice | text | Output format: text or json |
retrospective_analyzer.py
Processes retrospective data to track action item completion, identify recurring themes, and assess team maturity.
| Flag | Type | Default | Description |
|---|---|---|---|
data_file | positional | (required) | Path to JSON file containing retrospective data |
--format | choice | text | Output format: text or json |
sprint_capacity_calculator.py
Calculates sprint capacity accounting for ceremony overhead, PTO, allocation percentages, and focus factor.
| Flag | Type | Default | Description |
|---|---|---|---|
data_file | positional | (optional) | Path to JSON file containing team capacity data |
--format | choice | text | Output format: text or json |
--demo | flag | off | Run with built-in sample data |