aidentity / index

abrahamFerga/scrum-skills · MIT

stakeholder-update

Drafts a clear, concise stakeholder update — translating Sprint progress, risks, and delivery forecasts into business language that non-technical stakeholders can act on. Use when a Product Owner or Scrum Master says things like "write a stakeholder update", "draft a status update", "send an update to the business", "prepare a progress report", "what do I tell the steering committee", "draft the weekly update", or "communicate sprint progress". Do not use for Sprint Review facilitation — use sprint-review for that. Do not use for release notes — use po-release-notes for that.

stable

Contents

Stakeholder Update

Purpose

Stakeholders don't read ADO boards. They need to know three things: are we on track, is there anything they should care about, and what is coming next. This skill reads the current Sprint state and drafts that message — translated out of Scrum jargon and into business language — so the PO or SM can send it in minutes, not hours.


Tool detection

  1. Check for active mcp__azure-devops__* tools → $PM_TOOL = ado
  2. Check for active mcp__jira__* tools → $PM_TOOL = jira
  3. If neither → $PM_TOOL = manual

Step 1 — Understand the context

Ask: "Who is this update for, and what format do they prefer — a brief Slack/Teams message, an email, or a more formal status report?"

AudienceFormatLength
Executive / steering committeeFormal status report or email1 page max — headline status, risks, decisions needed
Business stakeholdersEmail or Teams message3–5 bullet points — progress, risks, next steps
Internal team / POBrief Slack message2–3 sentences — what's done, what's at risk

Also ask: "Is there anything specific you want me to highlight or leave out?"

Store as $AUDIENCE and $FORMAT.


Step 2 — Read the current Sprint state

  • ADO: use wit_get_work_items_for_iteration for the active iteration. Read title, state, story points, and tags. Also use work_get_team_settings to confirm Sprint dates.
  • Jira: use the active sprint reporting tools to read issue states and progress.
  • Manual: ask "Give me a quick brief — what has been completed, what is in progress, what is at risk, and how many days remain in the Sprint?"

Calculate:

  • Sprint progress: days elapsed vs. total Sprint days
  • Story point progress: points Done vs. total committed
  • Items at risk: any work item In Progress with less than 2 days to Sprint end and not nearly complete

Step 3 — Assess Sprint health

Before writing, form a clear picture of the Sprint's trajectory:

SignalWhat it means
Progress matches days elapsed (±10%)On track
Progress lags days elapsed by >20%At risk — volume of work may not complete
Sprint Goal items are all Done or In ProgressGoal is achievable
Sprint Goal items have not startedSprint Goal is at risk — this needs flagging
Unplanned work was added mid-SprintScope change — may affect commitment
Blockers are unresolved near Sprint endItems will carry over

If the Sprint Goal is at risk, this is the single most important thing to communicate.


Step 4 — Draft the update

Use the appropriate template for the requested format.

Template A — Brief message (Slack / Teams)

Sprint [N] update — [date]

✅ Done: [1–3 bullet points of completed outcomes in user language]
🔄 In progress: [what the team is currently working on]
⚠ Risk: [one sentence on any risk — or "No blockers" if clear]

Sprint ends [date].

Template B — Email to business stakeholders

Subject: Sprint [N] Progress Update — [Project Name]

Hi [name / team],

Here is a brief update on Sprint [N] progress as of [date].

**Overall status: [🟢 On Track / 🟡 At Risk / 🔴 Off Track]**

**This Sprint's goal:** [Sprint Goal in plain language]

**Progress so far:**
- [Completed outcome 1 — user-facing language]
- [Completed outcome 2]
- [What is currently in progress and when it is expected to complete]

**Risks or issues:**
[One to three lines — only genuine risks. If there are none, say "No significant risks at this time."]

**Coming up next:**
[One or two sentences on what the next Sprint or the remainder of this Sprint will focus on]

Questions or concerns? Reply to this email or reach out directly.

[Name]

Template C — Formal status report (steering committee / programme level)

Project: [name]
Sprint: [N]   Period: [start date] – [end date]
Report date: [today]
Status: [🟢 On Track / 🟡 At Risk / 🔴 Off Track]

─── Sprint Goal ─────────────────────────────────────────

[Sprint Goal in one sentence]
Achievement forecast: [Likely / At Risk / Not Achievable] — [one sentence reason]

─── Delivery progress ───────────────────────────────────

Story points completed: [N] of [N] committed ([X]%)
Sprint days elapsed:    [N] of [N] ([X]%)

Completed this Sprint:
  - [Outcome 1]
  - [Outcome 2]

In progress:
  - [Item] — expected completion [date]

─── Risks and issues ────────────────────────────────────

[Table or bullets: Risk / Likelihood / Impact / Owner / Mitigation]
[Or: "No risks to escalate at this time."]

─── Decisions needed ────────────────────────────────────

[Any decision the stakeholder needs to make, with deadline. Or: "None at this time."]

─── Next Sprint preview ─────────────────────────────────

The team will focus on [theme/goal] next Sprint, starting [date].


Step 5 — Review and send

Present the draft and ask: "Does this capture the right message? Any adjustments before I finalise?"

Apply corrections. Once confirmed, offer to:

  • Post to a Teams/Slack channel (if an integration is available)
  • Create a Wiki page in ADO (mcp__azure-devops__wiki_create_or_update_page) for a running status log
  • Copy the final text to paste into email

Guardrails

  • Never spin negative news into positive framing — if the Sprint Goal is at risk, say so clearly. Stakeholders need accurate information to make decisions.
  • Never use Scrum jargon in stakeholder-facing updates: "velocity", "story points", "sprint backlog", "impediment", "backlog refinement" are internal terms. Translate them into plain language.
  • Never include internal ADO item IDs or technical implementation details in a business-facing update — these are meaningless and reduce trust.
  • If the PO asks to omit a genuine risk from the stakeholder update, note: "I'd recommend including this — stakeholders who are surprised later tend to lose trust faster than stakeholders who are informed early." Then respect their decision.
  • Keep all formats short. A stakeholder update that is three pages long will not be read. One page is the maximum; half a page is better.

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-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. 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