Visual Studio Team System "Rosario" CTP 12 – Work Items

Since Holland is kicked out of Euro 2008, I found myself some extra time to investigate Visual Studio Team System "Rosario" CTP 12. It's been a couple of months ago Microsoft released this fantastic platform, but almost nobody blogged about it. Of course three of the most interesting VSTS bloggers (Willy-Peter Schaub's, Mickey Gousset and Grant Holiday) commented a lot about it, but that's almost everything you find on the net. Naturally almost every self respecting blogger blogged about the release of this CTP, but in my opinion that's not what blogging is all about.

After starting the virtual machine and opening Visual Studio, I immediately focused on the new Process Templates and the Work Item structure of it. In Rosario there are two new Process Templates:

  • VSTS Process for Agile Software Development v1.0
    • Bug - Describes a divergence between required and actual behavior, and tracks the work done to correct the defect and verify the correction.
    • Shared Step Set - Server-side data for reusable set of test steps.
    • Task - Tracks work that needs to be done.
    • Test Case - Server-side data for a set of steps to be tested.
    • User Story - Tracks an activity the user will be able to perform with the product
    • Issue - Tracks an obstacle to progress.
  • MSF for CMMI Process Improvement - Rosario
    • Bug - Includes information to track the work to resolve the bug and to verify its resolution
    • Task - Includes information to track the task through the MSF for CMMI Process Improvement life cycle.
    • Issue - Includes information to track changes through the MSF for CMMI Process Improvement life cycle.
    • Change Request - Includes information to track changes through the MSF for CMMI Process Improvement life cycle
    • Risk - Includes information to track the work to mitigate a risk.
    • Requirement - Includes information to track the requirement through the MSF for CMMI Process Improvement life cycle
    • Review - This work item tracks reviews and the results.
    • Test Case - Server-side data for a set of steps to be tested.
    • Shared Step Set - Server-side data for reusable set of test steps.
    • Feature - Includes information to track the feature through the MSF for CMMI Process Improvement life cycle
    • Business Objective - Includes information to track the business objective through the MSF for CMMI Process Improvement life cycle

Work Item Structure
In the VSTS Process they removed Risk and replaced Scenario by User Story. This is a good decision because the Risk implementation in MSF Agile is one of the worst implementation of Risk Analysis I ever seen. Didn't the guys who developed this read the specs of MSF Risk Management. CMMI has a better risk implementation but still it could be better. The other two Work Items are for test purposes only. A Test Case describes a test and the steps to reproduce it. In some cases you will repeat a lot of the same steps. For Example: 1. open Internet Explorer, 2. open the Web Application, 3. Log on to the app. These steps are probably used in all Test Cases. To use shared steps you must use the Shared Step Set Work Item.

Work Items

Work Item Link Types
As you can see, the screen layout is completely rearranged to show more controls on one single screen. Furthermore the buttons to Open, Add, Edit and Delete links are redecorated. All this styling will create a synoptic layout.

Link Types

They also added a couple of new Link Types to a Work Item. The nice thing about the Link Types is you can filter it for a specific control. For example: You only want to allow links to create a hierarchy for parent and child relations. Your WIT control specification could look like this. Watch closely to LinkFilters sections.

<Control Type="LinksControl" Name="Hierarchy" Label="Parent and &amp;Child Links:" LabelPosition="Top">
    <LinksControlOptions>
        <WorkItemLinkFilters FilterType="include">
            <Filter LinkType="System.LinkTypes.Hierarchy"  />
        </WorkItemLinkFilters>
        <ExternalLinkFilters FilterType="excludeAll"/>
        <LinkColumns>
            <LinkColumn RefName="System.ID" />
            <LinkColumn RefName="System.WorkItemType" />
            <LinkColumn RefName="System.Title" />
            <LinkColumn RefName="System.AssignedTo" />
            <LinkColumn RefName="System.State" />
            <LinkColumn LinkAttribute="System.Links.Comment" />
        </LinkColumns>
    </LinksControlOptions>
</Control>

Work Item Custom Controls
Besides extensions in the XML definition of a Work Item there are two Custom Controls added to Rosario which can be found in C:Documents and SettingsAll UsersApplication DataMicrosoftTeam FoundationWork Item TrackingCustom Controls9.0. Check this blog for all Custom Control locations.

  • ReproStepsControl.wicc
  • TestStepsControl.wicc

The latter is showed in the screen below.

<?xml version="1.0"?>
<CustomControl xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
              xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Assembly>Microsoft.TeamFoundation.TestManagement.ClientPackage</Assembly>
  <FullClassName>Microsoft.TeamFoundation.TestManagement.TestStepsControl</FullClassName>
</CustomControl>

With this custom control you can create you're own test steps including parameters which can be data bound. A brief explanation about this steps can be found in the November Rosario CTP - Planning A Testing Effort with Camano from Grant Holiday.

Custom Controls

For more information about Custom Controls check http://www.codeplex.com/WitCustomControls a community by Naren Datha (Unfortunately he left the TFS Team): http://blogs.msdn.com/narend and Mathias Olausson: http://olausson.net/blog. One of their coolest controls is the Screenshot control.

Work Item Queries
One of the superb new features of Work Items is you can now query on links. Depending on the type of query it will not only give you an other result, but also another icon in the Team Explorer. In this examples I added a Work Breakdown structure to the CTP12-Agile Team Project. Creating a structure like this is easy. Just select the Query on links checkbox, select Tree as Type of query and add Child as Link Type. Not only you good create Work Breakdown structures using this concept, Backlogs are created as easily as well.

Work Item Queries

Summary
It's good to see Microsoft is listening to its customers. More and more people are asking for a better Agile template and they will get it. Other people asked for work breakdown support as you can read in one of my older posts and the will get it. I'm very anxious they will not support these new features in the old Team Explorer for Visual Studio 2005. I still hope they will because a lot of companies are willing to upgrade to a new server environment but to upgrade to a new client upgrade is a complete other story. And yes I know you could install another Team Explorer instance besides it, but that's not a solution. VSTS Dev Team keep up the good work and maybe it's still a good idea to also include the old MSF Agile Process Template because a lot of companies have adopted this structure.

 

One thought on “Visual Studio Team System "Rosario" CTP 12 – Work Items

Leave a Reply

Your email address will not be published. Required fields are marked *