Finishing Up: Uploading Your New Process Template
Before you can use the process template you just modified, you must upload your process template to Team Foundation Server. However, before doing that, you must provide a distinguishing name and, optionally, a description for your new process template. You can modify those items in the ProcessTemplate.xml
file in the root of the process template directory created during the earlier download process. You set the name and description in the name
elements, respectively, near the top of the ProcessTemplate.xml
file. Name the new process template DevX Agile
, and abridge the description to "Choose the DevX Agile process for small projects that require enhanced bug tracking features."
|Figure 6. Uploaded Process: After uploading the new DevX Agile process, here it is in the Process Template Manager.|
|Author's Note: When modifying any of the XML files in the process template folder it's important to ensure that the files are well-formed XML. Attempting to import a process template containing files that are not well-formed results in an import error. A simple way to ensure that an XML file is well-formed is to open it using Internet Explorerwhich will display an error when opening a non-well-formed XML file.
When you've completed the process template file modifications, use the Upload button on the Process Template Manager dialog (see Figure 3
) to upload your new process template. After a successful upload, you can create new team projects that use the new process template. Figure 6
shows the newly uploaded DevX Agile
process selected in the Process Template Manager.
After uploading the DevX Agile process template, create a new team project using the DevX Agile process. Create a new bug and verify that the Description field is required and that there is now a new Found By field under the Details tab. Figure 7 shows before and after screen shots of the area of the bug work item form under the Details tab.
|Figure 7. The Details tab of the bug work item form. The before screenshot was taken using the MSF for Agile Software Development process template. The After screenshot was taken using our new DevX Agile process template.|
At this point, you have successfully downloaded a process template, modified the bug work item type, uploaded the modified process template, and demonstrated that the changes produced the desired results. One severe drawback to the approach taken in the example discussed here is that you cannot use it to modify a process template that is already in use
; you can apply the approach only to new team projects created after uploading the modified process template. This could be a big problem for existing projects that need slight modifications to the work items.
Therefore, instead of destroying a team project, uploading a new process template, and then recreating the team project based on the modified process template, you need a way to modify a process template that is already in use. Microsoft has provided a tool to help with this process. Using witexport you can export a single work item definition file, modify it, and then use witimport to import the modified work item definition into the process template.
Other modifications that could be made to the MSF for Agile Software Development process template would be to add a work item type for general requirements. The bug work item type should probably also be extended to include a more elaborate workflow (by adding more states with rules governing the state transitions) that would work more cooperatively with a quality assurance group.
Lastly, it is important to note that the example in this article only scratches the surface of the possibilities for extending and customizing process templates for Team Foundation Server. In addition, you may not need to make the modifications yourself; there are already many third-party process template publishers. Visit Microsoft's Visual Studio Developer Center for links to vendors and free projects offering customized process templates. In addition, you'll soon find many different tools for modifying process templates directly. The VSTS Customization Toolkit is a project hosted at GotDotNet that provides a tool used to visually edit process templates, preventing the tedious manual editing of the XML files.
Review your development processes and determine whether you can use Visual Studio's integration with Team Foundation Server to better support your development group. It is likely that Team Foundation Server can be modified to support many of the processes you currently have in place while improving on some of the processes that need attention. Use work items as a way to communicate within your development group and customize the work items to suit your group's needs.