Inside TFS: Improving Project Management
An Overview of Project Management with Team Foundation Server 2010.
Managing a software development project takes a lot of skills and resources. A project manager needs to have an understanding of what is happening in the project, the current status of all outstanding items, and the ability to forecast and trend if the project is on track. Team Foundation Server 2010 is geared to help project managers with all these aspects.
Project managers have a lot to cheer about with Team Foundation Server 2010. We could write a whole series of articles detailing the ins and outs of how Team Foundation Server 2010 supports project management. However, in this column, we are going to take a high level look at three major areas that are going to appeal to project managers: Hierarchical Work Items, Dashboards and Reports.
Hierarchical Work Items
Hierarchical work items have been asked for since Team Foundation Server 2005 was first released. The ability to link work items together to show task decomposition enhances the effectiveness of project managers. Using hierarchical work items, they are able to take high level tasks and break them into subtasks, and those subtasks into subtasks, to as deep a level as desired. The process templates that come out of the box with Team Foundation Server 2010 automatically support these types of work items, and this support can also be added to any custom process templates an organization might have.
Helping this process along is the idea of Custom Link Types. Previous to the 2010 release, there was only one link type, called "Related". This link type allowed you to associate two work items, but didn't give you any contextual information, such as is the relationship a parent/child relationship. With work items in TFS 2010, you get several different link types out of the box, such as the Tests/Tested By link type. And as a project manager, you can define your own custom link types, to handle the specific contexts of your project.
With all these new relationships and link types that can be defined, we need a new way to view this information. A new Links Control has been created for use on Work Item forms. This is a handy new control for interfacing with all the different link types. You can have as many of them on a form as you would like, and they can be configured to pull field information from the target work items and render it as columns in the control, so you don't have to open the actual work item to view critical data. Figure 1 shows an example of this control on a Task work item, under the Implementation tab.
[Click on image for larger view.]
Work item queries have also been updated to display work items in a tree view, giving project managers a graphical representation of the hierarchy of work items. Figure 2 shows an example of the type work item queries you can create to display this graphical view.
Most project managers are used to working with Microsoft Excel or Microsoft Project to manage the work that needs to be done. Team Foundation Server 2005/2008 supported this, and Team Foundation Server 2010 does as well, with a couple of new added features.
Microsoft Excel and Microsoft Project both support the use of hierarchical work items. In Microsoft Excel, the work item hierarchy is represented as multiple "Title" columns. The ribbon in Excel has also been updated with buttons to access some of the work item Tree features. Figure 3 shows the same query as shown in Figure 2, but displayed in Microsoft Excel. Work item hierarchy is also displayed in Microsoft Project, as tasks nested under other tasks. One nice feature about pulling hierarchical work items into Microsoft Project is the ability to calculate rolled up scheduled duration information.
Microsoft Excel has also made some enhancements regarding formula and formatting persistence. Before Team Foundation Server 2010, any customizations you made to your TFS bound spreadsheets would disappear when you refreshed data from TFS. With Team Foundation Server 2010, all spreadsheet customizations are preserved during refreshes. This allows project managers to modify their spreadsheets with colors and formulas and other formatting, making them much more powerful and practical.
Team Foundation Server 2005/2008 had a Sharepoint portal, which was useful for storing documents, but didn't provide much value out of the box. Project Managers will find a lot of value in the out of the box portal provided by Team Foundation Server 2010, and the ease with which it can be customized. You can see in Figure 4 the default view of the project portal.
The default view is the Project Dashboard, which shows the Task Burndown and Burn Rate reports, as well as information on the product backlog, changeset information, and build information. There is also the My Dashboard view, allowing users to customize a dashboard to their personal specifications, to show the information and reports they care about the most.
One nice thing about the project portal is that it can be completely customized, and the customization is much easier to perform. Many parts of Team System Web Access have been created as web parts, which can be easily added to your project portal. And the web parts themselves can also be customized to drill down into the specific information a project manager may care about at the time. By customizing the project portal, the project manager can turn it into an incredibly useful tool for providing information and status about the current project.
One final note on the project portal: If you are using Microsoft Office Sharepoint Server (MOSS), you get an even better experience. You get several different dashboards, as opposed to just the one Project Dashboard. You also get a Key Performance Indicator web part that displays key metrics about the project. Customization of the project portal is much easier as well, due to the use of Excel Services.
Knowing what is going on with a project, when a project might be in trouble, and where that trouble is, are things a project manager is responsible for. Reports allow project managers to easily view, consume, and understand all the data contained in the work item tracking system. Team Foundation Server ships with a variety of SQL Server Reporting Services reports for viewing information on Bugs, Builds and Tests, as well as project management specific reports. Figure 5 shows a screenshot of the out of the box SSRS reports available. You also have the ability to create your own SSRS reports as well, and load them into the team project.
Another reporting option for project managers is Microsoft Excel reports. The MSF Agile process template for Team Foundation Server 2010 makes heavy use of these, and includes 22 different spreadsheets that can be used to analyze, track and understand data from the work item tracking system.
Managing a project, regardless of the size, can be a painful and difficult process. Team Foundation Server 2010 aims to help alleviate that through some of its new and enhanced features. By utilizing hierarchical work items, the project portal dashboards and the various reporting options, project managers are able to stay on top of what is happening with their projects, track the status of project milestones and handle roadblocks and issues that may occur.
Mickey Gousset spends his days as a principal consultant for Infront Consulting Group. Gousset is lead author of "Professional Application Lifecycle Management with Visual Studio 2012" (Wrox, 2012) and frequents the speaker circuit singing the praises of ALM and DevOps. He also blogs at ALM Rocks!. Gousset is one of the original Team System/ALM MVPs and has held the award since 2005.