How to change process guidance template on existing project?

I found this interesting question in the VSTS MSF Forum that many customers have and answer from Alan Ridlehoover. Heres the answer for it.....

The short answer is no, there is no way to change the process template of an existing project.

Think of it like this:  A process template in TFS is similar to a document template in Word. 

  • In Word, all documents are based on a template.  The default template in Word 2007 is Normal.DOTX.  It contains your default font and other formatting preferences.  Other templates, such as UrbanLetter.DOTX, contain different formatting as well as placeholders for content.  Once a document is created based on a specific template, you can change the content and/or formatting without affecting the underlying template.
  • In TFS, all projects are based on a process template.  There is no default process template.  Instead, you must choose from either MSF for Agile or MSF for CMMI.  Other templates are also available from third parties.  Once a project is created, you can change the content (specific work items, etc.) and/or formatting (work item type definitions) without affecting the underlying template.  (More on this below.)

That said, if you still wish to begin using the CMMI template, my advice is to begin fresh, with a new project.  To do this:

  • Move your source code either by getting it out of the old project and checking it in to the new project (which will not bring history), or by starting the new project off a branch of the old source tree (which will bring history)
  • Move your work items via Excel (which will not bring history - to my knowledge, there is no way to keep history when moving work items between projects)
    • In the old project, create a query with all the fields and records you want and export it to Excel
    • In the new project create a query with all the fields you want to import and export it to Excel
    • Cut & paste (or write a macro)

Alternatively, it is also possible to modify the individual work item type definitions within an existing project using WITExport.exe and WITImport.exe.   Together these programs import and export work item type definitions from an existing project (as XML documents).  So, you can export a WIT, modify it, and import it.  If you go this direction, you will definitely want to check out the Visual Studio 2005 SDK 3.0 - September 2006 RTM (which you can find here), as it contains the documentation for the XML format you'll be modifying.  Note:  Changing a WIT for a specific project does NOT update the underlying process template.  Also note that going this direction may have negative side-effects, such as broken reports.  The safest method is to create a new project as described above.