1.2 Work Tracking with Azure Boards & GitHub Projects

Key Takeaways

  • Azure Boards supports four standard process models: Basic (Issues/Tasks), Agile (User Stories/Points), Scrum (PBIs/Effort), and CMMI (formal Requirements/Change Requests).
  • Area Paths structure work by organizational, functional, or microservice boundaries, whereas Iteration Paths partition work into timeboxed execution cycles such as sprints.
  • GitHub Projects (v2) provides a flexible, relational work tracking interface featuring customizable Table, Board, and Roadmap views across multi-repository organizations.
  • Connecting GitHub Repositories to Azure Boards allows developers to link commits and pull requests by referencing AB#ID in commit messages and PR bodies.
  • Action verbs like 'Fixes AB#ID' or 'Closes AB#ID' automatically transition Azure Boards work items to Resolved or Done when the pull request merges into the default branch.
Last updated: September 2026

1.2 Work Tracking with Azure Boards & GitHub Projects

Enterprise DevOps solutions require tight alignment between high-level business goals, sprint execution, and low-level source code commits. In hybrid and Microsoft-centric ecosystems, organizations frequently operate across Azure Boards for comprehensive portfolio project management and GitHub Projects for developer-centric task orchestration. This section examines work tracking architectures, process selection, and cross-platform repository integration.


1. Azure Boards Core Architecture & Process Models

Azure Boards is built upon customizable work item tracking engines. A Process in Azure DevOps dictates the available Work Item Types (WITs), state progression rules, field definitions, and backlog hierarchies.

                  [Epic] (Portfolio Level 2)
                     │
                  [Feature] (Portfolio Level 1)
                     │
       ┌─────────────┴─────────────┐
   [Agile]                      [Scrum]                 [CMMI]
 [User Story]             [Product Backlog Item]    [Requirement]
       │                            │                     │
  ┌────┴────┐                  ┌────┴────┐           ┌────┴────┐
[Task]    [Bug]              [Task]    [Bug]       [Task]    [Bug]

The Four Standard Process Models

When creating an Azure DevOps Team Project, organizations select one of four default processes. Each process defines distinct terminology and state transitions:

  1. Basic:

    • Target Audience: Small teams or startups seeking minimal process overhead without Agile ritual terminology.
    • Work Item Types: EpicIssueTask.
    • State Workflow: To DoDoingDone.
    • Characteristics: Bugs are tracked as Issues; does not include formal Story Points or User Story hierarchies.
  2. Agile:

    • Target Audience: Teams practicing standard Agile/Scrum methodologies using user-centric requirements and point-based estimation.
    • Work Item Types: EpicFeatureUser StoryTask (and Bug).
    • State Workflow: NewActiveResolvedClosed.
    • Characteristics: Uses Story Points for requirement estimation. Includes a Resolved state that indicates code is complete and deployed to a test environment awaiting validation before being marked Closed.
  3. Scrum:

    • Target Audience: Teams strictly adhering to the Scrum Guide terminology.
    • Work Item Types: EpicFeatureProduct Backlog Item (PBI)Task (and Bug).
    • State Workflow: NewApprovedCommittedDone (with an optional Removed state).
    • Characteristics: Uses Effort for PBI estimation. PBIs move directly from Committed to Done once the Definition of Done is met (there is no intermediate Resolved state). Includes dedicated Impediment tracking.
  4. CMMI (Capability Maturity Model Integration):

    • Target Audience: Heavily regulated enterprises (defense, aviation, medical) requiring rigorous audit trails, formal change approval, and traceability of engineering risks.
    • Work Item Types: EpicFeatureRequirementTask (along with Change Request, Review, and Risk).
    • State Workflow: ProposedActiveResolvedClosed.
    • Characteristics: Tracks Size for estimations and requires formal root-cause analysis fields on defect records.

Custom and Inherited Processes

System processes (Basic, Agile, Scrum, CMMI) cannot be directly edited. To add custom fields (e.g., "Target Environment", "Cost Center"), create an Inherited Process in Organization Settings. Teams can configure custom business rules, such as making a field mandatory when an item transitions to Closed, or defining custom work item types.


