Skip to content

Azure DevOps

Azure DevOps (ADO) is our primary platform for source control, CI/CD pipelines, work item tracking, and project management. We use it across the majority of our engagements.

What we use it for

Git repositories

All our source code lives in ADO Git repositories. We follow a trunk-based development model with short-lived feature branches and pull requests.

Pipelines

We use ADO Pipelines for continuous integration and continuous deployment. Pipelines are defined as YAML files checked into the repository, keeping our build and deployment configuration version-controlled alongside the code.

Boards

For work item tracking, we use ADO Boards with a lightweight process. We avoid over-complicating the workflow — typically we use a simple Backlog → In Progress → In Review → Done flow.

Branching strategy

We follow trunk-based development:

  • main is the primary branch and is always deployable
  • Feature branches are short-lived (ideally merged within a day or two)
  • Pull requests require at least one approval before merging
  • Branch policies enforce build validation on PRs

Pipeline standards

Every project should have, at minimum:

  • A build pipeline that runs on every PR (compile, test, lint)
  • A release pipeline that deploys to the target environment on merge to main
  • Pipeline definitions stored as YAML in the repo, not configured through the UI

Flexibility

While ADO is our default, we're not dogmatic about it. Some engagements may use GitHub, GitLab, or other platforms depending on the client's existing tooling. The principles above apply regardless of the platform.