Basics Lesson 3 of 16

Azure Boards & Agile Project Management

Plan, track, and discuss work across your entire development team using Azure Boards — work items, sprints, Kanban boards, backlogs, queries, dashboards, and full traceability from idea to production deployment.

🧒 Simple Explanation (ELI5)

Imagine you're planning a huge birthday party. There are lots of things to do — buy decorations, bake a cake, send invitations, set up the music. If you just keep it all in your head, you'll forget things and nobody else will know what needs doing.

So you get a big whiteboard and divide it into three columns: To Do, Doing, and Done. You write each task on a sticky note and stick it in the right column. When someone starts working on "bake the cake," they move it from To Do to Doing. When the cake is ready, they move it to Done. Everyone can see the board and immediately know what's happening.

Without a board? Tasks live in people's heads, emails, and scattered spreadsheets. Nobody knows what's in progress, things get forgotten, two people accidentally work on the same thing, and the "party" (your software release) is chaos.

💡
Fun Fact

The Kanban method used in Azure Boards originated in Toyota's manufacturing plants in the 1940s. Toyota workers used physical cards (kanban = "visual signal" in Japanese) to signal when parts needed replenishment. Software teams adopted this visual workflow management in the 2000s, and it's now one of the most popular agile practices worldwide.

🔧 Technical Explanation

Work Item Types & Hierarchy

Azure Boards organizes work in a hierarchy. Each level adds granularity, from the highest-level business goals down to individual developer tasks.

Work Item TypeLevelPurposeExample
EpicPortfolioLarge business initiatives spanning multiple sprints or months. Tracks high-level progress for stakeholders."Implement User Management System"
FeaturePortfolioA deliverable capability within an Epic. Decomposed into User Stories. Typically maps to a release milestone."User Registration & Login"
User StoryRequirementA user-facing requirement written from the user's perspective: "As a [user], I want [capability] so that [benefit]." Completable in a single sprint."As a user, I want to reset my password via email so I can recover my account"
TaskActivityA specific developer activity within a User Story. Typically takes hours, not days. Assigned to one person."Create password reset API endpoint"
BugRequirementA defect in existing functionality. Tracked at the same level as User Stories. Has repro steps, expected vs. actual behavior."Password reset email sent to wrong address when account has multiple emails"

The hierarchy flows: Epic → Feature → User Story → Task. Bugs sit alongside User Stories. This structure lets stakeholders track progress at the Epic/Feature level while developers work at the Task level.

Important

The available work item types depend on the process template you chose when creating the project. The hierarchy above applies to the Agile process. The Scrum process uses "Product Backlog Item" instead of "User Story." The CMMI process uses "Requirement" instead of "User Story." You cannot change the process template after project creation without migrating to a new project or using the inherited process model.

Process Templates

When you create an Azure DevOps project, you choose a process template that determines the available work item types, workflow states, and board configurations. Azure DevOps offers four built-in processes.

ProcessWork Item TypesWorkflow StatesBest For
BasicEpic, Issue, TaskTo Do → Doing → DoneSmall teams, startups, minimal overhead. Simple and lightweight — no distinction between stories and bugs.
AgileEpic, Feature, User Story, Task, BugNew → Active → Resolved → ClosedMost common choice. Teams practicing Agile/Scrum-like workflows who want flexibility without strict Scrum rules.
ScrumEpic, Feature, Product Backlog Item, Task, Bug, ImpedimentNew → Approved → Committed → DoneTeams practicing formal Scrum with Sprint Planning, Daily Standups, Reviews, and Retrospectives.
CMMIEpic, Feature, Requirement, Task, Bug, Change Request, Risk, ReviewProposed → Active → Resolved → ClosedRegulated industries (finance, healthcare, government) requiring formal change management and audit trails.
💡
Tip

If you're unsure, pick Agile. It's the most versatile process — flexible enough for Scrum-style sprints, Kanban flows, or hybrid approaches. You can always customize it later using the Inherited Process model (Organization Settings → Process) to add custom fields, states, and work item types.