2. Area Paths and Iteration Paths

Azure Boards separates organizational structure from scheduling using two hierarchical trees: Area Paths and Iteration Paths.

Area Paths: Logical and Team Boundaries (The "What" and "Who")

Area Paths group work items by business domain, product feature, functional component, or team ownership. They establish data isolation and team scoping.

  • Hierarchy Example:
    FabrikamFiber
    ├── CorePlatform
    │   ├── Authentication
    │   └── DataLayer
    └── CustomerPortal
        ├── Billing
        └── Checkout
    
  • Team Scoping: Each team in Azure DevOps is mapped to a default Area Path. A team can be configured to include child area paths (e.g., CustomerPortal and all sub-areas) or restricted strictly to its leaf node. Area Paths also define security permissions, controlling which groups can create or modify work items within a module.

Iteration Paths: Temporal and Cadence Boundaries (The "When")

Iteration Paths organize work into explicit, non-overlapping timeboxes such as sprints, releases, or milestones.

  • Hierarchy Example:
    FabrikamFiber
    ├── Release 2026
    │   ├── Sprint 1 (2026-09-01 to 2026-09-14)
    │   ├── Sprint 2 (2026-09-15 to 2026-09-28)
    │   └── Sprint 3 (2026-09-29 to 2026-10-12)
    
  • Sprint Planning & Metrics: Iterations require explicit StartDate and EndDate values. When a team activates an iteration, Azure Boards automatically calculates team capacity, burndown charts, and historical velocity.

3. GitHub Projects (Projects v2)

GitHub Projects represents GitHub's modern, spreadsheet-like work tracking system built on top of a GraphQL engine. Unlike legacy project boards, Projects v2 operates across entire organizations and aggregates issues and pull requests from multiple repositories.

Core Views

  1. Table View: A high-density grid allowing engineers to slice, sort, group, and batch-edit issues, PRs, and draft items with keyboard shortcuts.
  2. Board View: A traditional Kanban column visualization supporting custom swimlanes and card customizations.
  3. Roadmap View: A Gantt-chart timeline based on custom Date fields or Iteration intervals, enabling portfolio managers to visualize project delivery schedules.

Custom Fields and Automations

GitHub Projects supports rich custom fields beyond native GitHub labels:

  • Iteration Fields: Allows configuration of sprint durations (e.g., 2-week rolling cycles) with automatic roll-forward.
  • Single Select & Number Fields: Track estimations (Story Points, T-shirt sizes, impact/effort ratios).
  • Built-in Workflow Automations: Event-driven rules that trigger based on item state:
    • Auto-add to project: Automatically add issues created with label area:core into the project.
    • Item status update: When an associated PR is opened, automatically move the issue from Todo to In Progress.
    • Auto-close: When an associated PR merges, transition the project card to Done.

4. Integrating Azure Boards with GitHub Repositories

Enterprise organizations often maintain their codebases in GitHub Enterprise while using Azure Boards for enterprise backlog tracking. Azure DevOps supports deep, bi-directional integration with GitHub.

Connection Architecture

Integration is configured under Project Settings → GitHub Connections in Azure DevOps:

  • Azure Boards App for GitHub: The recommended mechanism via GitHub Marketplace. It installs a GitHub App onto the target organization or select repositories, granting secure webhook communication without requiring personal access tokens (PATs).
  • OAuth / PAT Fallback: Direct authorization used when organization security policies prevent GitHub App installations.

Mention Syntax and Linking Mechanics

Once the connection is established, developers link commits, branches, and pull requests to Azure Boards work items using the AB# syntax:

# Linking a commit to Azure Boards work item #4920
git commit -m "AB#4920 Implement OAuth2 token refresh interceptor"

# Linking in a branch name
git checkout -b feature/AB#4920-oauth-refresh

When Azure DevOps receives the GitHub push webhook, it automatically parses the commit message and creates a bi-directional hyperlink in the work item's Development control pointing directly to the GitHub commit URL.

Automatic State Transitions with Action Verbs

Developers can trigger state changes in Azure Boards work items directly from GitHub commit messages or pull request descriptions using recognized action verbs followed by the AB#ID tag:

