The official Microsoft Certified: DevOps Engineer Expert syllabus, organized by domain. Check off each point as you review it.
Inicia sesión para guardar tu progreso entre sesiones.
Design and implement traceability and flow of work
GitHub flow is a lightweight branch-based workflow: create a descriptive branch, commit isolated changes, open a pull request (as a draft for early feedback), address review, merge and delete the branch. In Azure Repos, Microsoft recommends feature branches, pull requests with build validation and automatic reviewers on main, and release branches that are never merged back: fixes are ported with cherry-picks.
In GitHub, issue templates and forms (.github/ISSUE_TEMPLATE) structure reports, config.yml can hide blank issues, and sub-issues build hierarchies. Notifications reach the web inbox, mobile or email depending on whether you participate in or watch a repository. Azure DevOps delivers notifications by email or service hooks through personal, team, project or global subscriptions filtered by event.
Configuring issue templates for your repository ↗About notifications ↗
GitHub Projects combines a table, board and roadmap synced with issues and pull requests; built-in workflows set Done on close or merge, and auto-add brings in new items that match a filter. Automating them from Actions needs a GitHub App or PAT, because GITHUB_TOKEN cannot access projects. Azure Boards connects to GitHub through its app and links commits, pull requests and issues with AB#ID.
Using the built-in automations ↗Link GitHub commits, pull requests, branches, and issues to work items in Azure Boards ↗
Traceability ties requirements, code, builds, releases, tests and bugs together through link types such as Branch, Commit, Pull Request and Integrated in build. In Azure Pipelines you can link test results to requirements, create bugs from failed tests and trace the code change where a failure began. The Requirements quality widget summarizes quality per requirement, and AB# or Fixes #n connect GitHub code to work.
Design and implement appropriate metrics and queries for DevOps
Lead time runs from work item creation to a Completed state and cycle time from first entering In Progress to Completed; the Lead Time and Cycle Time widgets show a moving average and standard deviation, and the CFD reveals bottlenecks and excess WIP. For delivery, the Cloud Adoption Framework proposes Lead Time for Change, Deployment Frequency, Mean Time to Restore and Change Fail Percentage.
Configure lead time and cycle time widgets ↗DevOps considerations ↗
For planning, Azure Boards provides velocity (work completed per sprint, credited to the sprint where it finishes), the forecast tool, which uses that velocity to spread the backlog over future sprints, and Burndown and Burnup widgets that can span several teams and show scope increase. Queries use macros such as @CurrentIteration - 1, and GitHub Projects offers historical charts such as Burn up.
View and configure team velocity ↗Forecast your product backlog ↗
Development metrics measure code health and the flow of changes: diff coverage on Azure Repos pull requests (azurepipelines-coverage.yml, advisory unless a branch policy requires it), the Code Tile and Pull Request widgets, Pulse in GitHub, and GitHub Actions performance metrics. To relate work to GitHub code in queries, Azure Boards uses External Link Count.
Review and configure code coverage results in Azure Pipelines ↗Using Pulse to view a summary of repository activity ↗
Test metrics in Azure DevOps come from the results a pipeline publishes (for example with PublishTestResults@2). Test Analytics and the Test failures report show the top failing tests and pass-rate trends; flaky test management detects flaky tests and can exclude them from the summary. The Test Results Trend (Advanced), Chart for Test Plans and Requirements quality widgets bring this data to dashboards.
Security metrics come from the alerts raised by scanning tools. In GitHub, security overview offers Overview, Risk, Coverage and per-tool views, and code scanning and Dependabot alerts are filtered with expressions such as is:open or scope:development. GitHub Advanced Security for Azure DevOps provides Risk, Coverage and Alerts tabs for Azure Repos, and Defender for Cloud unifies Azure DevOps, GitHub and GitLab.
Security overview ↗Security overview (GitHub Advanced Security for Azure DevOps) ↗
Delivery metrics show what reaches each environment and how reliably. In Azure Pipelines, environments keep deployment history from every pipeline with its changes and work items, and the pass rate and duration reports reveal failing or slow tasks. In GitHub, the Deployments page shows history per environment, and Actions performance metrics give queue times and failure rates.
Create and target Azure DevOps environments ↗Pipeline reports ↗
For operations, Azure Monitor combines KQL queries in Log Analytics with alerts. In KQL, summarize with percentile() and bin(timestamp, 5m) builds latency time series. Metric alerts support multiple conditions and dynamic thresholds and are preferred for detecting missing data. Application Insights Standard tests also check the TLS/SSL certificate.
Configure collaboration and communication
The Azure DevOps wiki supports Markdown and Mermaid diagrams with the ::: mermaid container or a fenced mermaid block; flowcharts use graph, not flowchart. Tags such as [[_TOC_]] and [[_TOSP_]] generate indexes, and Publish code as wiki maps a repository branch and folder, ordered with .order files. GitHub renders Mermaid in fenced mermaid blocks.
Use Markdown in Azure DevOps ↗Publish a Git repo to a wiki ↗
On GitHub, automatically generated release notes include merged pull requests, contributors and a changelog link; .github/release.yml groups them by label and excludes labels or authors. API documentation in ASP.NET Core is generated as an OpenAPI document with Swashbuckle or NSwag and shown with Swagger UI.
Automatically generated release notes ↗ASP.NET Core web API documentation with Swagger / OpenAPI ↗
Git provides commands to build documentation from history: git log with ranges such as v2.3.0..HEAD, --no-merges, --grep and --pretty=format creates changelogs; git shortlog -sn summarizes commits per author; git describe derives versions from the nearest annotated tag. The GitHub API generates release notes between two tags with the generate-notes endpoint.
Git - git-log Documentation ↗Git - git-shortlog Documentation ↗
Webhooks send events to an HTTPS endpoint. On GitHub, use a secret and validate the X-Hub-Signature-256 signature, respond with a 2XX quickly and use X-GitHub-Delivery against replays. Azure DevOps sends events through Web Hooks service hook subscriptions, and Azure Pipelines supports webhook resources with a secret-protected Incoming Webhook connection.
Validating webhook deliveries ↗resources.webhooks.webhook definition ↗
Azure Boards connects to GitHub repositories, preferably through the Azure Boards app. AB# mentions in commit messages and pull request descriptions link work items, and keywords such as Fixes transition them only when merged into the default branch. Status badges, branches created from work items and ! mentions of pull requests are also available.
Link GitHub commits, pull requests, branches, and issues to work items in Azure Boards ↗What is the Azure Boards-GitHub integration? ↗
Azure DevOps Services integrates with Teams through the Azure Boards, Azure Pipelines and Azure Repos apps, which create notification subscriptions in a channel, plus the Azure DevOps app as a tab. Azure Pipelines lets members approve deployments from the channel. The GitHub app for Teams uses @GitHub subscribe OWNER/REPO with features and branch, label and workflow filters.
Azure DevOps integration with Microsoft Teams ↗Customizing notifications for GitHub in Teams ↗