Sprints (Iterations)

A sprint (also called an iteration) is a fixed time period (typically 1–4 weeks) during which the team commits to completing a set of work items. Sprints provide rhythm and predictability.

Kanban Boards

The Kanban board provides a visual representation of work flowing through your process. Each column represents a workflow state, and cards move left to right as work progresses.

Backlogs

The backlog is the prioritized list of all work items — ordered from highest priority at the top to lowest at the bottom. Azure Boards provides three backlog levels:

Queries

Queries let you find, filter, and organize work items using structured criteria. They're the SQL of Azure Boards.

Dashboards

Dashboards are customizable pages with widgets that visualize project status. Each team can have multiple dashboards.

Linking Work Items to Code

One of Azure Boards' most powerful features is full traceability — linking work items to commits, pull requests, and builds so you can trace any production change back to a user story.

⚠️
Warning

The AB#1234 syntax only works in commit messages pushed to Azure Repos. If you're using GitHub repos with Azure Boards, you'll need to configure the Azure Boards app for GitHub in GitHub Marketplace and use AB#1234 in commit messages or PR descriptions. The linking works cross-platform but requires the integration to be set up.

Work Item Type (WIT) Customization

Azure Boards supports deep customization through the Inherited Process model (for Azure DevOps Services) or XML Process (for Azure DevOps Server on-premises).

📊 Work Item Hierarchy & Sprint Board

Work Item Hierarchy
Epic: User Management System
Feature: Registration & Login
Feature: User Profile
User Story: Password Reset
Bug: Email Validation
Task: Build API
Task: Write Tests
Task: Create UI
Sprint Board Visualization (Sprint 5 — 2 Weeks)
New
US#45: Export Reports
3 pts
Active
US#42: Password Reset
5 pts · Sarah
Bug#88: Email Bug
2 pts · Mike
Resolved
US#40: Login Page
3 pts · Alex
Closed
US#38: Sign-up Form
5 pts · Sarah
US#39: OAuth Login
8 pts · Mike

📋 Agile vs Scrum vs CMMI Process Templates

AspectAgileScrumCMMI
Requirement TypeUser StoryProduct Backlog Item (PBI)Requirement
Workflow StatesNew → Active → Resolved → ClosedNew → Approved → Committed → DoneProposed → Active → Resolved → Closed
Bug TrackingBugs at same level as StoriesBugs at same level as PBIs or Tasks (configurable)Bugs at Requirement level with formal triage
Extra WITImpedimentChange Request, Risk, Review
EstimationStory PointsEffort (numeric)Size (points), Original/Remaining/Completed Work
Change ManagementInformalInformal — handled in Sprint ReviewFormal — Change Request WIT with approval process
Audit TrailBasic historyBasic historyFull audit — every field change logged, review trails
Ideal Team Size5–503–9 (Scrum Guide recommendation)Any size — especially regulated environments
Best ForMost software teams wanting Agile flexibilityTeams strictly following Scrum frameworkFinance, healthcare, government, defense — compliance required
💡
Tip

You can combine approaches. Many teams use the Agile process template but run Scrum ceremonies (Sprint Planning, Daily Standup, Review, Retro). The process template defines the work item types — it doesn't force you into a specific methodology.

🛠️ Hands-on: Setting Up Azure Boards

Follow these steps to configure Azure Boards from scratch and run a complete sprint cycle.

Prerequisites

Step 1: Configure Sprints (Iterations)

Sprints must be defined before you can assign work to time periods.

  1. Navigate to Project Settings → Boards → Project configuration → Iterations
  2. Create a root iteration with your project name
  3. Add child iterations for each sprint:
text
MyProject
├── Sprint 1   (Apr 21 – May 2, 2026)
├── Sprint 2   (May 5 – May 16, 2026)
├── Sprint 3   (May 19 – May 30, 2026)
├── Sprint 4   (Jun 2 – Jun 13, 2026)
└── Sprint 5   (Jun 16 – Jun 27, 2026)

