aidentity / index

abrahamFerga/scrum-skills · MIT

audit-sprint-ado

Audits a completed or in-progress Azure DevOps sprint against Scrum and ADO best practices — checks Sprint Goal presence, work item hygiene, state transitions, field completeness, capacity tracking, and Definition of Done compliance. Surfaces findings with severity levels and offers to post a summary to the ADO wiki or add comments to specific work items. Use when anyone says things like "audit our sprint in ADO", "review the sprint in Azure DevOps", "check our ADO sprint health", "are our work items following best practices", or "sprint health check". Don't use for Jira, Sprint Planning, Daily Scrum, or Retrospective. Requires an Azure DevOps MCP connection.

stable

Contents

ADO Sprint Audit

Purpose

ADO gives teams enormous flexibility — which means it's easy to drift into habits that obscure progress, hide impediments, or make velocity data meaningless. This audit checks both Scrum health (is the team doing Scrum well?) and ADO hygiene (is the data in the board trustworthy?).


Prerequisites

This skill requires an active Azure DevOps MCP connection. If mcp__azure-devops__* or mcp__ado__* tools are not available, let the user know and stop.


Step 1 — Identify the sprint

Ask: "Which sprint should I audit — the current one, the one just completed, or a specific iteration path?"

Use work_list_team_iterations or work_list_iterations to confirm the iteration path. Store as $ITERATION.


Step 2 — Fetch sprint data

Retrieve all relevant data for $ITERATION:

  • All work items in the iteration via wit_get_work_items_for_iteration
  • Team capacity via work_get_team_capacity or work_get_iteration_capacities
  • Team settings (Definition of Done, working days) via work_get_team_settings

Group items by type: PBI / User Story, Task, Bug, Test Case, other.


Step 3 — Run the audit

Grade each check as:

  • ✅ Pass — meets the standard
  • ⚠️ Warning — worth improving
  • ❌ Fail — missing or broken; impacts team effectiveness
Area 1 — Sprint Goal (Scrum)
CheckPass condition
Sprint Goal definedIteration has a non-empty goal field
Sprint Goal is outcome-orientedGoal reads as a value statement, not a task list
All committed items relate to the Sprint GoalNo large clusters of work unrelated to the goal

A missing Sprint Goal is a significant Scrum health issue — the team has no way to assess whether the Sprint was successful beyond counting items.

Area 2 — Work Item Hygiene (ADO)
CheckPass condition
All items have an assigned ownerNo unassigned active or resolved items
All items are linked to the correct iterationNo stray items from other iterations
PBIs / User Stories have a parent (Feature or Epic)Orphaned backlog items are harder to trace to strategy
Bugs are linked to the PBI they affectUnlinked bugs obscure the root cause
No items in "Removed" state without a commentSilent removals hide scope changes
Item titles are descriptiveNo "New PBI", "Task 1", or copy-paste duplicates
Area 3 — State Transitions (ADO)

ADO state transitions tell the story of how work flowed. Irregular transitions are a signal — not always wrong, but worth understanding.

CheckPass condition
No items jumped from New → Done without ActiveDirect state jumps should have a comment explaining why
No items lingered in Active for the full sprint without progressFlag items with no state change and no task activity
Resolved items have been reviewed and closed or reopenedResolved ≠ Done — items should not stay in Resolved at sprint end
Tasks are Closed when their parent PBI is DoneOpen child tasks on a Done PBI creates inconsistent data

Use wit_list_work_item_revisions on flagged items to inspect state history if needed.

Area 4 — Acceptance Criteria and Definition of Done (Scrum + ADO)
CheckPass condition
All PBIs have acceptance criteriaThe Microsoft.VSTS.Common.AcceptanceCriteria field is not empty
Done/Closed items have ACs that can be verifiedACs are conditions, not vague descriptions
No Done items have open child tasksAll tasks under a closed PBI should be closed
DoD is applied consistentlyIf a team DoD exists, Done items should visibly meet it
Area 5 — Capacity and Velocity (ADO)
CheckPass condition
Team capacity was set for the sprintCapacity entries exist for each team member
Remaining work on closed tasks is zeroNon-zero remaining work on closed tasks skews burn-down
Sprint commitment matched capacityFlag sprints where planned effort significantly exceeded capacity
Velocity is calculableEnough PBIs have story points / effort for velocity to be meaningful

Step 4 — Present the audit report

ADO Sprint Audit — [ITERATION PATH]
Audited: [DATE]

Sprint Goal
  ✅ / ⚠️ / ❌  [Check]: [finding]

