Is the necessary and sufficient set of metrics just velocity? No - I don't think that is enough. Can you help me define a short list of metrics, and the reasons for tracking them?
First let's lay out some ground rules. Who is responsible for generating the metrics? Are all metrics treated the same, e.g. should each metric have the same visibility? I'll state the the team is responsible for generating the metrics. This ensures that the metric has some minimun level of veracity. When the team believes that the metric does not tell the truth, they should make that visible and change how it is generated. This is process improvement. However not all metrics need be treated the same. Some should be published, some could stay internal to the team. As the level of trust and autonomy of the team increases the visibility of metrics should naturally become more transparent.
Here's a rough draft list - to get the conversation started. Add your comments and additional metrics. We will see if we can crowd source a great list.
Metrics for the Team
- Story point velocity per sprint
- Projected capacity (in person-days) of next sprint
- Projected capability (in story points range) of next sprint
- Planned capability of the sprint (in story points)
- Story points done and accepted by PO of the sprint
- Story's started but not done (in story points and stories)
- Discovered work added to the backlog (in story points and stories)
- Scope increase/decrease during the sprint.
- Technical debt incurred this sprint (in story points)
- Cost of sprint
- Impediments discovered/removed/escalated
- Sprint - pass/fail
Metrics for the Program
- Release burn up (in story points)
- Scope increase/decrease (and reasons for change)
- Projected completion date range (optimistic & pessimistic)
- Impediments discovered/removed
- Risk mitigated, (unknown) risk realized
Metrics for the Organization
- Comparative Agility survey (compare your development organization against 7000+ others - where do you differ?)
See Also: a follow up post Metrics for the Scrum Team