Then go to Boards → Team configuration → Iterations and check the sprints your team will use. Only checked iterations appear on your Sprint board.

Step 2: Create an Epic and Feature

bash
# Sign in and set defaults
az login
az devops configure --defaults organization=https://dev.azure.com/{org} project={project}

# Create an Epic
az boards work-item create \
  --type "Epic" \
  --title "User Management System" \
  --description "Complete user registration, authentication, and profile management" \
  --assigned-to "your-email@company.com"

# Note the returned ID (e.g., 100)

# Create a Feature under the Epic
az boards work-item create \
  --type "Feature" \
  --title "User Registration & Login" \
  --description "Implement sign-up, login, password reset, and OAuth integration"

# Link the Feature to the Epic (parent-child)
az boards work-item relation add \
  --id 101 \
  --relation-type "System.LinkTypes.Hierarchy-Reverse" \
  --target-id 100

Step 3: Add User Stories to the Backlog

bash
# Create User Stories
az boards work-item create \
  --type "User Story" \
  --title "As a user, I want to sign up with email so I can create an account" \
  --fields "Microsoft.VSTS.Scheduling.StoryPoints=5" \
  --assigned-to "sarah@company.com" \
  --iteration "MyProject\Sprint 1"

az boards work-item create \
  --type "User Story" \
  --title "As a user, I want to log in with my credentials so I can access the app" \
  --fields "Microsoft.VSTS.Scheduling.StoryPoints=3" \
  --assigned-to "mike@company.com" \
  --iteration "MyProject\Sprint 1"

az boards work-item create \
  --type "User Story" \
  --title "As a user, I want to reset my password via email so I can recover my account" \
  --fields "Microsoft.VSTS.Scheduling.StoryPoints=5" \
  --assigned-to "sarah@company.com" \
  --iteration "MyProject\Sprint 1"

# Link each story to the parent Feature
az boards work-item relation add --id 102 --relation-type "System.LinkTypes.Hierarchy-Reverse" --target-id 101
az boards work-item relation add --id 103 --relation-type "System.LinkTypes.Hierarchy-Reverse" --target-id 101
az boards work-item relation add --id 104 --relation-type "System.LinkTypes.Hierarchy-Reverse" --target-id 101

Step 4: Break Stories into Tasks

bash
# Create Tasks for "Sign up with email" (User Story #102)
az boards work-item create \
  --type "Task" \
  --title "Create sign-up REST API endpoint" \
  --fields "Microsoft.VSTS.Scheduling.RemainingWork=4" \
  --assigned-to "sarah@company.com" \
  --iteration "MyProject\Sprint 1"

az boards work-item create \
  --type "Task" \
  --title "Build sign-up form UI component" \
  --fields "Microsoft.VSTS.Scheduling.RemainingWork=6" \
  --assigned-to "alex@company.com" \
  --iteration "MyProject\Sprint 1"

az boards work-item create \
  --type "Task" \
  --title "Write unit and integration tests for sign-up" \
  --fields "Microsoft.VSTS.Scheduling.RemainingWork=3" \
  --assigned-to "sarah@company.com" \
  --iteration "MyProject\Sprint 1"

# Link Tasks to parent User Story
az boards work-item relation add --id 105 --relation-type "System.LinkTypes.Hierarchy-Reverse" --target-id 102
az boards work-item relation add --id 106 --relation-type "System.LinkTypes.Hierarchy-Reverse" --target-id 102
az boards work-item relation add --id 107 --relation-type "System.LinkTypes.Hierarchy-Reverse" --target-id 102

Step 5: Move Items Across the Board

You can move work items by dragging on the board UI, or update state via CLI:

bash
# Move a Task to "Active" (developer starts working)
az boards work-item update --id 105 --state "Active"

# Move a Task to "Closed" (work complete)
az boards work-item update --id 105 --state "Closed"

