Azure DevOps – Complete Explanation (Boards, Repos, Pipelines, Test Plans & Artifacts)
1. What is Azure DevOps?
Azure DevOps is a cloud-based platform developed by Microsoft that provides tools to plan, develop, test, build, deploy, and maintain software applications.
It helps development teams manage the entire Software Development Life Cycle (SDLC) from requirement gathering to production deployment.
Azure DevOps supports both Agile development and DevOps practices, including Continuous Integration (CI) and Continuous Delivery/Deployment (CD).
Simple Example:
Suppose your team is developing an ASP.NET Core Web API with Angular and SQL Server.
You need to:
-
Manage requirements and assign tasks to developers.
-
Store and maintain application source code.
-
Review code changes before merging.
-
Automatically build the application.
-
Run automated tests.
-
Deploy the application to Development, SIT, UAT, and Production environments.
-
Track bugs and release updates.
Instead of using different tools for every activity, Azure DevOps provides an integrated platform to manage these operations.
Important: Azure DevOps is not the same as Microsoft Azure.
-
Microsoft Azure: A cloud computing platform used to host applications, databases, virtual machines, and other resources.
-
Azure DevOps: A software development and delivery platform used to manage projects, source code, testing, and CI/CD.
Azure DevOps can deploy applications to Azure, on-premises servers, or other cloud platforms.
2. Why do we need Azure DevOps?
Without Azure DevOps, teams may manage requirements in Excel, store code in separate repositories, manually build applications, and deploy using manual processes.
This can create problems such as:
-
Poor coordination between developers, testers, and operations teams.
-
Difficulties tracking requirements, bugs, and development progress.
-
Manual build and deployment errors.
-
Lack of consistent code reviews.
-
Difficulty identifying which code changes were included in a release.
-
Slow and inconsistent software delivery.
Azure DevOps addresses these problems through collaboration, traceability, automation, and standardized delivery processes.
Main benefits
|
Benefit |
Explanation |
|---|---|
|
Centralized management |
Manage project work, code, builds, and releases in one platform. |
|
Team collaboration |
Developers, testers, and project managers can work together. |
|
Version control |
Track source code changes using Git repositories. |
|
CI/CD automation |
Automatically build, test, and deploy applications. |
|
Quality improvement |
Support code reviews, automated tests, and test management. |
|
Faster delivery |
Reduce repetitive manual activities. |
|
Traceability |
Track relationships between requirements, commits, builds, tests, and deployments. |
|
Security |
Manage permissions, approvals, and access to resources. |
3. What are the five main Azure DevOps services?
Azure DevOps provides five primary services, each designed for a specific activity in software development.
Azure Boards
Plan and track requirements, tasks, bugs, and sprints.
Azure Repos
Store source code and manage branches and pull requests.
Azure Pipelines
Automate builds, testing, and deployment.
Azure Test Plans
Manage manual and exploratory testing.
Azure Artifacts
Publish, store, and share reusable software packages.
Overall Azure DevOps workflow
1. Azure Boards
Plan requirements and assign tasks
2. Azure Repos
Develop, commit, review, and merge code
3. Azure Pipelines – CI
Build application and run automated tests
4. Azure Pipelines – CD
Deploy to Development, SIT, UAT, Production
5. Testing and Monitoring
Validate releases and track issues
Azure Test Plans supports test management throughout development. Azure Artifacts supplies reusable packages to builds and applications.
4. Azure Boards – Project Planning and Work Tracking
What is Azure Boards?
Azure Boards is a project management service used to plan, assign, track, and manage development activities.
It supports Agile methodologies such as Scrum and Kanban.
It helps project managers, developers, and testers understand:
-
What work needs to be completed?
-
Who is responsible?
-
What is currently in progress?
-
Which bugs are pending?
-
How much work has been completed in the sprint?
Important concepts in Azure Boards
|
Concept |
Description |
|---|---|
|
Epic |
A large business objective containing multiple features. |
|
Feature |
A major functionality within an Epic. |
|
User Story |
A requirement described from the user's perspective. |
|
Product Backlog Item |
A unit of work commonly used in the Scrum process. |
|
Task |
A specific development or testing activity. |
|
Bug |
A defect that needs investigation or fixing. |
|
Sprint |
A fixed development period, commonly 1–4 weeks. |
|
Kanban Board |
A visual board showing work progress. |
|
Backlog |
A prioritized list of pending work. |
Real-time example
Consider a banking application.
Epic: Internet Banking System
Feature: Fund Transfer
User Story: As a customer, I want to transfer money to another account.
Tasks:
-
Develop Fund Transfer Web API.
-
Create Angular fund transfer screen.
-
Implement SQL Server stored procedure.
-
Add input validation.
-
Write unit tests.
A developer can update task status as work progresses.
Example Kanban board
To Do
Create transfer API
Write unit tests
In Progress
Angular transfer UI
Done
Database design
How does Azure Boards work?
-
Product Owner creates requirements.
-
Requirements are divided into User Stories or Product Backlog Items.
-
Team members estimate and prioritize the work.
-
Tasks are assigned to developers and testers.
-
Developers update task status.
-
Bugs are created when issues are identified.
-
Team monitors progress using boards, sprint views, queries, and dashboards.
Advantages
-
Better visibility into project progress.
-
Easy assignment and tracking of work.
-
Supports Agile sprint planning.
-
Integrates with commits, pull requests, and pipelines.
-
Provides reports and dashboards.
Interview key point: Azure Boards manages project work and requirements. It does not store application source code.
5. Azure Repos – Source Code Management
What is Azure Repos?
Azure Repos is a version control service used to store, manage, and track application source code.
It supports Git repositories and Team Foundation Version Control (TFVC).
Git is the commonly used distributed version control system for modern development.
Azure Repos allows multiple developers to work on the same application using different branches.
Why do we need Azure Repos?
Imagine five developers working on an ASP.NET Core application.
-
Developer 1 works on authentication.
-
Developer 2 works on customer APIs.
-
Developer 3 works on fund transfers.
-
Developer 4 works on reporting.
-
Developer 5 fixes production bugs.
Without version control, coordinating code changes would be difficult.
Azure Repos allows developers to create separate branches and safely integrate changes.
Important features
|
Feature |
Description |
|---|---|
|
Git Repository |
Central remote location for source code. |
|
Branch |
Independent line of development. |
|
Commit |
Records changes in Git history. |
|
Push |
Uploads local commits to a remote repository. |
|
Pull |
Retrieves and integrates remote changes. |
|
Pull Request (PR) |
Requests review and integration of code changes. |
|
Branch Policies |
Enforce review, build validation, and other rules. |
|
Code Review |
Developers examine changes before merging. |
Example branching structure
Azure Repos
│
├── main
│ └── Production-ready code
│
├── develop
│ └── Development integration
│
├── feature/login
│ └── Login development
│
├── feature/fund-transfer
│ └── Fund Transfer development
│
└── hotfix/payment-error
└── Production bug fix
This is an example of a branching strategy, not a mandatory Azure Repos structure.
How does Azure Repos work?
Suppose a developer is assigned a task to create a Customer API.
Step 1: Clone the repository
git clone https://dev.azure.com/myorg/BankingProject/_git/BankingAPI
Step 2: Create a feature branch
git switch -c feature/customer-api
Step 3: Develop and commit code
git add .
git commit -m "Implemented Customer API"
Step 4: Push changes
git push -u origin feature/customer-api
Step 5: Create a Pull Request
The developer creates a Pull Request in Azure Repos.
The PR may require:
-
Code review.
-
Required reviewer approval.
-
Successful build validation.
-
Resolution of review comments.
Step 6: Merge changes
Once the PR satisfies branch policies, the code is merged into the target branch.
Azure Repos vs GitHub
|
Azure Repos |
GitHub |
|---|---|
|
Part of Azure DevOps |
Separate Git hosting and collaboration platform |
|
Supports Git and TFVC |
Primarily Git-based |
|
Integrates with Azure Boards and Pipelines |
Integrates with GitHub Actions and Azure Pipelines |
|
Often used within enterprise Azure DevOps projects |
Widely used for open-source and enterprise projects |
Important: Azure Pipelines can build applications from both Azure Repos and GitHub. Using Azure Pipelines does not require storing source code in Azure Repos.
6. Azure Pipelines – CI/CD Automation
What is Azure Pipelines?
Azure Pipelines is a CI/CD service used to automate building, testing, packaging, and deploying applications.
It is one of the most important Azure DevOps services for developers and DevOps engineers.
Azure Pipelines supports applications developed using:
-
.NET / ASP.NET Core
-
Angular / React
-
Java
-
Node.js
-
Python
-
Other programming languages and platforms
Why do we need Azure Pipelines?
Without pipelines, developers may need to:
-
Manually compile the application.
-
Execute tests.
-
Publish application files.
-
Copy files to a server.
-
Update deployment configuration.
-
Restart application services.
These manual activities are time-consuming and error-prone.
Azure Pipelines automates these operations.
Two important concepts
A. Continuous Integration (CI)
Continuous Integration means automatically building and testing code changes whenever developers integrate their work into a shared repository.
Example:
Developer Pushes Code
↓
Git Repository
↓
CI Pipeline Triggered
↓
Restore Dependencies
↓
Build Application
↓
Run Unit Tests
↓
Publish Build Artifacts
CI helps identify build and test failures early.
B. Continuous Delivery / Deployment (CD)
CD automates the process of preparing and releasing applications to environments.
There is an important difference:
-
Continuous Delivery: The application is ready for deployment, but production release may require manual approval.
-
Continuous Deployment: Every change that passes the required checks can automatically reach production.
Example deployment flow
CI Build Successful
↓
Deployment Pipeline
↓
Development
↓
SIT
↓
UAT
↓
Manual Approval
↓
Production
This is a typical enterprise deployment flow. Azure Pipelines does not require every project to use these environments.
Important Azure Pipelines concepts
|
Concept |
Description |
|---|---|
|
Pipeline |
Complete automated build or deployment process. |
|
Trigger |
Event that starts a pipeline. |
|
Agent |
Machine that executes pipeline jobs. |
|
Agent Pool |
Collection of available agents. |
|
Stage |
Logical phase such as Build or Deploy. |
|
Job |
Group of steps executed on an agent or server. |
|
Step |
Individual task or script within a job. |
|
Task |
Prebuilt operation such as .NET build. |
|
YAML |
Configuration file defining pipeline behavior. |
|
Variable |
Stores configuration values used by pipelines. |
|
Environment |
Logical deployment target with tracking and controls. |
|
Service Connection |
Authenticated connection to external resources. |
|
Artifact |
Output produced by a build, such as published application files. |
Sample ASP.NET Core CI Pipeline
File: azure-pipelines.yml
trigger:
- main
pool:
vmImage: 'windows-latest'
steps:
- task: UseDotNet@2
displayName: 'Install .NET SDK'
inputs:
packageType: 'sdk'
version: '8.0.x'
- script: dotnet restore
displayName: 'Restore Packages'
- script: dotnet build --no-restore -c Release
displayName: 'Build Application'
- script: dotnet test --no-build -c Release
displayName: 'Run Unit Tests'
- script: dotnet publish MyWebApi/MyWebApi.csproj -c Release -o $(Build.ArtifactStagingDirectory)
displayName: 'Publish Application'
- task: PublishPipelineArtifact@1
displayName: 'Publish Build Artifact'
inputs:
targetPath: '$(Build.ArtifactStagingDirectory)'
artifact: 'drop'
Example assumes the repository has the indicated project path and that the build includes the test projects. Adjust paths and commands for the actual solution.
Explanation
-
trigger: Starts the CI pipeline when changes are pushed tomain. -
pool: Selects a Microsoft-hosted build agent. -
UseDotNet@2: Installs the required .NET SDK. -
dotnet restore: Downloads NuGet dependencies. -
dotnet build: Compiles the application. -
dotnet test: Executes automated tests. -
dotnet publish: Produces deployable application files. -
PublishPipelineArtifact@1: Stores the build output for use by later jobs or deployment pipelines.
Types of agents
Microsoft-hosted agent
Microsoft provides and maintains the execution machine.
Self-hosted agent
Your organization installs and maintains the agent on its own machine or server.
For example, a company deploying to internal on-premises servers may use a self-hosted agent with the required network access.
Advantages of Azure Pipelines
-
Automated builds and deployments.
-
Reduced manual deployment errors.
-
Repeatable release process.
-
Integration with GitHub and Azure Repos.
-
Supports multiple environments.
-
Approval and deployment controls.
-
Build and deployment history for auditing.
Interview key point: Azure Pipelines is responsible for CI/CD automation. It can deploy to Azure, on-premises infrastructure, or other cloud platforms.
7. Azure Test Plans – Software Testing Management
What is Azure Test Plans?
Azure Test Plans is a testing management service used to organize, execute, and track software testing activities.
It primarily supports:
-
Manual testing.
-
Exploratory testing.
-
Test case management.
-
Test execution tracking.
-
Bug reporting and traceability.
It is particularly useful for QA teams.
Why do we need Azure Test Plans?
Consider a banking application with the following functionalities:
-
Customer login.
-
Fund transfer.
-
Account balance.
-
Transaction history.
-
Password reset.
Before releasing the application, testers must verify that these features work correctly.
Azure Test Plans provides a structured way to create and execute these test cases.
Important concepts
|
Concept |
Description |
|---|---|
|
Test Plan |
Collection of testing activities for a release or iteration. |
|
Test Suite |
Logical grouping of test cases. |
|
Test Case |
Steps and expected results for verifying functionality. |
|
Test Run |
Execution record for selected tests. |
|
Test Result |
Outcome such as Passed or Failed. |
|
Bug |
Defect recorded when a test identifies a problem. |
|
Exploratory Testing |
Testing based on exploration rather than predefined steps alone. |
Example: Fund Transfer Test Case
Test Case ID: TC-101
Test Name: Verify successful fund transfer.
|
Step |
Action |
Expected Result |
|---|---|---|
|
1 |
Login with valid credentials |
Login successful |
|
2 |
Open Fund Transfer page |
Transfer screen displayed |
|
3 |
Enter beneficiary details |
Details accepted |
|
4 |
Enter transfer amount |
Amount validated |
|
5 |
Submit transfer |
Transfer completed successfully |
|
6 |
Verify transaction history |
Transaction recorded |
How does Azure Test Plans work?
Create Test Plan
↓
Create Test Suite
↓
Add Test Cases
↓
Execute Test Cases
↓
Record Pass / Fail
↓
Create Bug if Failed
↓
Developer Fixes Bug
↓
Retest
Advantages
-
Centralized test case management.
-
Tracks testing progress.
-
Provides requirement-to-test traceability.
-
Supports bug reporting.
-
Helps QA teams organize regression testing.
-
Maintains historical test results.
Important distinction: Automated unit tests can run directly through Azure Pipelines without Azure Test Plans. Test Plans is primarily for test management and manual/exploratory testing, although automated tests can also be associated with test cases.
8. Azure Artifacts – Package Management
What is Azure Artifacts?
Azure Artifacts is a package management service used to publish, store, share, and manage software packages.
It helps development teams reuse common libraries across multiple applications.
It supports package types and ecosystems such as:
-
NuGet (.NET)
-
npm (JavaScript / Angular)
-
Maven (Java)
-
Python packages
-
Universal Packages
Why do we need Azure Artifacts?
Suppose your organization has five ASP.NET Core Web API applications.
All applications require common functionality such as:
-
Logging.
-
Exception handling.
-
Authentication helpers.
-
Validation utilities.
-
Common DTOs.
Instead of copying the same source code into every application, your team can create a reusable .NET class library and publish it as a NuGet package.
For example:
Company.Common.Logging
↓
Build Class Library
↓
Create NuGet Package
↓
Publish to Azure Artifacts
↓
Other Applications Install Package
Practical example
Your team creates a shared library:
Company.Common.Logging
Create a NuGet package:
dotnet pack Company.Common.Logging.csproj -c Release
This creates a .nupkg file.
Publish it to an Azure Artifacts NuGet feed:
dotnet nuget push "Company.Common.Logging.1.0.0.nupkg" --source "CompanyFeed"
Here, CompanyFeed represents a configured NuGet source pointing to your Azure Artifacts feed. Authentication and feed permissions must be configured.
Another application can install the package:
dotnet add package Company.Common.Logging --version 1.0.0
The application must have access to the configured feed.
Important concepts
|
Concept |
Description |
|---|---|
|
Feed |
Repository that stores software packages. |
|
Package |
Reusable library or dependency. |
|
Package Version |
Identifies a specific published version. |
|
Upstream Source |
Allows a feed to access packages from supported external or internal feeds. |
|
Feed Permissions |
Control who can read, publish, or manage packages. |
Azure Artifacts vs Pipeline Artifacts
This is a frequently asked interview question.
|
Azure Artifacts |
Pipeline Artifacts |
|---|---|
|
Stores reusable software packages. |
Stores files produced by a pipeline run. |
|
Examples: NuGet, npm packages. |
Examples: published Web API files, ZIP files. |
|
Used for dependency and package management. |
Used to transfer build outputs between pipeline stages or jobs. |
|
Packages are versioned for reuse. |
Outputs are associated with pipeline runs. |
Interview key point: Azure Artifacts is used for package management, whereas Pipeline Artifacts are used to store and transfer build outputs.
9. Real-World Example – ASP.NET Core + Angular + SQL Server
Consider a team developing an enterprise banking application.
Technology stack:
-
Frontend: Angular
-
Backend: ASP.NET Core Web API
-
Database: SQL Server
-
Source Control: Azure Repos
-
CI/CD: Azure Pipelines
-
Project Management: Azure Boards
End-to-end workflow
|
Step |
Activity |
Azure DevOps Service |
|---|---|---|
|
1 |
Product Owner creates Fund Transfer requirement |
Boards |
|
2 |
Team creates and assigns development tasks |
Boards |
|
3 |
Developer creates feature branch |
Repos |
|
4 |
Developer implements Angular and Web API code |
Repos |
|
5 |
Developer commits and pushes changes |
Repos |
|
6 |
Developer creates Pull Request |
Repos |
|
7 |
Code review and build validation are performed |
Repos + Pipelines |
|
8 |
Code is merged into integration branch |
Repos |
|
9 |
CI pipeline builds and tests the application |
Pipelines |
|
10 |
Deployable files are published |
Pipeline Artifacts |
|
11 |
Application is deployed to SIT |
Pipelines |
|
12 |
QA executes manual test cases |
Test Plans |
|
13 |
Bugs are created and assigned to developers |
Boards |
|
14 |
After successful UAT and approval, application is deployed to Production |
Pipelines |
|
15 |
Common libraries are published for reuse |
Azure Artifacts |
This illustrates how the services work together. Organizations can customize the workflow based on their branching strategy, testing requirements, and deployment process.
10. Important Differences – Quick Revision
|
Service |
Main Purpose |
Primary Users |
|---|---|---|
|
Boards |
Requirement and task management |
Product Owners, Scrum Masters, Developers |
|
Repos |
Source code and version control |
Developers, Tech Leads |
|
Pipelines |
CI/CD automation |
Developers, DevOps Engineers |
|
Test Plans |
Manual testing and test management |
QA Engineers, Test Leads |
|
Artifacts |
Package management and sharing |
Developers, Build Engineers |
An easy way to remember:
-
Boards: What needs to be developed?
-
Repos: Where is the source code?
-
Pipelines: How is the application built and deployed?
-
Test Plans: How do we verify functionality?
-
Artifacts: Where are reusable packages stored?
11. Important Azure DevOps Interview Questions and Answers
Q1. What is Azure DevOps?
Azure DevOps is Microsoft's software development platform that provides services for project planning, source control, CI/CD automation, test management, and package management.
Q2. What is the difference between Azure DevOps and Azure?
Azure is a cloud computing platform used to host and manage infrastructure and applications. Azure DevOps is used to manage software development and delivery processes.
Q3. What are the five main Azure DevOps services?
Azure Boards, Azure Repos, Azure Pipelines, Azure Test Plans, and Azure Artifacts.
Q4. What is the difference between Azure Boards and Azure Repos?
Azure Boards tracks requirements, tasks, bugs, and sprints. Azure Repos stores source code and manages branches, commits, and Pull Requests.
Q5. What is the difference between CI and CD?
CI automatically builds and tests integrated code changes. CD automates release preparation and deployment. Continuous Delivery may include approval, while Continuous Deployment automatically releases changes that pass the required checks.
Q6. What is an Azure Pipeline agent?
An agent is a machine that executes pipeline jobs. It can be Microsoft-hosted or self-hosted.
Q7. What is the difference between Azure Repos and GitHub?
Both provide Git repository hosting and collaboration features. Azure Repos is integrated into Azure DevOps and also supports TFVC, while GitHub is a separate development platform with features such as GitHub Actions.
Q8. Can Azure Pipelines deploy an application to an on-premises server?
Yes. Azure Pipelines supports deployment to on-premises servers using suitable agents, deployment jobs, service connections, and network configurations.
Q9. What is the difference between Azure Artifacts and Pipeline Artifacts?
Azure Artifacts manages reusable packages such as NuGet and npm packages. Pipeline Artifacts stores files generated by pipeline runs for use in subsequent jobs or stages.
Q10. Is Azure Test Plans mandatory for running automated tests?
No. Automated tests can run directly through Azure Pipelines. Azure Test Plans is mainly used to manage test cases, manual testing, exploratory testing, and test results.
Q11. Can we use GitHub instead of Azure Repos?
Yes. Azure Pipelines can connect to GitHub repositories and execute CI/CD workflows.
Q12. How do Azure Boards, Repos, and Pipelines work together?
Boards tracks requirements and development tasks. Repos manages source code and Pull Requests. Pipelines automatically builds, tests, and deploys the application. Work items can be linked to code changes and build information for traceability.
12. Key Points for Interview Preparation
For a Senior .NET Developer / Technical Lead, focus on the following areas:
|
Topic |
Priority |
|---|---|
|
Azure DevOps overview and five services |
High – Must Know |
|
Azure Boards: work items, sprint, backlog |
High – Must Know |
|
Azure Repos: Git, branches, PRs, policies |
High – Must Know |
|
Azure Pipelines: CI/CD concepts |
High – Must Know |
|
YAML pipeline: stages, jobs, steps, tasks |
High – Must Know |
|
Microsoft-hosted vs self-hosted agents |
High – Must Know |
|
Build and deployment to SIT/UAT/Production |
High – Must Know |
|
Pipeline variables, secrets, service connections |
High – Must Know |
|
Azure Test Plans and test case management |
Medium – Should Know |
|
Azure Artifacts and NuGet feeds |
Medium – Should Know |
|
Pipeline templates and advanced deployment strategies |
Medium – Should Know |
Final interview summary:
Azure DevOps is an integrated platform for managing the complete software development and delivery lifecycle. Azure Boards handles requirements and work tracking, Azure Repos manages source code, Azure Pipelines automates builds and deployments, Azure Test Plans manages testing activities, and Azure Artifacts manages reusable software packages.
Together, these services improve collaboration, automation, software quality, traceability, and delivery efficiency.