Inside VSTS

Rosario: The Future of Work Items

Work item hierarchies have finally come into their own in the latest Rosario CTP.

We've talked about the Visual Studio Team System's work item tracking system in past columns. It's a powerful yet easy-to-use and extensible way to keep track of all the "stuff" that needs to be done for a project. However, one feature missing from Team System was the ability to create hierarchical work items.

What exactly do we mean when we say hierarchical work items? Here's a simple example: Let's assume you have a work item type called Requirement. A Requirement can be broken down into several different Task work items. In Team Foundation Server, showing an association between your Requirement work item and its associated Task work items requires you to create a link between the Requirement and each Task.

This functionality was available in both the 2005 and 2008 versions of TFS. However, there was no good way out-of-the-box to show that the Task work items were children of the parent Requirement work item. You couldn't create a report or a work item query that would show you this information, because it wasn't captured.

The ability to capture hierarchical work items was one of the most requested new features for TFS -- and Microsoft has listened. In the next version of Team System, codenamed "Rosario," you'll have hierarchical work items out of the box.

Rosario isn't out yet, but you can download a Community Technology Preview (CTP) of it to see the new features that are coming. Remember that since this is just a CTP, most everything is subject to change. Rest assured, though, while the look or feel of working with hierarchical work items may change with the final product, they'll be available when Rosario does get released.

For the rest of this article, I'll give you a brief preview of what's available in the current CTP (April 2008 as of the writing of this article) regarding hierarchical work items. Let's start with a work item query that will display all the Requirement work items currently in the work item tracking system, as shown in Figure 1.

This doesn't look much different from what's currently available in Team System. But with hierarchical work items in Rosario, we can now show all the child tasks that make up each requirement. Clicking the Query on links checkbox will allow you to specify a query against any work items that are linked to these requirement work items. For this example, in the Type of query drop-down box, we'll select Must have. With this option selected, we must now create a clause that determines which items to return. Select Link Type = Child and Work Item Type = Task. The query and its results should appear as in Figure 2.

Take at look at the Query Results in the bottom of Figure 2. Notice how the parent requirements are shown in a tree view with their child tasks. In Rosario, you now have a nice graphical view of this information, making it easy to understand.

Want to see how these work item relationships are represented on a work item form itself? Take a look at Figure 3. Notice that there's a Parents and Children view on the Description tab. This gives you a view of any parent or child work items related to this work item. Also notice that this work item has one parent (work item 104) and four children (work items 108, 109, 110 and 111).

You can also view the same information and more on the Links tab, as shown in Figure 4. As before, you can see the child and parent links in this tab. But you can also see any other links related to this work item. In Figure 4, there's a new type of link called Tested By that shows this requirement is tested by a certain Test Case work item.

We're really at just the tip of the iceberg when it comes to hierarchical work items in Rosario. Remember how you could use Microsoft Excel or Microsoft Project to work with work items in TFS? You still have that ability with Rosario. In fact, Excel makes creating hierarchical work item relationships as easy as moving a value from one column to another.

We could go on and on, but I think the message is clear: Users want hierarchical work items and, with Rosario, they're going to get them in a way that makes them easy to use.

About the Author

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.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube