We were swapping emails over the weekend about Lifecycle Projects (LPs). As in my last post I think Lifecycle Project Administration is pretty good and will only get better over time. However, as was pointed out to me, for folks that want to “keep it simple”, understanding and using LPA properly can be a little painful. This is especially true when transitioning from other “single-purpose” tools to something more extensive and far-reaching in it’s coverage of Lifecycle domains as Rational’s Collaborative Lifecycle Management (CLM) Platform is.
You really need the 3 amigos – Change and Configuration Management (CCM), Requirements Management (RM) and Quality Management (QM) working in concert to realize the true potential of CLM. If however you’re coming from a Quality Management perspective (they said) and you are used to a “pure” testing tool, then working out which of the CCM Process templates “Scrum, OpenUP or Formal Project Management” and which of the RM Project templates (Base, Use Case, Agile Requirements or Traditional Requirements) should be used and how to put them together isn’t necessarily the easiest thing to do: you need to understand what roles exist, what permissions they have, what the work item types are etc.
So I began wondering what a “Quality Management Administrator” (or CCM or RM administrator for that matter) would need to do to create a new LP template that is built to suit his/her organisation rather than just run with the defaults.
Assuming that each new QM project needs to use the services of all three (QM, CCM. RM) applications here’s what I’d need to do to build my own LP template:
1. Build my own Quality Management Process template
a) Use the Web client to create a QM project area based on the “Quality Management Default v3 Process”
b)Modify the new Project area’s Jazz process configuration – roles, permissions, work items – I find I tend to use the Web client for just the Presentation aspects of Work Item customization and the Eclipse client for almost everything else. There are some differences in what each client is capable of (in process customization terms) and the Eclipse client is in general more functional than the Web client.
c) Create a new Process template from the customized QM project area. The easiest way to do this is in the Eclipse client: right-click the Project Area and select Extract Process Template. Give it the id freddy.rqm.process.ibm.com
d) Modify the Test Project properties as required – shared resources, Artifact State Transition Constraints, categories and attributes for several test artifact types,risk profiles and individual risks etc.
2. Build my own Requirements Management template
a) create a new RM Project Area based on any of the predefined RM project templates. Note that through a quirky inconsistency in Project creation between the three CLM applications, you actually need to log in to the Requirements Project URL (/rm/web) to be able to use the predefined RM project templates as described in Creating Requirement projects. Attempting Create Project Area from the RM application’s admin page (as you would with the QM and CCM applications) will only show a “Rational Requirements Server Template” which is a process template as opposed to the out-of-the-box RM-specific project templates. RM allows a choice of project template but always uses the “Rational Requirements Server” Process template; unless creating projects through custom LP tempaltes as we’re doing. In which case both the project and process templates can be specified. Confusing huh? For the purposes of this exercise I chose not to make any Jazz process modifications (roles, permissions etc).
b) Customize the RM project as required. All of the RM customization is carried out through the web client (there is only one:-). You can create new artifact templates, customise artifact types, attributes and data types and create new link types.
c) Create a new template from the project, following the procedure in Creating requirements project templates. Name it “Freddys Requirements Project Template“.
3. Build my own Change and Configuration Management Template
a) Create a new new CCM Project Area based on the Scrum, OpenUP or Formal Project Management process template.
b) Modify the new Project area’s Jazz process configuration – roles, permissions, work items (like I did with QM)
c)Create a new Process template from the customized CCM project area. As before in the Eclipse client: right-click the Project Area and select Extract Process Template. Give it the id freddysformalpm.process.ibm.com .
Ok. So now I have 3 of my very own templates:
Freddys Requirements Project Template
4. My very own LP template
1) From the LP Administration -> Templates page (/admin/web/templates) download the “Quality Professional, Analyst, Developer” LP template.
2) Edit the downloaded XML:
-in the Template Description Section replace “rational.alm.integrated.template” with “freddy.alm.integrated.template”
– modify “Quality Professional, Analyst, Developer” to “Freddy’s Quality Professional, Analyst, Developer”
– in the RRC section replace “Base” with “Freddys Requirements Project Template“
– remove all other RRC project templates
– in the RTC section replace “scrum2.process.ibm.com” with “freddysformalpm.process.ibm.com“
– remove all other RTC process templates
– in the RQM section replace “rqm.process.ibm.com.v3” with “freddy.rqm.process.ibm.com”
3) Save the modified file as freddy.alm.integrated.template.xml
4) From the LP Administration -> Templates page (/admin/web/templates) page select Import Template and import freddy.alm.integrated.template.xml
And there it is: When I create a new Lifecycle Project I have my very own template which uses my very own customised application templates. There is however one last step to complete this. Once a Lifecycle project has been created using the new LP template, the new QM project must still be configured with any Test Project properties (see step 1.d) that we added/changed in the original QM project. To do this follow the procedure in Copying project settings to a new project.
So there is a little pain involved in creating custom LP templates. However, the application level customization effort is independent of LPA and will be required anyway, unless of course the out-of-the-box process/project templates can be used as-is.