Driving productivity with process templates
For existing users of Rational Team Concert, the pivotal role that process plays in the value proposition of this product is no surprise. In fact, the ability of RTC to seamlessly integrate the aspects of process configuration around the more traditional function of source control management and planning is one of the things that sets this product apart from the field. Unfortunately, existing users often don’t realize the extent of the customization available to them and are unaware of a very powerful and potential underutilized capability of the product—customizing and exporting process templates.
Process templates are the fundamental construct behind a project area in RTC that drives the behavior of the product. When a project area is created a process template is chosen from a select few process templates that are deployed to the Jazz team server. These process templates represent a collection of common methodologies and functions that have been brought together to fast track a team’s usage of the product. As we all know, however, no two teams are the same—every organization has small nuances of process that have evolved over time to meet their individual need. Codifying and formalizing this team process can provide tremendous value to an organization in the form of consistency, repeatability and planning. How can we do this with RTC?
The project area editor has a tab called Process Configuration that provides a wealth of functionality available for configuring both project and team scoped behaviors. Many users of the product are unaware of the flexibility available in this editor. While the ability to configure simple permissions for operations by project area role (like which type of project area member is able to request builds) is valuable on it’s own, other functions like defining preconditions and follow up actions for operations can have an even more dramatic impact on codifying team process. For instance, it’s possible to configure the process template to require a certain number of approvals from specific user roles to move an opened defect from In Progress to Complete. Another useful application could be requiring a JUnit test case for any defect with change sets attached prior to delivery to guarantee more consistent test coverage. Many organizations already have processes like this in place, but they are generally informal or they depend on spreadsheets and tribal knowledge for documentation and consistency. Configuring these options in the project area process configuration is an excellent investment of time and energy to formalize and record these processes.
Just as it takes teams a significant investment of time to develop these processes organically, teams should expect that configuring process templates takes some investment of time as well. The immediate question that comes to mind for end users is often, “Do I have to do this for every project area?” or “This seems like a lot of investment of time to do for every project area!” There’s good news! Rational Team Concert has the ability to export an existing process template so it can be reused.
From the menu drop down next to the Project Area editor title you can choose Extract Process Template. Specify a process ID—which is just a unique ID for the process template. For uniqueness many teams will use a format similar to:
This extraction process will pull out the configuration data that has been made in the project area process configuration effectively codifying the process changes you've made to the process configuration for that particular project area. You can then export the process template to be reused later in the form of a fully expanded folder structure or a zip file. Now that you have exported the process template, you can import it into any existing repository and choose the process template you extracted when creating a new project area. All the investment of time and energy put into configuring the process configuration is now portable and reusable!
This image illustrates an example we made to help us streamline a particular project area configuration we found ourselves performing multiple times. As you can see, after we've imported our extracted process template it now shows up in the new project area wizard as an option for new project areas. When we choose our custom template, the process configuration that we created is then applied and we have fast tracked ourselves into the process we want.
Using process template configuration we can work smarter not harder!