Azure DevOps Overview

Building great software requires more than just writing code. Teams need tools to plan work, store code, build and test applications automatically, and deliver updates to users reliably. Azure DevOps is a complete set of development tools and services from Microsoft that covers the entire software development lifecycle — from idea to production.

What is Azure DevOps?

Azure DevOps is a cloud platform that provides integrated tools for planning, developing, testing, and delivering software. It replaces the need for separate tools like Jira, GitHub, Jenkins, and Selenium by combining all these capabilities under one roof with tight integration between each service.

The Five Services of Azure DevOps

Diagram – Azure DevOps Services Overview

  ┌──────────────────────────────────────────────────────────────────┐
  │                        Azure DevOps                              │
  │                                                                  │
  │  ┌─────────────┐  ┌─────────────┐  ┌────────────┐                │
  │  │  Azure      │  │   Azure     │  │  Azure     │                │
  │  │  Boards     │  │   Repos     │  │  Pipelines │                │
  │  │             │  │             │  │            │                │
  │  │ Plan &      │  │  Store &    │  │ Build,     │                │
  │  │ Track Work  │  │  Version    │  │ Test &     │                │
  │  │             │  │  Control    │  │ Deploy     │                │
  │  └─────────────┘  └─────────────┘  └────────────┘                │
  │                                                                  │
  │  ┌──────────────────────┐   ┌────────────────────────────────┐   │
  │  │    Azure Test Plans  │   │        Azure Artifacts         │   │
  │  │                      │   │                                │   │
  │  │  Manual and          │   │  Store and share packages      │   │
  │  │  Automated Testing   │   │  (NuGet, npm, Maven, PyPI)     │   │
  │  └──────────────────────┘   └────────────────────────────────┘   │
  └──────────────────────────────────────────────────────────────────┘

Azure Boards

Azure Boards is the project management and work tracking tool. Teams plan, track, and discuss work items using:

  • Work Items: Individual tasks, bugs, features, or user stories. Each has a title, description, priority, assignee, and status.
  • Kanban Board: Visual board showing work items in columns like To Do, In Progress, Done. Team members drag cards between columns as work progresses.
  • Backlogs: Prioritized list of all upcoming work items. Product owners manage priorities here.
  • Sprints: Azure Boards supports Scrum methodology — work is organized into sprints (typically 2-week iterations) with sprint planning, daily work, and sprint reviews.
  • Queries and Reports: Custom queries find specific work items; dashboards and charts show team velocity, burndown charts, and progress reports.

Azure Repos

Azure Repos provides Git-based version control hosting. It stores all source code and tracks every change made to every file over time. When something breaks in production, the team can trace exactly which code change caused it and revert if necessary.

  • Git Repositories: Industry-standard distributed version control. Unlimited private repositories with no per-user limits on storage.
  • Pull Requests: Before code is merged into the main branch, team members review it, leave comments, and approve or request changes. This is the primary quality gate in most teams.
  • Branch Policies: Rules that enforce quality gates on important branches — for example, requiring at least 2 approvals and a successful build before merging.
  • Code Search: Full-text search across all repositories to quickly find any piece of code.

Basic Git Workflow in Azure Repos

  main branch (production-ready code)
  │
  ├── Developer creates feature branch: feature/user-login
  │   │
  │   ├── Write code
  │   ├── Commit changes locally
  │   └── Push to Azure Repos
  │
  ├── Developer opens Pull Request (PR)
  │   │
  │   ├── Team reviews code → Leaves comments
  │   ├── Build pipeline runs automatically (CI)
  │   ├── All checks pass → PR is approved
  │   └── Code is merged into main branch
  │
  └── Deployment pipeline runs automatically → Code goes to production

Azure Pipelines

Azure Pipelines automates the process of building, testing, and deploying application code. Every time a developer pushes code, the pipeline runs automatically — compiling the code, running unit tests, building Docker images, and deploying to staging or production environments.

This topic is covered in depth in the next topic: Azure Pipelines (CI/CD).

Azure Test Plans

Azure Test Plans provides tools for both manual and automated testing:

  • Manual Test Plans: Test suites with step-by-step test cases that testers execute manually and record pass/fail results with screenshots and notes.
  • Exploratory Testing: Ad-hoc testing sessions where testers explore the application freely and log bugs directly.
  • Automated Test Integration: Results from automated tests (unit tests, integration tests, UI tests) run in Azure Pipelines are surfaced in Test Plans for reporting and trend analysis.

Azure Artifacts

Azure Artifacts is a package management service — a private repository for storing and sharing reusable code packages within the organization.

  • Supports NuGet (.NET), npm (JavaScript), Maven (Java), Python (pip), and Universal Packages.
  • Teams publish their internal libraries to Azure Artifacts and reference them like any public package (NuGet.org, npmjs.com).
  • Upstream sources allow caching public packages from npm, NuGet, and Maven through the Artifacts feed, ensuring builds don't fail if public registries go down.

Azure DevOps Organizations and Projects

  Azure DevOps Organization: mycompany.visualstudio.com
  │
  ├── Project: EcommerceApp
  │   ├── Boards, Repos, Pipelines, Test Plans, Artifacts
  │   └── Team: Frontend Team, Backend Team
  │
  ├── Project: HRPortal
  │   ├── Boards, Repos, Pipelines, Test Plans, Artifacts
  │   └── Team: HR Dev Team
  │
  └── Project: InfrastructureAutomation
      ├── Repos (Terraform/ARM templates)
      └── Pipelines (Infrastructure deployment)

Azure DevOps vs GitHub

Microsoft owns both Azure DevOps and GitHub. They overlap significantly but serve different audiences:

FeatureAzure DevOpsGitHub
Primary FocusEnterprise software delivery lifecycleOpen source and developer community
Project ManagementAzure Boards (full Scrum/Kanban)GitHub Projects (simpler)
CI/CDAzure PipelinesGitHub Actions
Package ManagementAzure ArtifactsGitHub Packages
Best ForLarge enterprises with complex pipelinesOpen source, developer-centric teams

Key Takeaways

  • Azure DevOps is a complete software development platform covering planning, coding, building, testing, and deploying.
  • Azure Boards handles project planning with Kanban boards, backlogs, and sprint management.
  • Azure Repos provides private Git repositories with pull requests, code reviews, and branch policies.
  • Azure Artifacts stores private packages (NuGet, npm, Maven, pip) for sharing internal libraries across teams.
  • Azure Test Plans supports manual test case execution and automated test result tracking.

Leave a Comment