Velocity Command
The yt velocity command provides quick access to velocity report generation functionality. This is a flatter alternative to yt reports velocity that generates velocity reports for recent sprints to help teams understand their delivery capacity and performance trends.
Overview
The velocity command allows you to:
Generate velocity reports analyzing team performance across multiple sprints
Track team delivery capacity and consistency over time
Identify trends in team productivity and sprint completion rates
Make data-driven decisions for sprint planning and capacity estimation
Velocity reports show how much work a team completes in each sprint, helping predict future capacity and improve sprint planning accuracy.
Base Command
yt velocity PROJECT_ID [OPTIONS]
Command Arguments and Options
- Arguments:
PROJECT_ID- The ID of the project to generate the velocity report for
- Options:
-n, --sprints INTEGER- Number of recent sprints to analyze (default: 5)
Examples:
# Generate velocity report for last 5 sprints (default)
yt velocity PROJECT-123
# Generate velocity report for last 10 sprints
yt velocity PROJECT-123 --sprints 10
# Analyze recent sprint performance with shorter history
yt velocity AGILE-TEAM --sprints 3
# Long-term velocity analysis
yt velocity ENTERPRISE -n 20
Understanding Velocity Reports
What is Team Velocity?
Team velocity measures the amount of work a development team completes in a given sprint, typically measured in:
Story Points: Abstract units representing work complexity and effort
Hours: Actual time spent on completed work items
Issue Count: Number of issues or tickets completed per sprint
Custom Metrics: Project-specific measurements of work completion
- Key Velocity Metrics:
Average Velocity: Mean work completion across analyzed sprints
Velocity Trend: Whether team velocity is increasing, decreasing, or stable
Velocity Consistency: How much velocity varies between sprints
Capacity Utilization: How much of planned work is actually completed
Velocity Report Components
A comprehensive velocity report typically includes:
- Sprint-by-Sprint Breakdown:
Individual sprint performance data
Work planned vs. work completed for each sprint
Sprint goal achievement rates
Notable events or impediments affecting velocity
- Statistical Analysis:
Average velocity across the analyzed period
Velocity range (minimum and maximum values)
Standard deviation and consistency metrics
Trend analysis and velocity trajectory
- Predictive Insights:
Recommended sprint capacity for future planning
Confidence intervals for delivery predictions
Risk factors and capacity planning considerations
Report Analysis and Interpretation
Sprint Count Selection
Choose the appropriate number of sprints to analyze based on your needs:
Short-term Analysis (3-5 sprints):
# Recent performance for immediate planning
yt velocity CURRENT-TEAM --sprints 5
- Benefits:
Reflects current team composition and processes
More relevant for immediate sprint planning decisions
Less influenced by historical changes in team or process
Medium-term Analysis (6-12 sprints):
# Balanced view for quarterly planning
yt velocity STABLE-TEAM --sprints 10
- Benefits:
Balances recent performance with historical context
Good for quarterly and release planning
Provides statistical significance while remaining current
Long-term Analysis (13+ sprints):
# Historical trends for strategic planning
yt velocity MATURE-TEAM --sprints 20
- Benefits:
Identifies long-term trends and patterns
Useful for annual planning and capacity modeling
Provides statistically significant data for predictions
Velocity Trend Analysis
Understanding velocity trends helps inform planning decisions:
- Increasing Velocity:
Team maturity and process improvements
Better estimation accuracy over time
Improved collaboration and efficiency
Technology or tooling improvements
- Decreasing Velocity:
Team changes or skill gaps
Increasing technical debt impact
Process or tooling impediments
Scope complexity increases
- Stable Velocity:
Mature team with consistent processes
Reliable capacity for predictable planning
Well-established estimation practices
Balanced workload and sustainable pace
Integration with Reports Command
The yt velocity command is functionally identical to yt reports velocity. Both commands provide the same velocity report generation capabilities:
# These commands are equivalent:
yt velocity PROJECT-123 --sprints 8
yt reports velocity PROJECT-123 --sprints 8
Choose the command style that fits your workflow:
Use
yt velocityfor quick, direct access to velocity reportsUse
yt reports velocitywhen working with other reporting operations
Use Cases and Applications
Sprint Planning and Capacity Management
Use velocity data to inform sprint planning decisions:
# Check team velocity before sprint planning
yt velocity SCRUM-TEAM --sprints 6
- Planning Applications:
Determine realistic sprint capacity based on historical performance
Adjust sprint scope based on velocity trends and team changes
Set achievable sprint goals and manage stakeholder expectations
Plan release timelines based on predictable velocity patterns
Team Performance Monitoring
Track team performance and identify improvement opportunities:
# Monthly team performance review
yt velocity DEVELOPMENT-TEAM --sprints 4
- Monitoring Benefits:
Identify when team changes affect productivity
Measure impact of process improvements or tool changes
Recognize and address performance impediments early
Celebrate team growth and increasing effectiveness
Release and Portfolio Planning
Use velocity data for higher-level planning activities:
# Portfolio planning with multiple teams
for team in TEAM-A TEAM-B TEAM-C; do
echo "=== $team Velocity ==="
yt velocity $team --sprints 8
done
- Strategic Applications:
Allocate work across multiple teams based on capacity
Plan feature delivery timelines for product roadmaps
Make informed decisions about resource allocation
Manage portfolio risk with velocity-based predictions
Process Improvement and Retrospectives
Support continuous improvement with velocity insights:
# Retrospective preparation with velocity context
yt velocity AGILE-TEAM --sprints 3
- Improvement Areas:
Identify sprints with velocity outliers for deeper analysis
Correlate velocity changes with process or team changes
Use velocity data to validate improvement hypotheses
Track the impact of retrospective action items on team performance
Best Practices
- Data Quality and Consistency:
Ensure consistent sprint boundaries and duration
Maintain consistent estimation practices across sprints
Update issue status and completion data promptly
Use the same velocity metrics consistently over time
- Analysis and Interpretation:
Consider context when interpreting velocity changes
Look for patterns over multiple sprints rather than single-sprint variations
Factor in team composition changes, holidays, and external factors
Use velocity as one input among many for planning decisions
- Communication and Action:
Share velocity reports with the entire team during planning
Discuss velocity trends during retrospectives
Use velocity data to have data-driven conversations about capacity
Avoid using velocity as a performance measurement tool for individuals
- Continuous Improvement:
Regularly review and adjust the number of sprints in your analysis
Correlate velocity changes with process improvements or impediments
Use velocity trends to inform experiments and process changes
Track the impact of team development and training on velocity
Automation and Integration
Automated Velocity Tracking
Create automated velocity monitoring for regular team insights:
#!/bin/bash
# Sprint planning velocity check
TEAM_PROJECTS=("SCRUM-A" "SCRUM-B" "KANBAN-C")
echo "=== Team Velocity Report ==="
echo "Generated: $(date)"
for project in "${TEAM_PROJECTS[@]}"; do
echo "--- $project Team ---"
yt velocity $project --sprints 6
echo
done
Sprint Planning Integration
Integrate velocity data into sprint planning workflows:
# Pre-planning velocity analysis
CURRENT_VELOCITY=$(yt velocity PROJECT-123 --sprints 3 --format json | jq '.average_velocity')
echo "Team average velocity: $CURRENT_VELOCITY"
echo "Recommended sprint capacity: $(echo "$CURRENT_VELOCITY * 0.8" | bc)"
Performance Dashboard Creation
Export velocity data for team dashboards and visualization:
# Export velocity data for dashboard
yt velocity TEAM-PROJECT --sprints 12 --format json > velocity-dashboard-data.json
# Create summary metrics
cat velocity-dashboard-data.json | jq '{
average: .average_velocity,
trend: .velocity_trend,
last_sprint: .recent_sprints[0].velocity,
consistency: .velocity_consistency
}' > team-metrics.json
Comparative Analysis
Multi-Team Velocity Comparison
Compare velocity across multiple teams:
#!/bin/bash
# Multi-team velocity comparison
TEAMS=("FRONTEND" "BACKEND" "MOBILE" "QA")
echo "Team Velocity Comparison"
printf "%-12s %-15s %-15s %-15s\n" "Team" "Avg Velocity" "Last Sprint" "Trend"
echo "--------------------------------------------------------"
for team in "${TEAMS[@]}"; do
VELOCITY_DATA=$(yt velocity $team --sprints 5 --format json)
AVG=$(echo $VELOCITY_DATA | jq -r '.average_velocity')
LAST=$(echo $VELOCITY_DATA | jq -r '.recent_sprints[0].velocity')
TREND=$(echo $VELOCITY_DATA | jq -r '.trend')
printf "%-12s %-15s %-15s %-15s\n" "$team" "$AVG" "$LAST" "$TREND"
done
Historical Velocity Analysis
Track velocity changes over different time periods:
# Quarterly velocity comparison
echo "=== Q1 Velocity (Sprints 1-6) ==="
yt velocity PROJECT --sprints 6
echo "=== Q2 Velocity (Sprints 7-12) ==="
# Note: This would require date-based filtering in actual implementation
yt velocity PROJECT --sprints 6 --offset 6
Troubleshooting
Common Issues
- Insufficient Data:
Verify the project has completed sprints with tracked work
Check that sprints are properly defined and closed
Ensure work items have appropriate estimation data
- Inconsistent Results:
Verify sprint boundaries are consistently defined
Check for changes in estimation practices over time
Ensure completed work is properly marked and tracked
- Performance Issues:
Reduce the number of sprints analyzed if reports are slow
Check network connectivity to YouTrack instance
Verify you have appropriate read permissions for project data
Data Quality Issues
- Velocity Anomalies:
Review sprint scope changes and mid-sprint adjustments
Check for holidays, team changes, or external factors
Verify that completed work is properly tracked and estimated
- Missing Velocity Data:
Confirm sprints have associated work items with estimates
Check that work items are marked as completed within sprint boundaries
Verify time tracking and estimation data is complete
Authentication
Velocity reports require authentication and appropriate permissions. Make sure you’re logged in:
yt auth login
See Also
Reports Command Group - Complete reporting functionality including other report types
Burndown Command - Sprint burndown analysis and tracking
Boards Command Group - Agile board management and sprint configuration
Projects Command Group - Project management and configuration