Action SyntaxAgile State TransitionScrum State TransitionBasic State Transition
Fixes AB#4920ActiveResolvedCommittedDoneDoingDone
Closes AB#4920ActiveClosedCommittedDoneDoingDone
Resolves AB#4920ActiveResolvedCommittedDoneDoingDone

[!IMPORTANT] Critical Exam Rule: Automatic state transitions do not take effect when the commit is pushed to a feature branch. The state transition triggers only when the commit is merged into the default branch (typically main) via a pull request.

Managing Work Items via Azure CLI

DevOps engineers can automate Azure Boards work tracking directly from pipelines or terminal scripts using the azure-devops extension for the Azure CLI:

# Create a new User Story under a specific Area and Iteration Path
az boards work-item create \
  --title "Implement Stripe Webhook Consumer" \
  --type "User Story" \
  --area "FabrikamFiber\CustomerPortal\Billing" \
  --iteration "FabrikamFiber\Release 2026\Sprint 1" \
  --fields "Microsoft.VSTS.Scheduling.StoryPoints=5" "System.Description=Process charge.success events"

# Update an item state to Active and assign it
az boards work-item update \
  --id 4920 \
  --state "Active" \
  --assigned-to "ranchen@contoso.com"

5. Comparative Evaluation: Azure Boards vs. GitHub Projects

CapabilityAzure BoardsGitHub Projects (v2)
Process FormalismBuilt-in formal models (Agile, Scrum, CMMI, Basic)Flexible, unstructured canvas tailored by custom fields
Work Item HierarchyRigid multi-level hierarchy (Epic → Feature → Requirement → Task)Flexible parent-child sub-issues and task lists
Query EnginePowerful Work Item Query Language (WIQL) with macro support (@CurrentIteration, @Me)Visual filter syntax (is:open label:bug iteration:@current)
Capacity PlanningNative team capacity by discipline (hours per day per engineer)Iteration field tracking without individual hourly capacity limits
Compliance & AuditFormal electronic signatures, field history audit, CMMI verificationCommit and issue activity logs, timeline audit
Cross-Repo ScopeProject-wide or cross-project within an organizationCross-repo across entire GitHub organization or enterprise

6. Realistic Exam Scenario & Common Traps

Scenario: Configuring Multi-Team Enterprise Backlogs

Organization: Tailspin Toys has 3 autonomous engineering teams working out of 15 GitHub repositories. The leadership team uses Azure DevOps for portfolio management and sprint capacity planning. Each team operates on independent two-week sprint cadences, but all contribute to a shared microservice ecosystem.

Configuration Strategy:

  1. Maintain a single Azure DevOps Team Project using the Scrum process.
  2. Configure the Area Path tree reflecting team domains: Tailspin\SearchTeam, Tailspin\CatalogTeam, and Tailspin\CheckoutTeam.
  3. Configure distinct Iteration Path trees for each team if their sprint start/end dates differ, or share a root iteration tree if their cadences align.
  4. Install the Azure Boards App from GitHub Marketplace across all 15 GitHub repositories, linking them to the Azure DevOps Project.
  5. Enforce branch policies in GitHub requiring developers to include AB#<ID> in pull request descriptions to guarantee that no pull request is merged without an associated, approved Product Backlog Item.
Loading diagram...
Azure Boards and GitHub Repository Integration Architecture
Test Your Knowledge

An engineering team adopting Azure Boards requires a process model that defines work items as Product Backlog Items, uses Effort for estimation, and eliminates intermediate 'Resolved' states by transitioning items directly from Committed to Done. Which process model must the team select?

A
B
C
D
Test Your Knowledge

A DevOps engineer needs to configure Azure Boards so that five feature teams can manage their own independent sprint backlogs and capacity while reporting to a unified executive portfolio backlog. How should Area Paths and Iteration Paths be configured?

A
B
C
D
Test Your Knowledge

A developer working in a GitHub repository submits a pull request containing the comment 'Resolves AB#8301'. The target Azure Boards work item is currently in the Active state. What event must occur before the work item automatically transitions its state in Azure Boards?

A
B
C
D