Problem:
We installed beta 1 of Microsoft Visual Studio Scrum and we need to upgrade without creating a new Team Project.
Solution:
1. (Optional) Add "Build Failure" as Reason for bug to allow it to work with the out of the box build templates.
2. Download all work items to Excel
3. Copy values from Owned By to Assigned To and publish changes back to TFS
4. Update Work Item Types using witAdmin and overwrite the original Scrum beta work item types
5. Update the Microsoft Project Mapping file if you changed the default “Assigned To” mapping to “Owned By” for MS Project resources
6. Update Work Item Queries to show Assigned To instead of Owned By
7. Import new MS Scrum v1.0 reports and bind to data sources
8. Import new build templates
Explanation:
If you want to use an existing Build Template you may need to add the Build Failure reason to the bug work item type. I would suggest making this change before you upload the template to TFS or use witAdmin to update the existing projects. If you are going to update the original Build Template with the one in v1 you will lose the ability to create bugs on build failure. The new template does not even allow it. I don't want failed builds to go unnoticed so I modify my build to fit the best practice established in the original release of TFS. If you want to use that you should add the following reason tot the bug.
<REASON value="Build Failure" />
To begin download the latest version of Microsoft Visual Studio Scrum and install it. This process only copies the files to your computer it DOES NOT install into TFS. You must use the Process Template Manager to upload the Template. The default location of the install is C:\Program Files (x86)\Microsoft\Microsoft Visual Studio Scrum 1.0\.
To upgrade an existing project we need to first move the Owned By values into Assigned To. We need a All Work Items query to import the work items into Excel. So create a simply query that returns all work items and save it. Open Excel and import all work items using this query. I found it helpful to sort the data by Owned By so I don't concern myself with those not currently Owned By anyone i.e. Sprints, Test Cases and Shared Steps they did not use Owned By. Make sure both columns Owned By and Assigned To are showing and copy from Owned By to Assigned To and publish.
Now simply use witAdmin or the Process Template editor to import the new work item types. The only two work items that DID NOT change are Shared Step and Test Case. The rest of the work items all have changes and should be imported. However, if you receive an error trying to import the bug issue the following command:
c:\>witadmin changefield /collection:http://servername:8080/tfs/Collection0 /n:Microsoft.VSTS.TCM.ReproSteps /name:"Repro Steps"
Note if you made any customizations to the work items those will need to be remade on before you import.
Many of the Work Item Queries need to be updated to show the Assigned To field instead of the old Owned By field. To update simply Right Click on the Query and select Edit Query. Now click the Column Options button and remove the Owned By field and replace it with Assigned To. Repeat this for all the existing queries.
There was a new query added under the Current Sprint folder called Test Cases. It is a very simple query that simply list the work items of type Test Case.
Now use tfsfieldmapping to upload the Microsoft Project mappings. The file you need to upload is located C:\Program Files (x86)\Microsoft\Microsoft Visual Studio Scrum 1.0\ Process Template\Classification\FileMapping.Xml. Note you must be on a machine that has Office Primary Interop Assemblies (PIA) installed. If you have Microsoft Project on the machine you should be fine. If not you can download the installer here http://www.microsoft.com/downloads/details.aspx?FamilyID=59daebaa-bed4-4282-a28c-b864d8bfa513&DisplayLang=en.
There are four new reports and two of the old ones were updated. The process is the same for new or updated reports simply remember to check the box to overwrite existing reports. All the reports are located in C:\Program Files (x86)\Microsoft\Microsoft Visual Studio Scrum 1.0\ Process Template\Reports. The four new reports are Build Success over Time, Build Summary, Test Case Readiness and Test Plan Progress. The new reports are in two sub folders Builds and Tests. The two reports that changed are Release Burndown and Velocity. Simply visit the report server site and upload the new reports. Once the new reports are uploaded you will have to update the data sources and the ExplicitProject Parameter. To update the data sources click the Properties tab of the report and select the Data Sources link. If the report was using TfsReportsDS map that to Tfs2010ReportsDS. If the report was using TfsOlapReportsDS map that to Tfs2010OlapReportDS and click the Apply button. While still on the Properties Tab click the Parameters link. On the parameters page remove the value for ExplicitProject and uncheck the Prompt User button and click Apply. Now you can view the report.
Final step is to check out the current DefaultTemplate.xaml file and check in the copy from v1. Remember the new copy removes the creation of a bug on build failure.