AZ-400: Designing and Implementing Microsoft DevOps Solutions

Configure Collaboration Communication

Demo Creating a Dashboard

In this lesson, you'll learn how to create a custom dashboard in Azure DevOps to gain valuable insights into your projects and teams. Custom dashboards are an excellent way to monitor project progress, team activities, build health, and more in real time.


Exploring Available Dashboards

First, navigate to the dashboard section in Azure DevOps. You may encounter a fully configured dashboard—like the one for the KodeKloud Hotel project shown below—with several widgets displaying various key metrics.

The image shows a project management or task tracking interface with a list of work items, including details like ID, title, assigned person, state, and activity date. A cursor is hovering over an item titled "Services has a bug."

Before creating your own dashboard, explore the available widgets such as the "Smart Hotel 360" or a work item query widget. For example, when you assign a bug to a team member (e.g., Jeremy Morgan), the dashboard updates immediately to reflect the change. This real-time functionality makes dashboards ideal for displaying essential data on large screens in common workspaces.


Inspecting Widget Details

One of the great benefits of using dashboards is the ability to drill into the detailed queries behind the visualizations. The "All Items Work Item" query, for instance, retrieves a comprehensive list of work items, offering an up-to-date snapshot of your project’s workload.

The image shows a project management interface with a list of work items, including features and product backlog items, along with their details and status. The right panel displays specific information about a selected feature titled "Check-in from your phone."


Creating a Custom Dashboard

Creating a custom dashboard is straightforward. If your project does not yet have a dashboard, you will see an empty grid acting as the canvas for your layout. Each widget can be resized and repositioned to suit your needs.

For example, you could place the "Assigned to Me" widget (occupying six grid cells) at the center for immediate visibility, and position the "Build Health Overview" widget (occupying three cells) at the top. This arrangement allows you to focus on crucial areas such as build details, work item progress, and overall project status.

The image shows a dashboard interface with various widgets, including a "Build Health Overview" and options to add more widgets like "Build History" and "Burndown." The layout is grid-based with placeholders for additional content.

Adjust the placement of your widgets based on your role. For a developer, the focus might be on build-related components, whereas a project manager might prefer burndown charts and team cycle metrics.

When you are satisfied with your layout, click "Done Editing" to view the complete dashboard. Initially, data might be minimal, but soon you will see metrics such as build statuses and work item progress.


Customizing the Dashboard for Different Roles

As your role evolves, you can further tailor the dashboard to suit your specific needs. For example, a development lead managing pull requests might add a widget summarizing active pull requests alongside work assignments and build health. This customization ensures that all pertinent information is readily accessible.

Additional widgets are available to show release pipelines, deployment status, and quality checks. The key is to focus on displaying only the data you actively monitor to maintain a clean, uncluttered view. Removing or reconfiguring unused widgets helps keep the dashboard efficient and easy to interpret.

The image shows a dashboard interface with various widgets for tracking team activities, such as work assignments, build history, and pull requests, with some areas indicating no data or results.


Managing Widget Configuration

Regularly verify each widget's configuration to ensure data accuracy. For instance, if a widget displays an error like "Unhandled exception" or shows invalid JSON, it might be misconfigured or disconnected from the correct pipeline. Click on the configuration gear icon in the widget to update its settings.

If a widget isn’t attached to a pipeline, you can resolve the issue by creating a new pipeline. Below is an example of a basic starter YAML pipeline that runs a one-line script:

trigger:
- main

pool:
  vmImage: 'ubuntu-latest'

steps:
- script: echo "Hello, World!"
  displayName: 'Run a one-line script'

Once the pipeline is created and linked to the widget, the data will update accordingly. Temporary errors, like missing agent configurations, may arise, but fixing them keeps your dashboard reliable and clutter-free.

The image shows a project management dashboard for "KodeKloud Hotel Team" featuring various charts and metrics related to work assignments, team velocity, build health, and backlog items. It includes visual data representations like pie charts, bar graphs, and status indicators.

After resolving any issues, ensure the widget displays the correct information. An accurate dashboard enables team members to quickly identify and address pipeline or other project issues.

The image shows a project management dashboard for "KodeKloud Hotel Team" with various charts and metrics, including work assignments, team velocity, build health, and backlog items. It provides an overview of tasks, bugs, and progress in a software development environment.

Dashboard Tip

Regularly review and update your widget configurations to ensure that your dashboard provides accurate, up-to-date information and quickly identifies issues.


Best Practices and Final Thoughts

Here are some best practices for managing dashboards in Azure DevOps:

  1. Verify data sources regularly to keep your widget data updated.
  2. Remove seldom-used widgets to maintain a focused and clean interface.
  3. Tailor the dashboard according to the roles of its users—developers, project managers, and administrators might need different summaries.
  4. Explore the Azure DevOps extension gallery for additional widgets that offer advanced functionalities (e.g., SonarCloud integration or enhanced Gantt charts).

Dashboards are essential for observability—they provide a consolidated view of builds, work items, deployment statuses, and other vital metrics. Whether performing a daily check at the start of the day or reviewing performance at day's end, dashboards offer a quick, comprehensive snapshot of your project’s health.

This lesson has guided you through creating and customizing a dashboard in Azure DevOps. With your personalized dashboard set up, you now have a powerful tool to track progress and make informed decisions swiftly.

Happy dashboarding!

Watch Video

Watch video content

Previous
Using Dashboards