This chapter aims to guide you through creating dashboards for your team from information that exists in Team Foundation Server (TFS). We'll also take a lap around welcome pages and how they work. We will cover pinning of the following data to dashboards and how to move pinned data around on the dashboard:
Work item status: Here, we'll cover the pinning of work item query counts and charts
Recent source code changes: Here, we'll cover pinning a count of recent code changes
The build status: Here, we'll cover pinning charts showing the build time and if they pass or fail
Testing charts: Here, we'll cover pinning test related information like test status
We'll assume that you have access to TFS 2015 and have all the permissions required to create and modify various kinds of data in the team project that you are using. We'll also assume that you currently have some data that you are able to use for the samples.
In order to pin the kind of data you want to your home page, you will need to either have Edit project-level information permissions for the project or be a Team Administrator of the team that you are trying to pin data for.
Note
Note that if you have the Edit collection-level information permissions, this will not enable you to pin data to the team's home pages.
In addition to having these permissions, you will obviously need permissions to the kind of data you want to pin, for example, work item status, testing charts, and more.
The Team Dashboard is the landing page of a team. To get there, navigate to the HOME hub in the main navigation and then the Overview tab in the subnavigation. If you have a new team that has no activity yet, your dashboard will look something like this:

Figure 1: A default empty dashboard
The top section of the dashboard will begin to light up as your team starts work. The bottom part of the dashboard is where you can pin your own tiles for information that you may find useful for your team.
In TFS, you are able to create queries using Work Item Query Language (WIQL) over all the work items in your team project collection. From these queries, you are able to pin some information to your dashboard to surface the results of those queries. There are two types of work item query data that you can pin to your dashboard:
Navigate to a query and click on the little arrow to the left of the query item in the query explorer. This will pop up a context menu. Click on Pin to homepage, as shown in this screenshot:

Figure 2: Pinning a query to the dashboard
After you have clicked on Pin to homepage, you will notice that the query now has a pinned icon next to it.
Note
This is slightly different from TFS 2013, where you would add queries to Team favorites and then that would make them show up on the team's dashboard.
Now, if you navigate back to the dashboard by clicking on HOME and then on Overview (if it is not open by default already), you will notice that there is a new tile on the dashboard for this query.
Blue tiles are for queries, and they display a count of the work items returned from a particular query. These tiles are clickable and will take you to that query in the queries tab if you click on them.
Before we can pin a query chart to the dashboard, we need to create the chart.
The easiest way to do this is by clicking on the tile on the dashboard from the query that we created earlier. This will take us to the query results view. Click on Charts, as follows:

Figure 3: Query results
You will notice that by default, there are no charts for a query. To create a new chart, click on the New Chart button, as shown here:

Figure 4: Creating the first chart
This will open up the CONFIGURE CHART dialog, as shown in the following screenshot:

Figure 5: The CONFIGURE CHART dialog
You are able to select how the chart orders its values. Commonly, this is ordering by Value or Label. For this field I prefer using label, the main reason being that when it's pinned, it's easier to consume the information in the charts because the same label value appears in the same place in the chart. In the case where the chart would be consumed once off, it would be a better solution to sort by value.
Note
The options that show up in the drop-down lists, such as Group by in the Pie, Bar and Column charts, come from the columns that are shown in your query. So, if you have a custom field, such as Department, and you want to use that field in your chart, you will need to make sure that it is visible in the query results.
For now, we have all the columns we need, so let's select State for Group by, add by State to our title, and then click on OK, like this:

Figure 6: Saving a pie chart that is grouped by State
Now, we have created a chart and it shows as a saved chart for this query. From here, we can simply click on the ellipsis and then click on Pin to homepage, as shown in this screenshot:

Figure 7: Pinning the chart to the home page
Visually, nothing will change on this page, letting you know that it is now on the home page. However, if you click on the ellipsis again, you will see that it now says Unpin from homepage, like this:

Figure 8: Unpinning a chart from the home page
If we navigate back to the home page now, we will see that our chart is visible as well.
You pinned a basic query and a basic chart to the dashboard, but you can imagine with the various chart types available how much insight this can give to a team with just a glance on their dashboard. You can get more information about charts from MSDN by going to https://msdn.microsoft.com/Library/vs/alm/Report/charts.
I've often worked in teams in which there is a component that is important to their project, such as a framework or a regulated service, and even you would find that people often keep checking the history of such a component to see whether there have been any changes recently that may not have been communicated yet.
Luckily, with TFS, you can pin any folder from the source control to your dashboard. Navigate to the CODE hub and make sure that the Explorer tab is selected. From there, click on the arrow to the left of any folder and then click on Pin to homepage, as shown here:

Figure 9: Pinning code to the home page
Again, you'll notice that there is a little pinned icon next to the folder that indicates that it is pinned.
Navigating back to the dashboard, you will notice a purple tile with the count of recent code changes.
You can pin any level of your source control to your home page; for example, you can pin the entire repository (as we did earlier for our Git repository), or specific folders that you care about (say, a security library folder).
With builds, we get a much nicer pinned experience—in my opinion—than with the other areas where we can pin data. Navigate to the BUILD hub.
Now, similarly to the recent code changes in the build explorer panel on the left, click on the arrow and then click on Pin to homepage, as shown here:

Figure 10: Pinning a build to the home page
As with recent code changes, this will show you a little pinned icon next to the build item.
If we navigate back to the home page, we will now see a nice tile that shows passed/failed and the duration of builds for the pinned build.
You can pin both old XAML-style builds and the new type of builds to the dashboard.
As with work items, test suites also have charting capabilities under the TEST hub. Navigate to the TEST hub.
From here, click on the Charts tab of any test suite, as shown in the following screenshot:

Figure 11: The Charts tab of a test suite
You will notice that for test suites, you are able to add charts that have two kinds of data sources. One type is the test case information, which is similar to the work item information but with data that is specific to test cases, and the other type is from the test case results, which give you data such as tests passed and failed.

Figure 12: Test case chart data option types
We can follow the same procedure as with the work item charts to pin this; just click on the ellipsis and then on Pin to homepage. Again, nothing will visually tell you that this chart is pinned, but you can navigate to the home page and you will see this very chart being displayed there.
So far, we have pinned a bunch of tiles to the dashboard and it currently looks very messy, with gaps between some of the tiles, like this:

Figure 13: The Team Dashboard after just pinning the tiles
Now, obviously there is a way to rearrange these items and it is simple—just drag them around. Give it a try; drag the build tile between the work item query count and recent changes tiles, and then place the work item and testing chart next to each other.

Figure 14: Pinned tiles that can be arranged
As you can see, the rearranged tiles are a lot more effective, as there isn't a bunch of white space in between them.
New to TFS 2015 are welcome pages as well. If you have used GitHub before, then you'll be familiar with markdown. GitHub does a really good job at explaining all the features of markdown at https://guides.github.com/features/mastering-markdown/. TFS uses markdown in a couple of places, one of them being its welcome pages.
The welcome pages are on the teams' home pages. You can navigate to them by clicking on the HOME hub and then on the Welcome tab.
Once you are there, you will see on the left-hand side a list of all your repos for the current team project, as shown here:

Figure 15: A list of repositories and default markdown page
If you have a README.md
file in your repository, it will be displayed when you click on that repository. If you don't have a README.md
file, a default markdown will show you what you might have there. Then, if you want to create one, you can simply click on Edit and then alter the markdown. After you have clicked on Save, a README.md
file will be added to that repository.
Markdown files are a great way of creating documentation for your code. Some of the best reasons you'd want to do this are that it's easy to do and the markdown sits with your code, so it gets versioned with your code. This allows you to make comparisons in the documentation files as you would with any other code to see what has changed through various versions.
In this chapter, we took a lap around what can be pinned to a home page. We walked through pinning work item queries and charts created off work item queries to a home page. Then we looked at how to pin recent code changes, build statuses, and test case charts to the home page. Finally, we had a brief overview of what welcome pages are, what they are used for, and how we can use them.
In the next chapter, we'll be covering team boards in TFS and how we can customize them.