Report
Report
Report
Dashboards
Overview
Charts, dashboards, and widgets
Quickstarts
Add and manage dashboards
Add widgets to a dashboard
Add Markdown to a dashboard
Tutorials
Configure burndown or burnup widgets
Configure a cumulative flow chart
Configure a lead/cycle time widget
Configure or view Velocity charts
Work with sprint burndown
Concepts
Cumulative flow, lead time, and cycle time guidance
Velocity guidance
Burndown guidance
How-to Guides
Add charts to a dashboard
Configure work item query-based charts
Configure test status, progress, & result charts
Set dashboard permissions
Reference
Widget catalog
Markdown guidance
Resources
Agile
Testing
Build a dashboard widget
Marketplace widgets
Dashboards
10/18/2017 1 min to read Edit Online
5-Minute Quickstarts
Add and manage dashboards
Add charts and widgets to a dashboard
Add Markdown to a dashboard
Step-by-Step Tutorials
Configure a Cumulative Flow chart
Configure a Lead Time or Cycle Time widget
Configure or view Velocity chart
View sprint burndown charts
Concepts
Cumulative flow, lead time, and cycle time guidance
Velocity metrics and usage guidance
Burndown guidance
How-to Guides
Add charts to a dashboard
Configure work item query-based charts
Configure test status, progress, and result charts
Set dashboard permissions
Reference
Widget catalog
Resources
Build a dashboard widget
Marketplace widgets
Dashboards, charts, & widgets
9/27/2017 3 min to read Edit Online
Prior to monitoring work progress and trends, you'll need to have planned your project and made progress on
work you're tracking.
And, just like work item query-based charts, you can add these charts to a dashboard.
Sequence for adding test progress and result charts to a dashboard
Sprint charts
Each sprint provides access to two charts. The first tracks capacity for the team, team activitiessuch as
Development, Test, Designand individual team members. The second tracks the sprint burndown in terms of
remaining work.
CAPACITY BARS BURNDOWN
NOTE
Feature availability: Multiple team dashboards and the widget catalog are available from Visual Studio Team Services
(VSTS) and from the web portal for TFS 2015.1 or later version.
If you connect to an on-premises TFS running TFS 2015 or earlier version, you don't have access to multiple team
dashboards. Instead, your home page serves as a single team dashboard. For information on SharePoint dashboards, see
Project portal dashboards.
Share progress and status with your team using configurable team dashboards. Dashboards provide easy-to-
read, easy access, real-time information. At a glance, you can make informed decisions without having to drill
down into other parts of your team project site.
The Overview page provides access to a default team dashboard which you can customize by adding, removing,
or rearranging the tiles. Each tile corresponds to a widget that provides access to one or more features or
functions.
Anyone with access to the team project, including stakeholders, can view dashboards. However, only team
admins can add or modify dashboards.
If you need to add a team first, see add teams and team members.
If you don't see the team or team project you want, click the project icon to browse all team projects and
teams.
If you don't see the , then you're not a team admin for the currently selected team. Either switch the context to
your team, or request you be added as a team admin.
With the dashboard selected, you can add widgets and charts to the dashboard. Or, you can add charts to a team
dashboard from the Work, Build, or Test hubs.
Manage dashboards
NOTE
Feature availability: You can configure the auto-refresh setting for each dashboard on VSTS and for TFS 2015.2 and later
versions. For VSTS and TFS 2017.1 and later versions, you can set dashboard permissions.
You can rename, reorder, or delete a dashboard. Also, you can enable auto-refresh, and the dashboard will
automatically update every 5 minutes.
From VSTS and TFS 2017, you can also manage dashboard permissions.
To manage dashboards, click the wrench icon.
Click to modify your dashboard. You can then drag tiles to reorder their sequence on the dashboard.
When you're finished with your changes, click to exit dashboard editing.
If you don't see the team or team project you want, click the project icon to browse all team projects and
teams.
NOTE
Feature availability: You can access the widget catalog from the web portal for VSTS or TFS 2015.1 or later version. The
widget catalog provides widgets for all tiles supported in previous releases of TFS for the team homepage. For on-
premises TFS 2015, you can add select charts to the team home page using the Pin to home page feature.
To determine the platform and version you're on, see Provide product and content feedback, Platforms and version
support.
Configure a widget
To configure a widget, add the widget to a dashboard and then click the configure icon.
Click the delete icon to remove the tile from the dashboard.
Once you've configured the widget, you can edit it by opening the actions menu.
Click to modify your dashboard. You can then drag tiles to reorder their sequence on the dashboard.
When you're finished with your changes, click to exit dashboard editing.
Copy a widget
NOTE
Feature availability: This feature is only available from VSTS.
To copy a configured widget to another team dashboard, click the actions icon and select Add to
dashboard.
To regain access to it, request your admin to reinstate or reinstall the widget.
Add Markdown to a dashboard
10/18/2017 2 min to read Edit Online
If you don't see the team or team project you want, click the project icon to browse all team projects and teams.
6. Enter the text and markdown syntax into the configuration the configuration dialog. For supported syntax,
see Syntax guidance for Markdown files, widgets, wikis, and pull request comments.
Here we show some simple text with a bulleted list of four links
To link to a wiki page, repository file, hub, or page within the team project, use this format:
/DefaultCollection/Fabrikam%20Fiber/Voice/_wiki?pagePath=%2FHome
/DefaultCollection/Fabrikam%20Fiber/Voice/_git/Fabrikam%20Fiber?path=%2FREADME.md
/DefaultCollection/Fabrikam%20Fiber/Voice/_backlogs?level=Backlog%20items&showParents=false&_a=backlog
NOTE
Links to documents on file shares using file:// are not supported on VSTS or TFS 2017.1 and later versions. This
restriction has been implemented for security purposes.
10. When you're finished with your changes, click to exit dashboard editing.
Related notes
Add and manage dashboards
Add a widget to a dashboard
Syntax guidance for Markdown files, widgets, wikis, and pull request comments
Widget catalog
Marketplace widgets
Configure a Burndown or Burnup widget
9/27/2017 12 min to read Edit Online
VSTS
The Burndown and Burnup widgets provide the flexibility to create burndown or burnup charts for any type of
scope, worked on by any number of teams, within any defined period of time. Burndown charts focus on remaining
work within a specific time period, while Burnup charts focus on completed work.
NOTE
Feature availability: The Burndown and Burnup widgets are available only for VSTS at this time. For on-premises TFS, you
can add the Sprint Burndown widget to your dashboard.
Both burndown and burnup charts help answer the question: Are we on track to complete this set of work by
the end date?
Use this topic to learn how to:
Install and configure the burndown or burnup widgets
How burndown metrics should be used
How to work with the burndown chart
A burndown chart is a useful tool to track completion of a predefined scope of work over a predefined period of
time. For example, a sprint burndown tracks the sprint backlog completion by end of the sprint. A release
burndown tracks the release backlog completion by the end of the release. A bug burndown chart can also be used
to track completion of a set of bugs by a certain date.
Burndown widget configured to display a Release Burndown
Burndown widget configured to display a Bug Burndown
If you wish to track progress across teams, just add more teams using the team selector. You may also select
teams from other team projects.
The Burndown chart will display the burndown of remaining work for all selected teams.
NOTE
While you can select teams from other team projects, all of the available configuration optionsWork items, Field
criteria, and Burndown on will show selections from your current team project.
The list of selectable backlogs, work item types, and fields are based on your current team project.
For example, if you select a work item type that doesn't exist in another team project, the burndown will not include
work items from that team project. If you select a field that doesn't exist in another team project, that field will be
considered blank for the burndown. Therefore, a burndown created across multiple team projects will only work if the
Process for those projects are the same, or at least very similar.
3. Choose your work items. The burndown can include work based on items in your Backlog or by Work
item type.
You can select a Backlog, which include all the work items in that backlog.
If you select the Stories backlog you are presented with an additional option: Include bugs on the Stories
backlog. Place a checkmark in the box to include bugs along with user stories in your burndown.
This option is presented for the PBI Backlog for Scrum projects, and the Requirements backlog for CMMI
projects.
You can also select Work item type to burndown on a specific work item type. In the list, you will find all
the project's work item types including custom work item types.
4. (Optional) Select field criteria to limit the work items that appear in the chart.
You can filter by any field available in your team project, even a specific tag. For example, you can narrow
your burndown to top priority items by adding a filter Priority <= 2.
You may add multiple field critiera, by selecting Add criteria. For example, you can also select a custom
field such as Release, to create a burndown chart of only those items assigned to a specific release.
NOTE
All field criteria are AND-ed together. That is, work items must match all the field criteria to be included in the
burndown or burnup chart.
Start Date Determines the original scope baseline. The chart burns
down from the original scope. % Complete and Total
Scope Increase are calculated based on your original
scope.
Plotting Interval Here you select the intervals to plot between the Start
Date and End Date. Average Burndown is based on the
selected interval. You can plot burndown based on
daily/weekly/monthly intervals or based on an iteration
schedule.
The iteration selection box support search, so you can simply type a partial name of an iteration and it will
find the closest match.
The selectable iterations are based on the current team project, even if you selected teams from other
team projects. Since the burndown chart plots remaining work based on the end date of the iteration, it
calculates remaining work across all teams/team projects, based on that iteration end date. For example, if
an iteration ends on 11/10/2017, the burndown chart calculates remaining work as of 11/10/2017, counting
or summing all work items for every team/team project. Therefore, a cross-project burndown will work
when plotting by iterations, as long as you are OK with having all the teams reporting on the same iteration
schedule.
The burndown chart uses the end date of each iteration to plot the remaining work for that iteration.
NOTE
The Average Burndown assumes that every iteration is the same length. It does not account for iterations that are
different lengths. Additionally, it assumes that the interval between the Start Date and the first iteration is a full
iteration, even if the length of time between Start Date and the first iteration's end date does not match your typical
length of iteration. For best restuls, enter a Start Date that is the same as the first iteration's start date.
If you select to plot based on an iteration schedule, you will not be able to select End Date. The burndown
assumes the End Date is the last iteration's end date.
Plot based on a daily, weekly, or monthly interval
After selecting the Start Date, set Plot burndown by to Date. Specify the End Date for your burndown.
You can set Plot interval to Days, Weeks, or Months.
If you select Weeks, then you'll be able to select the Last day of week. The remaining work for each
interval will be calculated based on that day.
If you select Months, then burndown will be caluclated based the last day of each month.
NOTE
The Average Burndown assumes that every interval is the same length. It does not account for months that are
different lengths. Additionally, it assumes that the interval between the Start Date and the first month is a full
month, even if the length of time between Start Date and the first months's end date does not match your typical
length of a month. For example, a Start Date of 11/15/2017, would plot the first month as 10/31/2017, but would
be counted as a full month for your Average Burndown. For best results, enter a Start Date that is the same as the
first months's start date. This is also true when plotting by weekly itervals.
Choose additional options
Check the boxes of the following options that you want to add to your chart.
Show burndown: Displays both the historical and projected future burndown
Show total scope: Displays both the historical and projected scope increase
Show completed work: In addition to remaining work, it also displays completed work as as stack bar
Plot remaining using work item type color: Displays remaining work based on the work item type color,
rather than the default blue color. If multiple work items are included, then it stacks colors by work item type.
ELEMENT DESCRIPTION
Date range The start and end date of the burndown. When burndown is
plotted by iterations the end date is the end of the last
iteration
Items not estimated Shows only when burning down on a Sum of a field. It
represents the current number of items that do not have a
value in the selected Burndown on field. You may click or
press the number to see a full list of work items without
estimates.
Total Scope Increase show how much work was added to the original scope since
the burndown started.
Original Scope Original scope is all remaining work as of the specified Start
Date. The chart burns down from the original scope. %
Complete and Total Scope Increase are calculated based on
your original scope.
Total Scope Represents to the total scope of the burndown. The plotted
points include both completed and remaining work. The total
scope line tells you how much scope change your project has.
For past data points, the plotted total scope represents actual
total scope as of the end of each interval/iteration. For future
data points, the plotted total scope represents a projected
scope change, based on past scope changes.
Burndown Represents the burndown. The burndown line tells you how
fast you are burning down the work. For past data points, the
plotted burndown represents actual burndown as of the end
of each interval/iteration. For future data points, the plotted
burndown represents a projected burndown, based on past
burndown.
NOTE
Feature availability: The CFD widget is available only for VSTS at this time.
The CFD widget provides more configuration options than those supported by the default CFD charts shown on
the backlog and board pages. With the CFD widget, you can monitor the count of work items as they progressively
move through various states which you define. You can configure the CFD chart to monitor the flow of epics,
features, user stories, product backlog items, or requirements, depending on the process (Agile, Scrum, or (CMMI)
you've selected.
Use this topic to learn how to:
Install and configure the Cumulative Flow widget (Analytics service)
View and configure the built-in Cumulative Flow chart (work tracking datastore)
For usage guidance, see Cumulative flow, lead time, and cycle time guidance.
You will need to be a team administrator or a member of the Project Administrators group to perform these tasks.
See Manage team assetsto get added as a team admin.
1. If you haven't yet configured your Kanban board, do that now. Define the columns and swimlanes that
support your workflow processes.
2. If you want fixed scope CFD charts, make sure that you've defined the sprint iterations for those sprints of
interest.
3. To add a CFD chart to your team dashboard, see Add a widget to a dashboard. Add the Cumulative Flow
Diagram widget.
4. Click the actions icon and choose the Configure option to open the configuration dialog. Modify the
title, and then select the team, backlog level, swimlanes, and time period you want to monitor.
5. For a continuous flow diagram, select Rolling period and specify the number of days you want to view on
the chart.
Or, for a fixed scope view, choose and specify the Start date. Choose this view if your team employs a
Scrumban process or follows a standard sprint process.
The main difference between these two types of CFD charts is that the fixed scope CFD will provide
information (in most cases) of scope change.
6. Choose the color. You can distinguish the CFD for different teams by choosing different colors.
7. Click Save when done. The following image shows an example CFD chart showing 30 days of data.
View the built-in cumulative flow chart
You open the built-in (work tracking datastore) cumulative flow chart for your backlog or portfolio backlog by
clicking the image in the upper-right corner of your Work>Backlogs page.
The CFD shows the count of items in each Kanban column for the past 30 weeks or less. From this chart you can
gain an idea of the amount of work in progress and lead time. Work in progress counts unfinished requirements.
Lead time indicates the amount of time it takes to complete a requirement once work has started.
Configure the built-in cumulative flow chart
Each team can set their preferences for the built-in cumulative flow charts.
1. Open the backlog level for which you want to configure and then open the common configuration dialog.
Click the gear icon.
If you're not a team admin, get added as one. Only team and project admins can customize the team
Kanban boards and CFD charts.
2. Click the Cumulative flow tab and specify the team's preferences.
3. Repeat steps 1 and 2 for each backlog level you want to configure.
For the CFD chart to reflect useful information, you'll want to update the status of work items to reflect progress as
it occurs. The quickest way to make these updates is through your Kanban board.
VSTS
NOTE
Feature availability: The Lead Time and Cycle Time widgets are only available for VSTS at this time.
Both lead time and cycle time measures are extremely useful to teams as they indicate how long it takes for work
to flow through their development pipeline. Lead time measures the total time elapsed from the creation of work
items to their completion. Cycle time measures the time it takes for your team to complete work items once they
begin actively working on them.
These measures help teams plan, spot variations in efficiency, and identify potential process issues. The lower the
lead and cycle times, the faster the throughput your team has.
In this topic you'll learn:
How to install and configure the Lead Time and Cycle Time widgets (Analytics service)
How to interpret the scatter-plot control charts
How moving average and standard deviation are calculated in the charts
NOTE
While the Cycle Time and Lead Time widgets use the Analytics data store, access to the data store for other report purposes
is not supported at this time.
Configuration dialog
1. If you haven't yet added the Analyics Marketplace extension, do that now.
2. (Optional) If you haven't yet configured your team's Kanban board, do that now. Define the columns and
swimlanes that support your workflow processes.
3. If you haven't yet added the widgets to your dashboard, do that now.
4. Click the actions icon and choose the Configure option icon to open the configuration dialog. Modify the
title, and then select the team, backlog level, swimlanes, and time period you want to monitor.
5. For a continuous flow, choose Rolling period and specify the number of days you want to view on the chart.
Or, for a fixed scope view, choose and specify the Start date. Choose this view if your team employs a
Scrumban process or follows a standard sprint process.
The main difference between these two types of charts is that the fixed scope chart will provide information
(in most cases) of scope change.
6. Click Save when done. The following image shows an example Lead Time chart showing 60 days of data.
For your lead/cycle time charts to provide useful data, your team must Update the status in a timely manner
those work items that the widgets track.
The chart dots represent completed work items where their position on the horizontal axis represents the date they
were completed. Their position on the vertical axis represents the calculated lead time or cycle time.
Larger dots represent multiple work items with the same lead/cycle time
Dot color corresponds to the work item type displayed in the legend
Dark gray dots correspond to a mix of work item types.
Summary elements include:
Days on average (average lead time or cycle time) for the main work item types configured for the chart
The number of backlog work items used in the chart calculations; if there are more than three types of work
items, you'll see a summary for Other
The black trend line indicates the moving average
The band around the trend line shows the standard deviation.
Interactive elements include:
Hover over any dot to see which work items contributed to the data point and the lead/cycle time for those
items
Click a dot to open the work item or query that lists the work items
To filter the chart, click a work item type in the legend ( , , or other icon) to filter on that type; to return to
the original chart, refresh the dashboard.
Related notes
We recommend your team review the lead/cycle time charts before or during each retrospective. Use lead time to
help estimate delivery times and track service level agreements (SLAs). Use cycle time to identify potential process
issues, spot variations in trends, and help with planning.
Kanban basics
Cumulative flow diagram
Workflow states and state categories
Agile, Scrum, and CMMI processes
Configure and view Velocity charts
9/27/2017 7 min to read Edit Online
NOTE
Feature availability: The Velocity widget is available only for VSTS at this time.
NOTE
While the Velocity widget uses the Analytics data store, access to the data store for other report purposes is not supported
at this time.
Configuration dialog
1. If you haven't yet added the Analyics Marketplace extension, do that now.
2. If you haven't yet added the Velocity widget to your dashboard, do that now.
3. Click the actions icon and choose the Configure option to open the configuration dialog.
Modify the title, select the team, and then choose either the backlog level or work item type to track. Select
whether you want to track a count of work items or a sum of a numeric field. The most common summed
field is that of Effort, Story Points, or Size.
4. Specify the number of sprints you want to view. The default is 6 and the maximum is 15.
5. (Optional) Select the check boxes to show additional information for work completed later than planned for
each sprint.
Displayed planned work for iterations: Check this box to display the amount of work planned for an
iteration at the start of the iteration. This is useful for comparing your planned work to actual deliverables.
By default, the count of planned work begins as of the start date of the iteration.
Days past start date of iteration when planned work is final: Specify a number of days past the start
date to count planned work. For example, if the first 2 days of an iteration are for planning, then you can
enter "3", and planned work will be counted on the 3rd day.
Highlight work completed late Work items marked complete after the iteration end date are considered
to be completed late and will show as light green. This is useful for spotting a trend where work items are
marked complete after the iteration is complete.
NOTE
A work item is considered late when the work item's Completed Date is later than End Date of the Iteration the work
item is currently assigned to.
It will take into account the value you enter for Days past end date of iteration after which work is late.
Days past end date of iteration after which work is late: Specify a number of days past which a work
item is considered late if it's status is still new or in progress. For example, entering 3 days will give the
team 3 days after the end of an iteration to mark work items complete or done, before they are considered
late.
6. Click Save when done. The following image shows Velocity based on Story Points and 8 sprints of data.
NOTE
The images you see from your web portal may differ from the images you see in this topic. These differences result from
updates made to VSTS or your on-premises TFS, options that you or your admin have enabled, and which process was
chosen when creating your team projectAgile, Scrum, or CMMI. However, the basic functionality available to you remains
the same unless explicitly mentioned. For an overview of changes in the navigation experience and working within the user
and administration contexts, see Work in the web portal.
NOTE
Work items based on the Scrum process get counted in the chart once their State is set to Committed, whereas
items based on the Agile and CMMI processes get counted once their State is set to Active. This behavior is set
through the workflow states to category state mappings.
Required and recommended activities
For your team to gain the greatest utility from the velocity chart or velocity widget, follow these required and
recommended tasks.
Required:
Define sprints for the team project - Sprints should be of the same duration.
Select sprints for each team
Define and estimate backlog items. If you work from your team's backlog, the items you create will
automatically be assigned to the current sprint (Iteration) and to your team's default Area Path.
Update the status of backlog items once work starts and when completed. Only backlog items whose State
maps to a metastate of In Progress or Done will show up on the velocity chart or velocity widget.
Recommended:
Define and size backlog items to minimize variability.
Determine how your team wants to treat bugs. If your team chooses to treat bugs like requirements, bugs will
show up on the backlog and be counted within the Velocity chart and forecasting.
Set your team's area path. The forecast tool will forecast those items based on your team's default settings.
These settings can specify to include items in area paths under the team's default or exclude them.
Don't create a hierarchy of backlog items and bugs. The Kanban board, sprint backlog, and task board only
show the last node in a hierarchy, called the leaf node. For example, if you link items within a hierarchy that is
four levels deep, only the items at the fourth level appear on the Kanban board, sprint backlog, and task board.
Instead of nesting requirements, bugs, and tasks, we recommend that you maintain a flat listonly creating
parent-child links one level deep between items. Use Features to group requirements or user stories. You can
quickly map stories to features, which creates parent-child links in the background.
At the end of the sprint, update the status of those backlog items that the team has fully completed. Incomplete
items should be moved back to the product backlog and considered in a future sprint planning meeting.
NOTE
The system automatically builds a sprint burndown chart based on the tasks and Remaining Work estimates you define and
update throughout the sprint cycle. For details, see Sprint planning and Task board. To open the sprint burndown chart,
jump to the section Open sprint burndown chart.
In particular you can review your sprint burndown charts to show the team patterns in execution. The burndown
charts maintain a record of the team's ability to plan and estimate.
Teams may find it useful to review this record periodically during their sprint retrospectives. It may spark useful
discussions and lead to setting one or more sprint goals, such as:
How does our projected velocity match up to our actual velocity?
How can we more accurately determine how much we will be able to accomplish in a sprint?
How can we complete work at a more regular pace throughout the sprint?
Related notes
You can learn more about defining, planning, and executing your sprints from these topics:
Schedule sprints
Sprint planning
Task board
And, from these industry resources:
Understanding the Scrum Burndown Chart
Task sizing in Agile software development
For on-premises TFS deployments, you can specify the format that appearsh for hours or d for daysfor the
remaining work field.
Empty sprint burndown chart
If your sprint burndown chart appears empty, check the following:
Have you assigned tasks to the sprint associated with the chart?
Have you assigned remaining work to the tasks assigned to the sprint?
Are the parent work items of the tasks assigned to the same sprint? If not, the tasks may appear in another
sprint associated with the parent item.
Cumulative flow, lead time, and cycle time guidance
9/20/2017 11 min to read Edit Online
The Fixed period CFD shown here is Fixed period CFD for a completed sprint
for a completed sprint.
The top line represents the scope set
for the sprint. And, because the work
must be completed by the last day of
the sprint, the slope of the Closed
state indicates whether or not a team
is on track to complete the sprint. The
easiest way to think of this view is as
a burnup chart.
The data is always depicted with the
first step in the process as the upper
left and the last step in the process as
the bottom right.
Chart metrics
CFD charts display the count of work items grouped by state/Kanban column over time. The two primary metrics
to track, cycle time and lead time, can be extracted from the chart.
METRIC DEFINITION
Cycle Time 1 Measures the time it takes to move work through a single process or workflow state, calculated by the
start of the given process to the start of the subsequent process.
Lead Time 1 For a continuous flow process: measures the amount of time it takes from when a request is made (such
as adding a proposed user story) until that request is completed (closed).
For a sprint or fixed period process: measures the time from when work on a request begins until the
work is completed (i.e. the time from Active to Closed).
Work in Progress Measures the amount of work or number of work items that are actively being worked.
Scope Represents the amount of work committed for the given period of time. Only applies to fixed period
processes.
Note:
1. The CFD widget (Analytics Service) and built-in CFD chart (work tracking data store) do not provide discrete
numbers on Lead Time and Cycle Time. However, the Lead Time and Cycle Time widgets do provide these
numbers.
There is a very tight, well defined correlation between Lead Time/Cycle Time and Work in Progress (WIP). The
more work in progress, the longer the cycle time which leads to longer lead times. The opposite is also truethe
less work in progress, the shorter the cycle and lead time is because the development team can focus on fewer
items. This is a key reason why you can and should set Work In Progress limits on the Kanban board.
The count of work items indicates the total amount of work on a given day. In a fixed period CFD, a change in this
count indicates scope change for a given period. In a continuous flow CFD, it indicates the total amount of work in
the queue and completed for a given day.
Decomposing this work into specific Kanban board columns provides a view into where work is in the process. This
provides insights on where work is moving smoothly, where there are blockages and where no work is being done
at all. It's difficult to decipher a tabular view of the data, however, the visual CFD chart provides clear evidence that
something is happening in a given way.
Flat lines appear when the team doesn't update Flat lines
their work with a regular cadence. The Kanban
board provides the quickest way to transition work
from one column to another.
Flat lines can also appear when the work across
one or more processes takes longer than planned
for. For this to occur, flat lines must appear across
many parts of the system because if only one part
of the system or two parts of a system have
problems then you'll see a bulge.
Mura, the lean term for flat lines and bulges, means unevenness and indicates a form of waste (Muda) in the
system. Any unevenness in the system will cause bulges to appear in the CFD.
Monitoring the CFD for flat lines and bulges supports a key part of the Theory of Constraints project management
process. Protecting the slowest area of the system is referred to as the drum-buffer-rope process and is part of
how work is planned.
How do you fix flow problems?
You can solve the problem of lack of timely updates through daily stand-ups, other regular meetings, or
scheduling a daily team reminder email.
Systemic flat-line problems indicate a more challenging problem (although you should rarely if ever see this). This
problem means that work across the system has stopped. This may be the result of process-wide blockages,
processes taking a very long time, or work shifting to other opportunities that aren't captured on the board.
One example of systemic flat-line can occur with a features CFD. Feature work can take much longer than work on
user stories because features are composed of several stories. In these situations, either the slope is expected (as in
the example above) or the issue is well known and already being raised by the team as an issue, in which case,
problem resolution is outside the scope of this topic to provide guidance.
Teams can proactively fix problems that appear as CFD bulges. Depending on where the bulge occurs, the fix may
be different. As an example, let's suppose that the bulge occurs in the development process because running tests
is taking much longer than writing code, or testers are finding may be finding a large number of bugs and
continually transition the work back to the developers so the developers have a growing list of active work.
Two potentially easy ways to solve this problem are: 1) Shift developers from the development process to the
testing process until the bulge is eliminated or 2) change the order of work such that work that can be done
quickly is interwoven with work that takes longer to do. Look for simple solutions to eliminate the bulges.
NOTE
Because many different scenarios can occur which cause work to proceed unevenly, it's critical that you perform an actual
analysis of the problem. The CFD will tell you that there is a problem and approximately where it is but you must investigate
to get to the root cause(s). The guidance provided here indicate recommended actions which solve specific problems but
which may not apply to your situation.
If a work item enters a Completed state and then is reactivated and moved out of that state, then any additional
time it spends in a Proposed/In Progress state will contribute to its lead/cycle time when it enters a Completed
state for the second time.
If your team uses the Kanban board, youll want to understand how your Kanban columns map to workflow states.
For more information on configuring your Kanban board, see Add columns.
To learn more about how the system uses the state categoriesProposed, In Progress, and Completedsee
Workflow states and state categories.
Scope management
By estimating remaining work of tasks for each product backlog item, teams have a good understanding of what
they can accomplish within a sprint. Because the sprint tasks represent the overall sprint scope, the sprint scope is
well defined. Anything that is not represented by a task in the sprint should be considered out of scope for the
sprint.
As the team makes progress, divergences from the ideal trend line help the team monitor divergences from scope.
1. These charts are configured by the system. You can't edit them.
2. These charts are user-configurable.
NOTE
Required permissions: You must be a team admin to add a chart to a team dashboard or homepage, or be granted
permissions to manage a dashboard. Or, if you're a member of the Project Administrators group, you can add charts to any
team's dashboards or home page.
Each time a build is run, it logs information about the build, including the run time, errors and warnings, and
whether it successfully completed or failed.
1. Select your team context and then open the Build hub to add a build history chart to a team dashboard.
If you aren't a team administrator, get added as one. The Add to dashboard menu selection is disabled when
you don't have permissions to add it to the dashboards of the selected team context.
2. Build summary charts look like this:
Hover over a bar to view build information and run time. Click a bar to go to the build summary page.
Each time a release is deployed, it logs information about the release to each of its environments. You can add a
release tile to your team dashboard to monitor release progress and gain quick access to each release.
1. Select your team context and then open the Release hub to add a release definition chart to a team
dashboard.
If you aren't a team administrator, get added as one. The Add to dashboard menu selection is disabled when
you don't have permissions to add it to the dashboards of the selected team context.
2. Release definition charts show the success (green), in progress (blue), cancellation (red), or non-deployment
(grey) to an environment for the current and last four releases:
As you create and run tests, you can track your status by defining lightweight charts of test plans and test results.
1. Select your team context, make sure you're a team admin, and if you haven't yet created the dashboard, do
that now.
2. Open the Test hub charts page and select the dashboard to add the test chart to.
You can add trends to the dashboard of the failures and duration of those tests that were run as part of a build.
1. Select your team context, make sure you're a team admin, and if you haven't yet created the dashboard, do
that now.
2. Open a build summary for a build definition to which you've added tests, open the Tests page, and click the
bar chart for either Test failures or Test duration.
3. Click the Actions menu and choose the dashboard to add the chart to.
You add work item queries and charts to a dashboard from the Queries page. Queries and charts must be
associated with queries under the Shared queries folder.
1. First, make sure you have selected your team context. Only those dashboards created for a team appear in
the context menu for each query or chart. Switch team context as needed.
2. If you aren't a team administrator, get added as one. Only team and project admins can add and customize
team dashboards.
3. If you haven't yet created the dashboard, do that now.
4. From the charts Actions menu, choose the team dashboard.
You can only add charts associated with shared queries. Charts associated with queries under My Queries
folder won't display the add to dashboard option.
Open the Markdown file defined in your repository and make sure you are in your team context.
Click Add to dashboard, and then choose the team dashboard to add the markdown file to. As you update the
Markdown file, changes will automatically appear on the dashboard upon refresh. See Dashboards for more info.
Markdown widgets
Use these widgets to support your team and stakeholders by adding information such as:
Team goals
Provide links to team backlogs or boards, metrics, or other items located in a network share such as a OneNote,
SharePoint site or wiki pages
Important dates or target deadlines
Here's an example:
NOTE
Links to documents on file shares using file:// are not supported on VSTS or TFS 2017.1 and later versions. This
restriction has been implemented for security purposes.
For information on how to specify relative links from a Welcome page or Markdown widget, see Source control relative links.
To edit a markdown widget, you must be a team admin or a member of the Project Administrators group. To be
added as a team admin, go here.
NOTE
For examples of queries based on numeric fields, see Query by numeric fields. For information on creating charts that track
test progress and results, see Track test status.
For example, the following image illustrates four different charts created from the same flat-list query. The pie
chart groups the 146 active bugs by priority, and the bar chart groups the bugs by team and their triage status.
The last two chart show two different views of the active bugs as they trend over the last two weeks.
Add and configure a query-based chart
1. From the Queries page, open the chart editor for a flat list query. You must belong to the Contributors
group to create charts. Stakeholders can view charts but not create them.
2. Select the chart type and field for grouping values. When you use pie, bar, and column charts, select a single
field to view a count of work items.
If you don't see the field you want in the Group by drop-down list, add the field as a column to the query
and save the query. You can group by any field except date-time and free-form text fields. For example:
To group by iterations, include the Iteration Path in the query or column options
To group by team, include the Area Path or Node Name in the query or column options
To group by a custom field, include it in a query clause or column options (See Customize your work
tracking experience to learn about adding a custom field)
If you receive an error message when you close the chart editor, you need to request Basic access.
3. To sort the results, choose value or label as the sort option and then ascending or descending.
4. To change a color, simply click a color on the chart and pick a new color from the color picker.
Charts automatically update when you edit the query or refresh the query results.
Stacked bar chart
A stacked bar chart lets you track progress against two field values. Node Name will display the last leaf within the
hierarchy of area paths. Use this when you want to show data across teams.
Trend chart
Trend charts let you view progress for the last one, two, or four weeks.
Burndown chart
Choose the Sum operator for Remaining Work to view a burndown chart of tasks.
Add a chart to a team dashboard
Select your option from the chart's context menu.
To add a chart to your team's home page, you must be a team administrator. You can only add charts defined for
shared queries.
To add other types of charts, such as test results and build summary charts, see Add widgets and chart to a
dashboard.
NOTE
Feature availability: For on-premises TFS 2015, you can pin charts to the team homepage. From VSTS or TFS 2015.1, you
can add charts to multiple team dashboards and get access to the widget catalog.
If you've already defined your flat list query, you can add and configure a chart to a team dashboard using the
Chart for work items widget.
1. From the web portal for VSTS, open the team dashboard you want to add the chart to.
2. Click to modify a dashboard, and then click to access the widget catalog.
If you don't see these icons, then you need to be added as a team administrator or a member of the Project
Administrators group.
3. Choose the Chart for work items widget and then click Add.
4. Click the widget's or the configure icon to open the configuration dialog.
5. Give the chart a title, select the flat list query on which the chart is based, and choose the chart type.
Based on your chart type, specify values for the remaining fields. Change a chart color simply by choosing
another color from those shown.
NOTE
All rules for configuring charts described previously in this topic apply to configuring the chart for work items widget.
6. After you save your changes, you'll see the new chart has been added to the dashboard.
7. Drag the tile anywhere on the dashboard to put it where you want it.
8. When you're finished with your changes, click to exit dashboard editing.
Related notes
Now you know how to create status and trend charts for work items. A few things to keep in mind...
To create similar charts for tests, see Track your test results
Charts you create for queries that are saved under Shared Queries are viewable by all team members and can
be added to team dashboards or pinned to a team homepage
Charts that you create for queries under your My Queries folder are visible only to you
You can copy and email the URL of any chart page to share it with a team member
For additional examples of charts created from numeric fields, see Query by a numeric field.
Also, from the web portal, you can view the following charts:
Cumulative flow diagram
Team velocity
Sprint burndown charts
Test progress and test results
Add widgets and chart to a dashboard
Widget catalog charts
NOTE
The images you see from your web portal may differ from the images you see in this topic. These differences result from
updates made to VSTS or your on-premises TFS, options that you or your admin have enabled, and which process was
chosen when creating your team projectAgile, Scrum, or CMMI. However, the basic functionality available to you remains
the same unless explicitly mentioned. For an overview of changes in the navigation experience and working within the user
and administration contexts, see Work in the web portal.
2. Select the chart type. Based on the chart, configure the fields that you want to use to group by, or for rows
and columns.
All charts roll up the information for any child test suites of the test plan or test suite that you selected.
3. Save the chart. Now it will be displayed in the charts tab for the test plan or test suite that you selected.
Test results examples
What's the test status for a specific test suite?
Select the test suite from the Test plan tab and add a test results pie chart. Group by outcome.
What's the test status for user stories that my team's testing this sprint?
If you have created requirement-based test suites in your test plan for your user stories, you can create a chart for
this.
1. Group these requirement-based test suites together in a static test suite.
2. Select this static test suite in the Test plan tab.
3. Add a test results stacked bar chart. Choose Suite as the rows pivot and Outcome as the columns pivot.
All charts roll up the information for any child test suites of the test plan or test suite that you selected.
3. Select the chart type. Based on the chart, configure the fields that you want to use to group by, for rows and
columns, or the range (trend charts only).
You can't group by test suite for the test case charts.
4. Save the chart. Now it will be displayed in the charts tab for the test plan or test suite that you selected.
Test case examples
How can I track burndown for test case creation?
Use a stacked area trend chart to view the burndown for how many test cases are ready to be run. Choose State
for the stack by field and Ascending for the sort field.
See also
FAQs for manual testing
Next step
Control how long to keep test results
9/12/2017 1 min to read Edit Online
NOTE
Feature availability: For VSTS and TFS 2017.1 and later versions, you can set dashboard permissions.
As a team admin you can set dashboard permissions for your team. As a member of the Project Administrators
group, you can set dashboard permissions for all teams.
From the Permissions tab you can grant or restrict permissions to your team members to edit and manage your
team dashboards. The default setting provides all team members permissions to edit and manage dashboards.
Related notes
Add a team administrator
Widget catalog
10/18/2017 12 min to read Edit Online
NOTE
Feature availability: You can access the widget catalog from VSTS or the web portal for TFS 2015.1 or later version. All
widgets listed below are available from the web portal for VSTS. Some widgets listed below are only available when you
connect to TFS 2015 Update 2 or later version.
With TFS 2015, you have access to a single team dashboard with which you can pin items but can't add widgets to the
dashboard. Install TFS 2015 Update 1 or later version to get access to the widget catalog and multiple team dashboards.
To determine the platform and version you're on, see Provide product and content feedback, Platforms and version
support.
Code
Code tile
Adds a configurable tile to display the summary of a code folder or Git repository. To configure, simply click the
added tile, select a repository, select a branch (Git only) and select a path. The code tile supports both TFVC and
Git repositories.
Adds a configurable tile to display active pull requests requested by the team, or assigned to or requested by
the person logged in. Select the Git repository for the pull requests of interest.
You need to add a widget for each Git repository of interest. To learn more about pull requests, see Review code
with pull requests.
NOTE
Feature availability: You can access this widget from VSTS and TFS 2017.
Displays the list of work items currently assigned to the currently logged in user. The list ignores closed or
deleted work items.
Burndown chart
NOTE
Feature availability: This widget is available for VSTS. To add it to your dashboard, you first need to install the Analyics
Marketplace extension. You can then add the widget(s) to your dashboard. You must be an account owner or a member
of the Project Collection Administrator group to add extensions.
Adds a tile that displays a burndown chart which you can configure to span one or more teams, work item
types, and time period. With it, you can create a release burndown, sprint burndown, or any burndown that
spans teams and sprints. To learn more, see Configure a Burndown or Burnup widget.
Burnup chart
NOTE
Feature availability: This widget is available for VSTS. To add it to your dashboard, you first need to install the Analyics
Marketplace extension. You can then add the widget(s) to your dashboard. You must be an account owner or a member
of the Project Collection Administrator group to add extensions.
Adds a tile that displays a burnup chart which you can configure to span one or more teams, work item types,
and time period. With it, you can create a release burnup, sprint burnup, or any burnup that spans teams and
sprints. To learn more, see Configure a Burndown or Burnup widget.
NOTE
Feature availability: You can access this widget from VSTS or TFS 2015.2 or later version. For TFS 2015.1 and earlier
versions, see Add charts to a dashboard to add shared query charts to a dashboard.
Adds a tile to display a progress or trend chart that builds off a shared work item query.
From the configuration dialog, select a shared query and specify the chart type and values.
NOTE
Feature availability: This widget is available for VSTS. To add it to your dashboard, you first need to install the Analyics
Marketplace extension. You can then add the widget(s) to your dashboard. You must be an account owner or a member
of the Project Collection Administrator group to add extensions.
Displays the cumulative flow of backlog items based on the time frame, team, backlog level and swimlane you
select.
From the configuration dialog, specify the team, backlog level, and other parameters you want.
Hover over each color within the chart to see the count of items for a particular Kanban column.
Cycle time (team-scoped)
NOTE
Feature availability: This widget is available for VSTS. To add it to your dashboard, you first need to install the Analyics
Marketplace extension. You can then add the widget(s) to your dashboard. You must be an account owner or a member
of the Project Collection Administrator group to add extensions.
Displays the cycle time of work items closed in a specified timeframe for a single team and backlog level. The
cycle time of a work item is defined as the time taken to close a work item after work on it has started.
Each marker on the chart corresponds to one or more work items with a particular cycle time. The lower the
cycle time, the faster work is progressing through your development pipeline.
NOTE
Feature availability: This widget is available for VSTS. To add it to your dashboard, you first need to install the Analyics
Marketplace extension. You can then add the widget(s) to your dashboard. You must be an account owner or a member
of the Project Collection Administrator group to add extensions.
Displays the lead time of work items closed in a specified timeframe for a single team and backlog level. The
lead time of a work item is defined as the time taken to close a work item after it was created.
Each marker on the chart corresponds to one or more work items with a particular lead time. The lower the lead
time, the faster work is being delivered to the customer.
Enables you to add work items from the dashboard. You use work items to plan and track work.
Work items that you add using this widget are automatically scoped to the team's default area path and the
team's current sprint (TFS) or the default iteration (VSTS). To change team defaults, see Set team defaults.
Other links (team-scoped)
View project portal (opens either a SharePoint site or URL that's been configured as the team project's
portal.
View process guidance (opens either a SharePoint site or URL that's been configured as the team project's
process guidance.
View reports (opens SQL Server Reporting Services). To add or update reports for a team project, see Add
reports to a team project.
Query results
Adds a configurable tile that lists the results of a shared query. From the configuration dialog, select either a
team favorite or shared query.
To create a shared query, see Use the query editor to list and manage queries.
Query tile
Adds a configurable tile to display the summary of a shared query results. From the configuration dialog, select
either a team favorite or shared query. You can optionally specify rules to change the query tile color based on
the number of work items returned by the query. To create a shared query, see Use the query editor to list and
manage queries.
Adds the team's burndown chart for the current sprint to the dashboard. This chart always displays data for the
current sprint. Teams use the burndown chart to mitigate risk and check for scope creep throughout the sprint
cycle.
Inserts the team's capacity bar chart for the current sprint. Teams specify their capacity to plan and monitor
their sprint resources.
For VSTS, inserts a configurable overview of sprint progress. You can choose between a count of story points or
number of work items.
For on-premises TFS, inserts a visual overview of sprint progress indicating the number of backlog items in
progress, completed, or not started.
Teams plan their sprints by defining sprints and assigning backlog items to an iteration.
Velocity (team-scoped)
NOTE
Feature availability: This widget is available for VSTS. To add it to your dashboard, you first need to install the Analyics
Marketplace extension. You can then add the widget to your dashboard. You must be an account owner or a member of
the Project Collection Administrator group to add extensions.
The velocity widget tracks a team's capacity to deliver work sprint after sprint. You configure the widget by
selecting a team, a work item type, an aggregation field, and the number of sprints. The widget takes advantage
of the Analytics service. You can track the velocity for a single team, not multiple teams.
For additional guidance, see Velocity.
NOTE
Feature availability: You can access this widget from VSTS or TFS 2015.2 or later version. For TFS 2015.1 and earlier
versions, see Add charts to a dashboard to add a build summary chart to a dashboard.
Adds a tile to display a histogram of all builds run for the configured build definition. From the configuration
dialog, select the build you want to monitor. Hover over a bar to learn how long the build took to complete.
Click the bar to open the summary for that specific build. Bar color indicates: green-completed, red-failed, and
yellow-completed without tests.
NOTE
Feature availability: You can access this widget from VSTS and TFS 2017.2 and later versions. For TFS 2015.1 and
earlier versions, see Add charts to a dashboard to add other supported chart types to a dashboard.
Adds a configurable widget that lets you track the progress of test case authoring or status of test execution for
tests in a test plan. Get started by selecting a test plan and a test suite. Then select test case chart for test
authoring progress or test results for test execution progress. Finally, select the chart type and the pivots.
To learn more, see Track your test results.
Deployment status
NOTE
Feature availability: You can access this widget from VSTS or TFS 2017.1 or later versions.
Configurable widget that shows a consolidated view of the deployment status and test pass rate across multiple
environments for a recent set of builds. You configure the widget by specifying a build definition, branch, and
linked release definitions.
To learn more, see View and manage releases.
NOTE
Feature availability: You can access this widget from VSTS.
Configurable widget that you can use to view and track the status of a release definition. The widget shows the
release as a series of environments, with the name of the release and the date or time it was started. The color
of the heading and the icon in each environment indicate the current status of the release, which are the same
as are used on the Releases page. Select a release definition in the left column to filter the list to just releases
for that definition. To learn more, see Add release information to the dashboard.
Requirements quality
NOTE
Feature availability: You can access this widget from VSTS or TFS 2017.
Configurable widget that you can use to track quality continuously from a build or release definition. To learn
more, see Associate automated test results with requirements.
NOTE
Feature availability: You can access this widget from VSTS or TFS 2017.
Adds a configurable tile that displays the trend of test results, such as passed or failed tests, for the selected
build definition.
From the configuration dialog, select the build whose test results you'd like to monitor. Then, choose the type of
chart you want displayed. You can track the trend of test duration by adding an optional line chart.
To learn more about creating charts for tracking test results, see Review continuous test results after a build.
NOTE
Feature availability: You can access this widget from VSTS or TFS 2017 or later version.
Adds a configurable tile to display the contents of a web page. Only webpages that allow iframe embedding are
supported.
Markdown
NOTE
Feature availability: For VSTS and TFS 2015.2 or later versions, you can configure the widget to point to a file stored in
your repository.
Adds a configurable tile to display any type of information, guidance, or links that you want. From the
configuration dialog, add the information you want to share with your team.
To learn more, see Add Markdown to a dashboard.
Sows team member profiles and, on-hover, their user account alias. For team admins, supports access to the
quick dialog to add or remove team members.
NOTE
This widget is a convenient way to add team members to specific teams within projects. If you remove it, you can still add
members to your team from the team administration page.
Provides status and access to team rooms. Team rooms support increased team productivity by providing a
space to discuss work in progress, ask questions, share status, and clarify issues that arise. Team administrators
can create additional team rooms.
Provides links to open or download Visual Studio. The Visual Studio IDE client comes with the Team Explorer
plug-in which provides quick access to several features (some of which aren't available through the web portal).
Welcome
Provides links to the Work, Code, and Build hubs and reference documentation on how to add charts.
Related notes
These represent the basic widgets. Look forward to more widgets becoming available in the coming months.
Marketplace widgets
You may find additional widgets of interest from the Marketplace.
If your account or project collection administrator disables a marketplace widget, you'll see the following image:
To regain access to it, request your admin to reinstate or reinstall the widget.
Extensibility
Using the REST API service, you can create a dashboard widget. To learn more about the REST APIs for
dashboards and widgets, see Dashboards.
Syntax guidance for Markdown files, widgets, wikis,
and pull request comments
10/21/2017 9 min to read Edit Online
Headers
Structure your comments using headers. Headers segment longer comments, making them easier to read.
Start a line with a hash character # to set a heading. Organize your remarks with subheadings by starting a line
with additional hash characters, for example #### . Up to six levels of headings are supported.
Example:
# This is an H1 header
## This is an H2 header
### This is an H3 header
#### This is an H4 header
##### This is an H5 header
Result:
Result:
Add lines between your text with the return key
This spaces your text better and makes it easier to read.
Example - markdown file or widget:
Result:
Add two spaces prior to the end of the line.
This adds space in between paragraphs.
Quotes
Quote previous comments or text to set context for your comment or text.
Quote single lines of text be putting a > before the text. Use multiple > characters to nest quoted text. Quote
blocks of lines of text by using the same level of > across multiple lines.
Example:
Result:
Horizontal rules
Add a horizontal rule by adding a new line that's just a series of dashes --- . There must be a blank line above the
line containing the --- .
Example:
above
----
below
Result:
above
below
Lists
Organize related items with lists. You can add ordered lists with numbers, or unordered lists with just bullets.
Ordered lists start with a number followed by a period for each list item. Unordered lists start with a - . Begin each
list item on a new line.
Example:
1. First item.
2. Second item.
3. Third item.
Result:
1. First item.
2. Second item.
3. Third item.
Example:
- Item 1
- Item 2
- Item 3
Result:
Item 1
Item 2
Item 3
Links
In pull request comments and wiki, HTTP and HTTPS URLs are automatically formatted as links. Also, within pull
requests, you can link to work items by typing the # key and a work item ID, and then choosing the work item from
the list.
In markdown files and widgets, you can set text hyperlinks for your URL using the standard markdown link syntax:
When linking to another Markdown page in the same Git or TFVC repository, the link target can be a relative path
or an absolute path in the repository.
Supported links for Welcome pages:
Relative path: [text to display](./target.md)
Absolute path in Git: [text to display](/folder/target.md)
Absolute path in TFVC: [text to display]($/project/folder/target.md)
URL: [text to display](http://address.com)
NOTE
Links to documents on file shares using file:// are not supported on VSTS or TFS 2017.1 and later versions. This
restriction has been implemented for security purposes.
For information on how to specify relative links from a Welcome page or Markdown widget, see Source control relative links.
Example:
Result:
C# language reference
Source control relative links
Links to source control files are interpreted differently depending on whether you specify them in a Welcome page
or a Markdown widget. The system interprets relative links as follows:
Welcome page: relative to the root of the source control repository in which the welcome page exists
Markdown widget: relative to the team project collection URL base.
For example:
/BuildTemplates/AzureContinuousDeploy.11.xaml /DefaultCollection/Fabrikam
Fiber/_versionControl#path=$/Tfvc
Welcome/BuildTemplates/AzureContinuousDeploy.11.xaml
./page-2.md /DefaultCollection/Fabrikam
Fiber/_versionControl#path=$/Tfvc Welcome/page-2.md
Anchor links
Within Markdown files, anchor IDs are assigned to all headings when rendered as HTML. The ID is the heading text,
with the spaces replaced by dashes (-) and all lower case.
Example:
Result:
The syntax for an anchor link to a section...
[Link to a heading in the page](#link-to-a-heading-in-the-page)
The ID is all lower case, and the link is case sensitive, so be sure to use lower case, even though the heading itself
uses upper case.
You can also reference headings within another Markdown file:
[text to display](/page-name#section-name)
Images
Add images and animated GIFs to your pull request comments, markdown files, or wiki pages to highlight issues
or just to liven the discussion.
Use the following syntax to add an image:

The text in the brackets describes the image being linked and the URL points to the image location.
Example:
Result:
The path to the image file can be a relative path or the absolute path in Git or TVFC, just like the path to another
Markdown file in a link.
Relative path:

Absolute path in Git:

Absolute path in TFVC:

Resize image:

NOTE
Feature availability: The syntax to support image resizing is only supported in pull requests and the Wiki.
Tables
Organize structured data with tables. Tables are especially useful for describing function parameters, object
methods, and other data that has a clear name to description mapping.
Place each table row on its own line
Separate table cells using the pipe character |
The first two lines of a table set the column headers and the alignment of elements in the table
Use colons ( : ) when dividing the header and body of tables to specify column alignment (left, center, right)
Make sure to end each row with a CR or LF.
Example:
Result:
- [ ] A
- [ ] B
- [ ] C
- [x] A
- [x] B
- [x] C
Result:
Emphasis (bold, italics, underscore)
You can emphasize text by applying bold, italics, or strikethrough to characters:
To apply italics: surround the text with an asterisk * or underscore _
To apply bold: surround the text with double asterisks ** .
To apply strick-through: surround the text with double tilde characters ~~ .
Use _emphasis_ in comments to express **strong** opinions and point out ~~corrections~~
**_Bold, italizied text_**
**~~Bold, strike-through text~~**
Result:
Use emphasis in comments to express strong opinions and point out corrections
Bold, italizied text
Bold, strike-through text
Code highlighting
Highlight suggested code segments using code highlight blocks. To indicate a span of code, wrap it with three
backtick quotes ( ``` ) on a new line at both the start and end of the block.
Example:
```
$ sudo npm install vsoagent-installer -g
```
Result:
Within a markdown file, text with four spaces at the beginning of the line automatically converts to a code block.
Set a language identifier for the code block to enable syntax highlighting for any of the supported languages.
```language
code
```
Additional examples:
```js
const count = records.length;
```
js
const count = records.length;
```csharp
Console.WriteLine("Hello, World!");
```
csharp
Console.WriteLine("Hello, World!");
Emoji
In pull request comments and wiki pages, you can use emojis to add character and react to comments in the
request. Type in what you're feeling surrounded by : characters to get a matching emoji in your text. The full set
of emojis are supported.
Example:
:smile:
:angry:
Result:
Special characters
SYNTAX EXAMPLE/NOTES
To insert one of the following characters, prefix with Some examples on inserting special characters
a backslash: Enter \\ to get \
\ backslash Enter \_ to get _
` backtick
Enter \# to get #
_ underscore
{} curly braces
Enter \( to get (
[] square brackets Enter \. to get .
() parentheses
Enter \! to get !
# hash mark
+ plus sign
- minus sign (hyphen)
. dot
! exclamation mark
Attachments
In pull request comments and wiki pages, you can attach files to illustrate your point or to give more detailed
reasoning behind your suggestions. To attach a file, drag and drop it into the comment field or wiki page edit
experience. You can also select the paper-clip icon in the upper-right of the comment box or the format pane in
wiki page.
If you have an image in your clipboard, you can paste it from the clipboard into the comment box or wiki page and
it will render directly into your comment or wiki page.
Attachments support the following file formats:
Images: PNG (.png), GIF (.gif), JPEG (both .jpeg and .jpg)
Documents: Word (.docx), Excel (.xlsx), and Powerpoint (.pptx), text files (.txt), and PDFs (.pdf)
Compressed files: ZIP (.zip) and GZIP (.gz)
Video files: MOV (.mov), MP4 (.mp4)
Attaching non-image files creates a link to the file in your comment. Update the description text between the
brackets to change the text displayed in the link. Attached image files render directly into your comment or wiki
pages.
Once you save or update a comment or wiki page with an attachment, you can see the attached image(s) and can
select links to download attached files.
HTML Tags
In wiki pages, you can also create rich content using HTML tags.
Example - Embedded video
<video src="<path of the video file>" width=400 controls>
</video>
Result:
Result:
This text needs to strikethrough since it is redundant!
This text is teletype text.
Colored text
This text will be center-aligned.
This text contains superscript text.
This text contains subscript text.
The project status is GREEN even though the bug count / developer may be in red. - Capability of span
Disclaimer: Wiki also supports showing small text
Bigger text
Related notes
Project vision page or Welcome pages
Readme files
Pull requests
Markdown widget
Dashboards
Widget catalog
Wiki