# Move a User Story to "Resolved" (all tasks complete, ready for review)
az boards work-item update --id 102 --state "Resolved"

# Move a User Story to "Closed" (accepted by product owner)
az boards work-item update --id 102 --state "Closed"
💡
Tip

In the web UI, drag work items between columns on the board. The column a card is in corresponds to its State field. Moving a card to the "Active" column sets State = Active. You can also move items between sprints by dragging from the backlog to a sprint on the left panel.

Step 6: Link a Work Item to a Pull Request

Create a commit that references a work item, then open a PR:

bash
# Include AB#102 in the commit message to auto-link
git checkout -b feature/sign-up
echo "def sign_up(email, password): pass" > signup.py
git add .
git commit -m "feat: implement sign-up endpoint AB#102"
git push -u origin feature/sign-up

# Create a PR linked to the work item
az repos pr create \
  --source-branch feature/sign-up \
  --target-branch main \
  --title "feat: implement sign-up endpoint" \
  --description "Implements the sign-up API. Resolves AB#102" \
  --work-items 102
Important

Using AB#102 in commit messages creates an automatic link. Using Fixes AB#102 or Resolves AB#102 in the PR description will also automatically transition the work item to "Resolved" or "Closed" (depending on your branch policy settings) when the PR is merged.

Step 7: Create a Query

Create a shared query to track active work for the current sprint:

bash
# Create a flat query for active Sprint 1 items
az boards query create \
  --name "Sprint 1 Active Items" \
  --wiql "SELECT [System.Id], [System.Title], [System.State], [System.AssignedTo], [Microsoft.VSTS.Scheduling.StoryPoints] FROM WorkItems WHERE [System.IterationPath] = 'MyProject\Sprint 1' AND [System.State] <> 'Closed' ORDER BY [Microsoft.VSTS.Common.Priority]"

# Run any query inline
az boards query --wiql "SELECT [System.Id], [System.Title], [System.State] FROM WorkItems WHERE [System.AssignedTo] = @Me AND [System.State] = 'Active'"

Step 8: Use Azure CLI for Board Queries

The Azure CLI is powerful for scripting board operations and automating workflows:

bash
# List all work items assigned to you
az boards query --wiql "SELECT [System.Id], [System.Title], [System.State] FROM WorkItems WHERE [System.AssignedTo] = @Me ORDER BY [System.ChangedDate] DESC"

# Get details of a specific work item
az boards work-item show --id 102 --fields "System.Title,System.State,System.IterationPath,Microsoft.VSTS.Scheduling.StoryPoints"

# Bulk update: move all "New" items in Sprint 1 to "Active"
az boards query --wiql "SELECT [System.Id] FROM WorkItems WHERE [System.IterationPath] = 'MyProject\Sprint 1' AND [System.State] = 'New'" --output table

# List all iterations (sprints)
az boards iteration team list --team "MyProject Team"

# Show sprint capacity
az boards iteration team show-backlog-iteration --team "MyProject Team"

# Add a tag to a work item
az boards work-item update --id 102 --fields "System.Tags=high-priority;sprint-1"
⚠️
Warning

The az boards commands require the azure-devops CLI extension. Install it with az extension add --name azure-devops. Make sure you've set defaults with az devops configure --defaults organization=... project=... before running board commands.

Step 9: Build a Dashboard

Dashboards are created in the web UI:

  1. Navigate to Overview → Dashboards
  2. Click "+ New Dashboard" — name it "Sprint 1 Overview"
  3. Add widgets by clicking the ⚙️ Edit button:
    • Sprint Burndown — tracks remaining work vs. time
    • Velocity — shows story points completed per sprint
    • Cumulative Flow Diagram — shows items in each state over time
    • Query Results — point to your "Sprint 1 Active Items" shared query
    • Query Tile — shows a count badge (e.g., "5 Active Bugs")
    • Assigned to Me — personal widget for your current items
  4. Arrange widgets by dragging and resizing. Click "Done Editing" to save.

