Everything you want to know about Visual Studio ALM and Farming
Brian Harry is a Microsoft Technical Fellow working as the Product Unit Manager for Team Foundation Server. Learn more about Brian.
More videos »
This is the second in the set of 3 TFS 2010 feature posts around project management. The first was on Work Item Tracking enhancements. This one is on general project management improvements that I can’t fit into a category :) And the third will be on Reporting improvements – with a focus on report authoring/customization. Again, there are gray areas of overlap so please bear with me.
We’ve made some big strides to improve the TFS project management experience in TFS 2010. Much of it is built on the new work item tracking improvements I talked about in the last post.
We’ve made a number of improvements in the integration between the Microsoft Project client and TFS.
Excel has some very powerful capabilities for manipulating and presenting data. Formulas, conditional formatting and macros give you an amazing ability to have data quickly and easily tell a story. In the past, you have been limited in your ability to use this power with TFS bound spreadsheets because any customizations you made would be erased when you refreshed the data from TFS. That’s a pretty big impediment to any real investment in customizing the data presentation. In TFS 2010, that changes. We now preserve all of your spreadsheet customizations across refreshes making much more powerful spreadsheets practical. Here’s an example of some cool things you can do with just conditional formatting…
In previous versions of TFS, I have to admit that the Sharepoint portal we created was not as compelling as I’d like. It served as a great place to host a document library and if you invested time in building it out, it could make a great portal but we didn’t provide a lot out of the box. That has all changed in TFS 2010. We’ve really created some nice default portal experiences and focused on making customizing it really easy too. I’ll point out the things I think are really cool and you can look at the screenshot of the default view below to see for yourself…
Layout – As you can see it’s just a nice attractive site layout (as opposed to the old defaults :)). It exposes handy sharepoint features like Wiki Pages (on the left nav bar) and a calendar (important Dates on the right side). You’ll also notice TFS functionality like goto work item in the upper right hand corner. And the “Portals” drop down on the top left allows you to easily navigate to the portals for other Team Projects.
Web Parts – Many of the key pieces of Team System Web Access have been turned into web parts that can be used inside the Sharepoint portal. Down the right hand side you can see the work item summary, Recent Builds and Recent Checkins web parts. In the lower center, you can see a Product Backlog which is a query results web part. You can put as many of them as you like on your portal and each can be bound to different queries and configured for different columns, etc. They also allow easy access to common work item tracking functionality, like adding a new work item, editing an existing work item, etc.
Customization – We’ve focused on making the dashboards much easier to customize. Notice things like the “Site Actions” in the upper right and the “Copy Dashboard” button to create a new copy of the current dashboard to begin customizing. Lastly and definitely not least, notice the “My Dashboard” under Dashboards on the left. By default, we create a dashboard that is designed to be customized by each user to show the information that they care most about. Of course, this is built on top of standard Sharepoint personalization services. I’ve included a screen shot of the default “My Dashboard” after the default Project Dashboard below.
Team System Web Access integration – In 2010 Team System Web Access still exists and has been fully integrated into the product. You will notice the Web Access link on the left navigation panel. That link takes you to Team System Web Access. Although much of the TSWA functionality is now available as web parts in Sharepoint, not all of it is. Further, we’ve gotten feedback from a segment of our audience that they prefer a non-Sharepoint based web access method for some of their users. What we end up doing with this duality long term is still up in the air but for now both are continuing forward.
I apologize that the charts have no data in them but I pulled this off my server and I haven’t had a chance to populate it with enough real looking data.
One last point on customization – All of the web parts (in both dashboards) can be customized extensively. I’m not going to show them all, you can experiment with that yourself, but here is an example of what some of the customization properties for the “Recent Builds” web part look like…
And, if all that wasn’t cool enough … If you use Microsoft Office Sharepoint Server (MOSS) instead of just plain Sharepoint, the overall experience is even better! When TFS creates a Sharepoint portal for a Team Project, it detects whether you have configured it against plain Sharepoint or MOSS. If it’s MOSS, TFS installs a richer portal (because there’s some great MOSS features that we can easily take advantage of). Here are some of the key advantages of the MOSS dashboards and some screenshots to go with them…
More dashboards – The first thing to note is that there are 4 dashboards (Work Progress, Product Quality, Test Progress and Build Quality) rather than the one Project dashboard. Why? Because MOSS allows us to use Excel Services to author reports and Excel Services is soooo much easier for writing reports that we are more productive with it and can provide more detailed dashboards.
KPIs – You can see on the upper right an additional KPIs web part that enables you to define and track key metrics for your project.
Customization – Oh, did I mention Excel Services? It’s really nice. In addition to allowing us to provide you more dashboards, it makes customizing them much easier for you too.
And I don’t have a screen shot of the Build Quality dashboard handy so you will have to install it to see it yourself :)
Please note we are still doing some refining of these dashboards so this may not be exactly how they look when we ship.
SCRUM has become an increasingly popular Agile project management approach and as it has grown, we’ve gotten feedback from customers that they’d like a more direct way to deal with TFS using SCRUM. Enter the Agile workbooks. While not tied directly to SCRUM, they are very close and can be used for a variety of iterative planning techniques. The Agile workbooks are made up of two Excel workbooks called “Product Backlog” and “Iteration Backlog”. As you might guess, the product backlog workbook is designed to help you manage your overall product back log and plan. The iteration backlog workbook is designed to help you plan and manage an iteration.
What I’m going to show you here is actually not quite what you are going to see if you download and install Beta 1. After Beta 1 was locked down, we did a usability study on the workbooks and found a number of ways they could be improved to make them easier to use and understand. So what I’m showing you is pretty close to what the workbooks will look like for Beta 2 and RTM. Sorry about that but given these blog posts tend to live quite a long time, I’m going to optimize for the final result rather than the current Beta 1 deliverable. However, many/most of the concepts still apply to what is in Beta 1 it’s just organized better.
If you install TFS 2010, you will find the Agile workbooks in the project portal's document library under Shared Documents and the Iteration 1 sub folder. You will also find templates under Samples and Templates\Project Management.
Let’s start with the Product Backlog. It has 3 tabs in it:
Product Backlog for the list of user stories/scenarios on the backlog.
Iteration Planning for a high level view of your project’s iterations.
Interruptions to capture holidays and other notable project wide interruptions.
The second workbook is the Iteration Planning workbook and has 5 tabs:
Iteration Backlog helps you manage the list of work remaining and pick off work to be done in this iteration.
Settings sets properties of the iteration you are planning.
Interruptions captures the planned interruptions (but this time at the individual team member level).
Capacity helps you manage the capacity of both individuals and the team as a whole. This will help you a great deal with load balancing.
Burndown helps you visualize progress on the iteration.
We think the Agile workbooks will be a great solution for people who want very simple, very light weight iteration based project planning and management.
This release will be bringing a MAJOR rev of the MSF Agile Process template. We’ve gotten a lot of feedback over the last couple of years on how we could improve it and we’ve taken it to heart. Here’s some of the things we’ve done:
Terminology – In general, we have adopted common Agile community terminology (Backlog, User Story, Story Points, etc) and moved away from Microsoftish terminology. Of course the Agile community is broad and diverse so even there, there isn’t always consistency. In general, we tended towards SCRUM terminology.
Simplification – We’ve simplified the work item forms, focusing more on the stuff that is immediately relevant. We’ve eliminated fields people didn’t care much about. We’ve also eliminated some work item types that the Agile community doesn’t make much use of: Risk and Quality of Service Requirement.
Scenario –> User Story – We’ve moved to the Agile User Story model, including tracking User Story size as “Story Points”.
Hierarchy – Added hierarchical relationships so that User Stories can be decomposed into tasks and tasks can be decomposed into subtasks.
Improved reports – Reports are much nicer. See the section below on Reports. In particular, we added the burn down report that everyone has been asking for.
Testing support – We’ve added the new Team System testing tools as first class support. The process template contains a Test Case work item type and other features to enable great integration.
Guidance rewrite – We’re really taking a crack at improving the guidance. We’ve engaged some of the experts in the Agile community (like Jeff Sutherland and Mitch Lacey) to help us create some guidance that will really speak to Agile practitioners. The new guidance won’t show up until Beta 2 though.
Here’s some high level screenshots of some of the new work item forms:
Where as the Agile template is getting a major overhaul, the CMMI template is getting more of a facelift. None of the CMMI changes that I mention here will be available until Beta 2 (we’re just finishing them right now). Most of the work going into the CMMI template is to update it to use the new Team System features. Here’s a picture of the new CMMI information model and the supported relationship types.
In addition to that:
CMMI 1.2 compliance – We’ve updated the guidance to support CMMI 1.2 compliance (the old version was 1.1 compliant).
Two new requirement types – We’ve added Business Objective and Feature to the existing set of requirement types.
Improved reports – We’ve made the reports much nicer. See the section below on Reports.
We’ve made a big investment in reporting in this release. Although my whole next post is going to be about reporting (mostly how much better we made it to author/customize reports), this post will touch on the new reports that we’ve built for you. There’s way too many of them for me to show them all here, so you’ll need to try it out yourself to see them all. However there are few high level points to make:
Much more attractive and powerful – Taking a dependency on SQL 2008 allowed us to leverage the new reporting capabilities there. The result is reports that are much more visually attractive and can represent much more complex data relationships.
Self explanatory – We put a lot more content into the reports to help you understand what the report is intended to tell you, what data you are looking at and generally give much better context for interpreting the report.
New Excel reports – For the first time, some of our reports are authored as Excel workbooks. If you use MOSS for your portal, you can host them there, otherwise people can open them in Excel. The primary advantage of this is that although they are a bit less powerful than Reporting Services, they are much easier to customize.
Just to give you a view of all the reports we’ve included, here are some screenshots of them in Team Explorer:
Just as a teaser, I’ll include a few reports here for you to see and then you can check out the rest yourself…
Burndown (in Excel):
Bug Status (in Excel):
Well, that turned out to be even longer than I expected. There’s so much new project management stuff it’s amazing. The 2010 release is really going to make TFS the premier tool for managing software development projects. And in partnership with MS Project and Project Server the set of tools can tackle just about any scope of project management.