Work Item Hygiene
  ✅ / ⚠️ / ❌  [Check]: [finding]
  (list each item ID where relevant)

State Transitions
  ✅ / ⚠️ / ❌  [Check]: [finding]

Acceptance Criteria & DoD
  ✅ / ⚠️ / ❌  [Check]: [finding]

Capacity & Velocity
  ✅ / ⚠️ / ❌  [Check]: [finding]

Summary
  [N] passed · [N] warnings · [N] failed

Top recommendations
1. [Most impactful fix — name specific item IDs where possible]
2. ...


Step 5 — Offer follow-up actions

Ask the user which, if any, follow-up actions to take:

  1. Add comments to specific work items — for items with AC or DoD findings, offer to post a comment via wit_add_work_item_comment
  2. Post audit to ADO wiki — offer to create or update a wiki page with the full report via wiki_create_or_update_page
  3. No action — output the report as a clean block for the team to act on manually

Never take any of these actions without explicit confirmation.


Guardrails

  • Never update work item state, fields, or assignments without explicit user confirmation.
  • Never frame findings as individual failures — focus on systemic patterns and process improvements.
  • If the sprint data is incomplete (e.g. capacity not set, Sprint Goal missing), report the gap rather than skipping the check.
  • Flag persistent patterns across multiple sprints if the user mentions them — a single audit snapshot is less useful than a trend.
  • Capacity and velocity data is team-internal — never suggest sharing it outside the team without the user's intent being clear.

Provenance

Authored by abrahamFerga in abrahamFerga/scrum-skills. The content is mirrored here under its upstream license.

Related

audit-backlog-ado Audits the Azure DevOps product backlog for hygiene, story quality, and refinement readiness — identifying items that are too large, missing acceptance criteria, stale, unestimated, or out of priority order. Use when a Scrum Master or Product Owner says things like "audit the backlog", "is the backlog healthy", "review the backlog before refinement", "clean up the backlog", "check backlog hygiene", or "prepare the backlog for planning". Do not use for individual story audits — use audit-user-story for that. Do not use for sprint planning or velocity review. abrahamFerga/scrum-skills MIT audit-sprint-jira Audits a completed or in-progress Jira sprint against Scrum and Jira best practices — checks Sprint Goal presence, issue hygiene, workflow transitions, field completeness, story point coverage, and sub-task consistency. Surfaces findings with severity levels and offers to add comments to specific issues or export a summary report. Use when anyone says things like "audit our sprint in Jira", "review the Jira sprint", "check our Jira sprint health", "are our issues following best practices", or "sprint health check in Jira". Don't use for Azure DevOps — use audit-sprint-ado instead. Don't use for Sprint Planning, Daily Scrum, or Retrospective. Requires a Jira MCP connection. abrahamFerga/scrum-skills MIT audit-sprint-retrospective-ado Reads an Azure DevOps retrospective — from the ADO Retrospectives extension board, a wiki page, or retro-tagged work items — and produces a structured summary of what the team said, identifies patterns and recurring themes, audits whether action items are properly tracked as work items with owners, and generates concrete suggestions. Use when anyone says things like "summarize our retro", "audit the retrospective in ADO", "what were the action items from the retro", "review the team's retrospective board", "check our retro follow-up", or "did we capture everything from the retro". Don't use for facilitating a retrospective in real time, Jira projects, or general Scrum questions. abrahamFerga/scrum-skills MIT audit-user-story Audits an existing user story against Scrum best practices — checks INVEST criteria, story format, acceptance criteria quality, and Definition of Ready compliance. Raises findings with clear severity levels and offers to post the audit as a comment on the work item for the Product Owner or PM to act on. Use when anyone says things like "audit this story", "review this user story", "is this story ready", "check this PBI", "does this story meet best practices", or pastes a story and asks for feedback. Don't use for creating new stories, sprint planning, or general Scrum questions. Works with ADO, Jira, or a pasted story. abrahamFerga/scrum-skills MIT daily-sync-dev Prepares a developer's Daily Scrum update by pulling assigned Sprint Backlog items from the connected project management tool, checking recent git activity, and composing a concise Sprint-Goal-focused statement. Use when a developer says things like "prepare my standup", "daily sync update", "what did I work on", "help me with standup", or "what's my daily update". Don't use for sprint planning, backlog refinement, retrospectives, or any other Scrum ceremony. Don't use when the user is asking general questions about Scrum or the Daily Scrum format. abrahamFerga/scrum-skills MIT