🐛 Debugging Scenarios

Scenario 1: "Sprint Not Showing Work Items"

Symptom: You open the Sprint board but it's empty, even though you created work items and assigned them to the sprint.

Root Causes & Fixes:

bash
# Verify a work item's iteration path
az boards work-item show --id 102 --fields "System.IterationPath"

# Fix the iteration path
az boards work-item update --id 102 --iteration "MyProject\Sprint 1"

Scenario 2: "Cannot Move Work Items on the Board"

Symptom: Dragging a work item on the Kanban or Sprint board does nothing, or you see a permission error.

Root Causes & Fixes:

Scenario 3: "Build Link Not Appearing in Work Item"

Symptom: You committed with AB#102 in the message and merged the PR, but the work item's "Development" section shows no linked build.

Root Causes & Fixes:

bash
# Verify the correct AB# format in your commit
git log --oneline -5
# abc1234 feat: implement sign-up endpoint AB#102   ← correct
# def5678 fix login AB #103                         ← WRONG (space)
# ghi9012 close #104                                ← WRONG (missing AB)

# Fix: amend the commit message (only if not yet pushed)
git commit --amend -m "fix: login validation AB#103"

Scenario 4: "Dashboard Not Updating"

Symptom: Dashboard widgets show stale data — the Sprint Burndown doesn't reflect today's work, or Query Results show items that have already been closed.

Root Causes & Fixes:

text
Checklist when dashboard widgets show stale data:
✅ Refresh browser (F5 / Ctrl+Shift+R)
✅ Verify widget points to the correct sprint/query
✅ Confirm the Remaining Work or Story Points fields are populated
✅ Check the Analytics service status at https://status.dev.azure.com
✅ Wait up to 30 minutes for Analytics-backed widgets to sync

🎯 Interview Questions

Beginner

Q: What is Azure Boards and what problem does it solve?

Azure Boards is the work-tracking service within Azure DevOps that lets teams plan, track, and discuss work. It provides Kanban boards, backlogs, sprint planning tools, queries, and dashboards. It solves the problem of visibility and coordination — without a centralized work-tracking system, tasks live in emails, spreadsheets, and people's heads. Azure Boards gives every team member a single source of truth for what needs to be done, who's doing it, and what's blocked. It also provides traceability — linking work items to commits, PRs, and builds so you can trace any production change back to a business requirement.

Q: What are the main work item types in the Agile process template?

The Agile process template provides five core work item types in a hierarchy: Epic — large business initiatives spanning months (e.g., "Build User Management System"). Feature — a deliverable capability within an Epic (e.g., "User Registration"). User Story — a user-facing requirement following the "As a [user], I want [X] so that [Y]" format. Completable in one sprint. Task — a specific developer activity within a User Story, typically measured in hours. Bug — a defect tracked at the same level as User Stories, with repro steps, expected vs. actual behavior, and severity/priority fields. The hierarchy is: Epic → Feature → User Story → Task, with Bugs alongside User Stories.

Q: What is the difference between a Kanban board and a Sprint board in Azure Boards?

A Kanban board shows all work items in the backlog regardless of time period. It emphasizes continuous flow — items move from left (New) to right (Done) with WIP limits on columns to prevent overloading. There are no time boundaries. A Sprint board is scoped to a specific iteration (e.g., Sprint 1: Apr 21–May 2). It only shows items assigned to that sprint. It's used during sprint execution to track daily progress. Both boards use the same column-based visualization, but the Sprint board adds a focus on time-boxed commitment and shows a burndown chart. Teams using Scrum typically use Sprint boards; teams using Kanban methodology use the Kanban board; many teams use both.

Q: How do you link a commit or PR to a work item in Azure Boards?

