It seems like everyone I talk to about using IBM Rational Team Concert (RTC) to enact their process complains that they can’t enact their IBM Rational Method Composer (RMC) processes in RTC. Everyone wants an integration between these products and they’re frustrated that there isn’t one.
Um… actually there is an integration! I don’t know why it’s such a secret. While it’s the first cut at an integration between the two products, it’s pretty good. If you’ve got RMC 126.96.36.199, you can integrate with RTC.
A Word on Process Enactment
Process enactment is more than enforcing a process using RTC process templates. You also need to let your teams and organization know what’s expected of them, why they need to perform certain tasks in certain ways, and give them guidance. Teams can’t be robotic followers of an unseen process that forces team members to do things for mysterious reasons. Knowledge workers need to understand why they’re doing things in order to do their jobs better. They need to be able to make permanent appropriate changes to their process, or perform intelligent exceptions to the process to deal with novel situations. Process enactment informs team members how the business effectively produces software and systems, it allows them to constantly improve the process, and it eases the burden of performing the process.
Our goal with process enactment is to have the team informed, supported, and masters of their own fate. This makes sense. The people realizing a process will be most familiar with its best practices and problems. The RMC/RTC integration allows us to modify and publish our process for viewing in a web browser, then create tasks in RTC that match the tasks in the process published from RMC. Those RTC tasks preserve the hierarchy of iterations, activities, and tasks from RMC, and link back to the relevant method content in the published process.
The result is that our enactable tasks in RTC match the tasks described in our process. When a new task is created in RTC using a template from RMC, it has the same name and description as the task in the published process. And it includes a link to the explanation of that task in the published process. From there we have rich links to guidelines, artifacts, concepts, tool mentors, work breakdown structures, and other information for successfully performing the task.
The integration works like this:
- Publish a process from RMC to a server.
- Export process elements from RMC into a work item template
- Import the work item template into RTC
- Create work items from the work item template
- Navigate from the new work items to the corresponding tasks in the published process for support on completing the task
Detailed Integration Steps
Publish and Deploy Process
When you publish a configuration, the Publish Method Configuration dialog provides an option to create a JEE application instead of a static website. Select this option.
Deploy the WAR (or EAR) file to your sever. For example, after you publish you’ll drop the file into the webapps folder of a Tomcat server.
Export Process Elements as a Work Item Template
Right-click on the process element you want to export in the RMC deployment process (or capability pattern). Select Export to Work Item Template…
The selected element and everything under it is exported if the Planned flag is selected on the process element. This gives us the flexibility to enforce some process elements and not others. There are times when it’s desirable to leave a task description abstract, give flexibility to the person performing the task, or to leave the decision to enact the task to an individual. There are almost always aspects of a process that you want to strictly enforce, and other aspects that should allow for creativity and flexibility.
Each selected process element – tasks, activities, iterations, phases, etc – become tasks in the work item template. However, the hierarchy is maintained so we’ll end up with a set of parent/child tasks.
In the first export dialog, enter a template ID (without spaces) that uniquely identifies the work item template within RTC. Enter a display name for the template (which will also be used by RTC) and a description if desired. Select Next.
Enter the method configuration. It’s the configuration you published earlier. Enter the base content URL for the location where the published process exists. It should be the same name as the webapp we published earlier. This is the root URL embedded in all RTC tasks created from the work item template we’re exporting. Think of it as the bridge between and RTC task and the published process. Select Next.
In the final dialog, enter the name and location of the work item template file and select Finish.
Import Work Item Template into RTC
Now we move to the Eclipse client for RTC. Select File->Import->Team->Work Item Template from XML, then Next.
Select Browse and then locate the XML file we just exported from RMC. Select the target project from the list, and select Finish. You may need to save and refresh the project area if it’s open.
In the Links tab of the project you can look at the Attachments section and see the new work item template that’s now part of your project.
Create work items
We move to our thin client (browser) and open the Work Items section for our project. Select Create Work Item->Create Item From Template. Select the template that we exported from RMC.
Depending on how the process is defined in RTC you may need to file the new work items against an iteration. This is usually the Backlog.
You may also need to scroll down in the Template window to select the Create from Template button.
Our New Tasks
The first thing you’ll see is a list of the new tasks you created. The RMC task name the title of the new RTC task, and the description from RMC has been entered into the work item as well. There’s also a link called See detailed description that takes us to the corresponding task in the published process.
In this example, we included the names of the steps with the exported tasks. So in the description of the task, we already have a list of the steps needed to complete the tasks.
Is there more to this? You bet. There are issues to look out for, like entering the wrong base content URL or getting your RTC process template and RMC method out-of-sync. We also have creative decisions to make about which tasks are appropriate for rigorous process enactment, and which tasks we can be more flexible with. That’s for future blog posts. For now, this should get you going using the RTC/RMC integration. Download the RMC extension for exporting work item templates from jazz.net.
You should also take a look at Ricardo Balduino’s video presentation of the integration on jazz.net: Agile Practices Enactment with RTC and RMC.
- Tips for Integrating and Customizing RTC and RMC Processes
- Agile Practices Enactment with RTC and RMC