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:
mainis 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.