There are three ways: 1. Commit message syntax: Include AB#1234 (where 1234 is the work item ID) in your Git commit message. Azure DevOps automatically creates a link between the commit and the work item. 2. PR linking: When creating a pull request, use the "Link work items" field to select work items. You can also include Fixes AB#1234 in the PR description to auto-close the item on merge. 3. Manual linking: Open the work item, go to the "Development" section, and click "Add link" to manually link a commit, branch, or PR. The AB# syntax is the most efficient and widely used approach. Note: there must be no space between AB and #.

Q: What is a backlog in Azure Boards?

A backlog is the prioritized list of all pending work items, ordered from highest priority (top) to lowest (bottom). Azure Boards provides three backlog levels: Epics backlog (portfolio-level for leadership), Features backlog (mid-level for product managers), and Stories backlog (sprint-level for developers). You reorder items by dragging them up or down. During Sprint Planning, the team pulls items from the top of the Stories backlog into the sprint. The backlog ensures that the team always works on the highest-priority items first. It's also where you estimate items (Story Points), assign owners, and set iteration paths.

Intermediate

Q: Compare the Agile, Scrum, and CMMI process templates. When would you use each?

Agile: Uses User Stories as the primary requirement type with states New → Active → Resolved → Closed. Most flexible — works with Scrum, Kanban, or hybrid approaches. Best for most software teams. Scrum: Uses Product Backlog Items (PBIs) with states New → Approved → Committed → Done. Adds "Impediment" work item type. Best for teams strictly following the Scrum framework with formal ceremonies. CMMI: Uses Requirements with states Proposed → Active → Resolved → Closed. Adds Change Request, Risk, and Review work item types. Includes formal change management and detailed audit trails. Best for regulated industries (finance, healthcare, government, defense) where compliance and traceability are mandatory. Rule of thumb: If unsure, pick Agile. If auditors require formal change management, pick CMMI. If you practice strict Scrum and want the vocabulary match, pick Scrum.

Q: What are WIP limits on a Kanban board and why are they important?

WIP (Work in Progress) limits are maximum counts set on Kanban board columns that cap how many items can be in a given state simultaneously. For example, setting an "Active" column WIP limit of 3 means only 3 items should be in progress at the same time. When the limit is exceeded, the column header turns red as a visual warning. WIP limits are important because they: 1. Prevent team members from context-switching by starting too many items at once — multitasking reduces productivity. 2. Expose bottlenecks — if "Testing" column is always at its limit while "Development" has capacity, you know testing is the bottleneck. 3. Force a "stop starting, start finishing" culture — finish existing work before pulling new items. 4. Reduce cycle time — fewer items in progress means each individual item finishes faster. This is a core Kanban principle derived from lean manufacturing.

Q: How do you customize work item types in Azure Boards?

Azure DevOps Services uses the Inherited Process model for customization. Go to Organization Settings → Boards → Process. Create an inherited process from a built-in one (e.g., "My Custom Agile" inherited from Agile). Then customize: Custom fields: Add text, numeric, date, picklist, identity, or boolean fields to any work item type. Custom states: Add workflow states like "In Review" or "UAT." Custom work item types: Create new types like "Technical Debt" or "Spike" with their own fields and layouts. Custom rules: Automate behavior — e.g., when State = Active, auto-set Activated By to current user. Layout customization: Rearrange fields, groups, and pages on the work item form. After customizing, change your project to use the inherited process in Project Settings. Azure DevOps Server (on-prem) uses XML-based process customization, which is more powerful but also more complex.

Q: What is the Cumulative Flow Diagram (CFD) and how do you use it to identify bottlenecks?

The Cumulative Flow Diagram (CFD) is a stacked area chart that shows the count of work items in each state (New, Active, Resolved, Closed) over time. Each state is a colored band. How to read it: The vertical distance between two bands at any point in time shows how many items are in that state. The horizontal distance between two bands shows cycle time — how long items spend in that state. Identifying bottlenecks: If the "Active" band is widening over time (growing vertically), items are entering Active faster than they're leaving — work is piling up. This means development is a bottleneck. If the "Testing" band is widening, QA can't keep up. Healthy CFD: Bands should be roughly parallel with steady widths. Action: If a band widens, either increase capacity in that area (add testers), reduce incoming work (lower WIP limits), or remove blockers.

