Domanda

We just upgraded from TFS 2010 to TFS 2013. Since we were using CMMI process template earlier, we need to change our template to Agile Template.

The upgrade was done by restoring the SQL database from the old SQL server to the new one and then using TFS 2013 upgrade wizard.

After checking out on the internet we came to understand two things:

  1. For the future work items, we can use witadmin and import the new XML definitions of the various work items.
  2. However, for the existing data (old work items) we will have to first understand how the data is stored in the SQL databases of TFS and then manually map old work items and their states to the agile template and fire SQL queries to change the references.

For #2, is that the only way to go ahead? Since microsoft is fond of wizards, I wonder if there is one to make out life easier here :)

È stato utile?

Soluzione

First of all you do not want to do direct SQL queries, this is unsupported, and will put your TFS in an unsupported state.

Microsoft has a wizard for adding some of the new WITD, but it's mostly intended for people coming from 2012->2013 and staying on the same template (e.g. Scrum 2012 -> Scrum 2013, the wizard will add the new Feature WITD).

For your scenario what I do is take the old WITD (CMMI) and the desired WITD (Scrum), and do a compare, identify the changes, then make them via WITADMIN one at a time.

This will include renaming Work Item Types, adding fields, removing fields, and/or renaming fields. For renaming fields what you need to do is add the new field, copy over the data (either via Excel or TFS API) then delete the old field.

Also need to add in any new WITD, and remove any obsolete ones. You also probably want to replace your SSRS reports with the SSRS reports for the Agile template (you can do this using tfpt: http://msdn.microsoft.com/en-us/library/dn130125.aspx).

Jason Stangroome tried to create a tool to automate much of this, not sure where he got to with it, but you can read about it here: http://blog.stangroome.com/2013/07/16/witmorph-changing-team-foundation-process-templates-in-place/

Altri suggerimenti

Dylan Smith above has the best solution in his comments above (Sorry I don't have the rep to comment).

  1. Create the new template to your liking (As mentioned above)
  2. Use the API (another blog: http://pwee167.wordpress.com/2012/09/18/retrieving-work-items-using-the-team-foundation-server-api/) to modify existing WI's by adding new fields and changing existing ones. The code is simple to write (It's your TFS - just hardcode the server details etc.).

Alternatively you can (using the API) to close and create new work items to match the template. Once you get the connection to TFS the API is simple although examples are scarce.

I would evaluate the costs and benefits of moving to the new template vs using the template you are currently on. We looked at doing the same thing you are proposing but found that we didn't really need to. We are using our old CMMI work item types and are still able to use the backlogs and kanban boards. We did have to add a couple of fields but it really wasn't that big of a deal.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top