Q: How do you use Azure Boards queries, and what types are available?

Queries let you search and filter work items using structured criteria (similar to SQL WHERE clauses). Three types: Flat query: Returns a flat list — e.g., "All active bugs assigned to me." Tree query: Returns parent-child hierarchies — e.g., "All User Stories and their child Tasks for Sprint 3." Direct links query: Returns items with specific link relationships — e.g., "All work items linked to a PR." Queries use the WIQL (Work Item Query Language) syntax for advanced filtering. You can save queries as My Queries (personal) or Shared Queries (team-visible). Shared queries are especially powerful because they're used as data sources for dashboard widgets (Query Results widget, Query Tile for counts). You can also subscribe to query-based email alerts — get notified whenever a new item matches the query.

Scenario-Based

Q: Your team's sprint burndown chart is flat (not decreasing) halfway through the sprint. What's going wrong and what do you do?

Diagnosis: A flat burndown means no work items are moving to "Done" — the team is either blocked, scope-crept, or not updating work items. Investigation steps: 1. Check if items are actually being completed but not moved on the board — remind the team to update states. 2. Check if new items were added mid-sprint (scope creep) — the burndown line stays flat when work added equals work completed. Use the "Scope" line on the burndown chart to detect this. 3. Check for blockers — look for items stuck in "Active" for days. Raise blockers in Daily Standup. 4. Check if stories were too large — if a 13-point story can't be finished in 2 weeks, it should have been split. Action: Hold a mid-sprint check-in. Remove scope that was added. Escalate blockers. If the sprint can't be recovered, discuss with the Product Owner about descoping items to the next sprint. In the retrospective, address why estimation or scope management failed.

Q: A stakeholder asks "When will the User Management feature be done?" How do you answer using Azure Boards?

Use data-driven forecasting: 1. Open the Feature work item and check its child User Stories — see how many are Closed vs. remaining. 2. Check team Velocity (Dashboards → Velocity widget) — if the team averages 30 story points per sprint, and there are 60 points remaining, that's roughly 2 sprints. 3. Use the Forecast feature on the backlog — toggle "Forecasting On" to see which sprint each item is predicted to land in based on velocity. 4. Check the Cumulative Flow Diagram for cycle time — how long items typically take from Active to Closed. 5. Factor in risks: are any stories unestimated? Are there dependencies on other teams? Are there blockers? Answer format: "Based on our current velocity of 30 points/sprint and 60 remaining points, the feature should be complete by Sprint 7 (around June 27). However, there are 2 unestimated stories that could add 1 sprint of risk." Never give a date without data.

Q: Your team of 20 developers across 3 squads is using a single Kanban board. It's become chaotic with 100+ items. How do you restructure Azure Boards?

Solution — team-per-squad model: 1. Create 3 teams in Azure DevOps (Project Settings → Teams) — one per squad (e.g., Auth Squad, Payments Squad, Platform Squad). 2. Configure Area Paths per squad: MyProject\Auth, MyProject\Payments, MyProject\Platform. Assign each team to its Area Path. 3. Each team gets its own board, backlog, and sprint cadence. Items are automatically filtered by Area Path. 4. Create a "Program" team at the top that can see all Area Paths — this gives leadership a portfolio-level view of Epics and Features across all squads. 5. Use Delivery Plans (an Azure DevOps extension) to show all three teams' sprints on a single timeline view — useful for identifying cross-team dependencies. 6. Set swimlanes on each board for item types (Features, Bugs, Tech Debt) to reduce visual clutter. This scales Azure Boards from a single-team tool to a multi-team program management tool.

Q: A developer says they linked a work item to their PR, but the work item's "Development" section still shows no connection. How do you troubleshoot?

Troubleshooting steps: 1. Check commit message format: The syntax must be AB#1234 — no space between AB and #. Common mistakes: AB #1234, AB-1234, #1234. Inspect with git log --oneline. 2. Check the PR's work item link: Open the PR in Azure DevOps and verify the work item appears in the "Work Items" section. If not, the developer may have typed the wrong ID. 3. Check repo location: If the repository is on GitHub rather than Azure Repos, the Azure Boards GitHub app must be installed. Go to Project Settings → GitHub connections and verify the connection. 4. Check project boundaries: The work item and the repository must be in the same Azure DevOps organization. Cross-organization linking isn't supported. 5. Check if the PR was completed: Build/deployment links appear after the pipeline triggers. If the PR hasn't been merged or the pipeline hasn't run, the build link will be missing. 6. Check caching: Refresh the work item page — link propagation can take a few seconds.

Q: Your company is migrating from Jira to Azure Boards. What's your migration plan?

Phase 1 — Assessment: Export the Jira backlog (issues, epics, sprints, custom fields, links, attachments). Map Jira concepts to Azure Boards: Jira Issue → User Story, Jira Epic → Epic, Jira Sprint → Iteration, Jira Component → Area Path, Jira custom fields → custom fields in inherited process. Document workflow states and transition rules. Phase 2 — Process setup: Create an Inherited Process in Azure DevOps matching the Jira workflow. Add custom fields, states, and work item types that match the Jira configuration. Phase 3 — Data migration: Use the Azure DevOps Migration Tools (open-source by nkdAgility) or the OpsHub Integration Manager for automated bulk migration. These tools migrate work items, history, links, and attachments. Phase 4 — Validation: Compare counts and spot-check items — verify story counts, sprint assignments, parent-child links, and custom field data. Phase 5 — Training & cutover: Run a 30-minute walkthrough for each team. Set Jira to read-only. Go live on Azure Boards. Keep Jira accessible for 30 days for reference, then decommission.

🌍 Real-World Use Case

A Healthcare Startup Bringing Order to Sprint Chaos

Consider a healthcare startup building a patient portal — 15 developers across 2 squads, regulated by HIPAA, and shipping biweekly to production.

The problem:

What they implemented in Azure Boards:

Results after 3 months:

💡
Key Takeaway

Azure Boards isn't just a project management tool — it's the connective tissue between business requirements and production deployments. When combined with Azure Repos (commit linking) and Azure Pipelines (build/release linking), it creates end-to-end traceability that satisfies compliance auditors, informs stakeholders, and keeps developers focused on the right work.

📝 Summary

ConceptKey Takeaway
Azure BoardsWork-tracking service in Azure DevOps: Kanban boards, backlogs, sprints, queries, and dashboards for Agile project management.
Work Item HierarchyEpic → Feature → User Story → Task (Agile). Bugs sit alongside User Stories. Hierarchy enables portfolio-level and sprint-level views.
Process TemplatesBasic (simple), Agile (most common), Scrum (formal), CMMI (regulated). Choose Agile unless compliance requires CMMI.
SprintsTime-boxed iterations (1–4 weeks). Sprint Planning → execution → Review → Retro. Burndown and Velocity charts track progress.
Kanban BoardVisual workflow: columns = states, cards = work items. WIP limits prevent overloading and expose bottlenecks.
BacklogsPrioritized work item lists at three levels: Epics, Features, Stories. Drag to reorder. Top items are worked on first.
QueriesStructured filters (flat, tree, direct links) using WIQL. Shared queries power dashboard widgets and email alerts.
DashboardsCustomizable pages with widgets: Burndown, Velocity, CFD, Query Results. Auto-refresh for real-time visibility.
TraceabilityLink work items to commits (AB#ID), PRs, builds, and releases. Full traceability from idea to production.
CustomizationInherited Process model: add custom fields, states, work item types, and rules to match your team's workflow.
← Back to Azure DevOps Course