Adding formal project management features to a process template
You can extend your process template to include features from the Formal Project Management process template, such as time tracking and risk management.
Before you begin
Procedure
- Open the process template to customize:
- To open an existing process template, in the Team Artifacts view, right-click the project area to customize, and click Open.
- To open a new process template, create a process template by following the instructions in Creating a process template. Then, return to this task to add formal project management features to the new process template.
- Optional: Rename the default snapshot types and add new snapshot types on the Process Configuration Source tab:
- To rename the Planned snapshot type, copy the following XML code to your process template,
and replace
your snapshot namewith the name of the snapshot type:<configuration-data xmlns="http://com.ibm.team.apt.configuration/snapshotTypes" id="com.ibm.team.apt.configuration.snapshotTypes"> <snapshotType id="com.ibm.team.apt.plansnapshot.planned" name="your snapshot name"/> </configuration-data> - To rename the Regular snapshot type, copy the following XML code to your process template,
and replace
your snapshot namewith the name of the snapshot type:<configuration-data xmlns="http://com.ibm.team.apt.configuration/snapshotTypes" id="com.ibm.team.apt.configuration.snapshotTypes"> <snapshotType id="com.ibm.team.apt.plansnapshot.regular" name="your snapshot name"/> </configuration-data> - To add the Proposed snapshot type to your process template, copy the following XML code from the Formal Project Management template to your process template:
<configuration-data xmlns="http://com.ibm.team.apt.configuration/snapshotTypes" id="com.ibm.team.apt.configuration.snapshotTypes"> <snapshotType id="com.ibm.team.apt.plansnapshot.proposed" name="Proposed"/> </configuration-data> - To rename the Proposed snapshot type, change the name that is in double-quotation marks in
this parameter:
name="Proposed". To add multiple snapshot types, enter a unique ID and name for the snapshot type in each instance. For example, if you rename the planned and regular snapshots and add snapshot types to your process template, the section looks like the following code.Note: Each snapshot type has a unique ID and name.<configuration-data xmlns="http://com.ibm.team.apt.configuration/snapshotTypes" id="com.ibm.team.apt.configuration.snapshotTypes"> <snapshotType id="com.ibm.team.apt.plansnapshot.proposed" name="Expected"/> <snapshotType id="com.ibm.team.apt.plansnapshot.planned" name="Committed"/> <snapshotType id="com.ibm.team.apt.plansnapshot.regular" name="Iteration Start"/> <snapshotType id="com.ibm.team.apt.plansnapshot.iterationend" name="Iteration End"/> </configuration-data>
- To rename the Planned snapshot type, copy the following XML code to your process template,
and replace
- Optional: Enable time tracking in default and task work items:
- On the Process Configuration tab, expand Project Configuration > Configuration Data > Planning, and then select Time Tracking.
- Select the Synchronize Time Spent with Time Tracking check box.
- In the Timecode section, click Add, and enter the name of the timecode. You can add multiple time codes for different categories of work, such as coding and testing. Click Save.
- To configure how progress on work items is tracked, expand Project Configuration > Configuration Data > Planning. Select General, and then make selections in the Estimates Attributes and Backlog Iteration sections.
- Click the Process Configuration Source tab and search for a configuration data section with this ID:
com.ibm.team.workitem.editor.configuration.presentations. Then, add this code as a child of that section:<tab id="com.ibm.team.workitem.tab.timesheet" layout="builtInOverviewLayout"> <section sectionId="com.ibm.team.workitem.section.timesheet" slot="description" title="Time Tracking"/> <section sectionId="com.ibm.team.workitem.section.timesheetQuickInformation" slot="quickInfo" title="Timesheet Entries"/> </tab> <section id="com.ibm.team.workitem.section.timesheet"> <presentation kind="com.ibm.team.tpt.kind.internal.timeSheet"/> </section> <section id="com.ibm.team.workitem.section.timesheetQuickInformation"> <presentation kind="com.ibm.team.tpt.kind.internal.timesheetEntries"/> </section> - On the Process Configuration Source tab, search for an editor section with this ID:
com.ibm.team.workitem.editor.default. Within that section, after the<tab tabId="com.ibm.team.workitem.tab.history" title="History"/>line, add this line:<tab tabId="com.ibm.team.workitem.tab.timesheet" title="Time Tracking"/>.For example, after you add the line, the editor section looks like the following section:<editor id="com.ibm.team.workitem.editor.default"> <tab tabId="com.ibm.team.workitem.editor.default.internalHeader" title="none"/> <tab tabId="com.ibm.team.workitem.tab.overview" title="Overview"/> <tab tabId="com.ibm.team.workitem.tab.links" title="Links"/> <tab tabId="com.ibm.team.workitem.tab.approvals" title="Approvals"/> <tab tabId="com.ibm.team.workitem.tab.customAttributes" title="Custom"> <property key="hideIfEmpty" value="true"/> </tab> <tab tabId="com.ibm.team.workitem.tab.history" title="History"/> <tab tabId="com.ibm.team.workitem.tab.timesheet" title="Time Tracking"/> </editor> -
Change the Time Spent attribute presentation to read-only:
- On the Process Configuration Source tab, search for an editor section
with this ID:
com.ibm.team.workitem.section.details. - Find this line:
<presentation attributeId="com.ibm.team.workitem.attribute.timespent" kind="com.ibm.team.apt.kind.internal.timespent"/> - Replace the line with this
line:
<presentation attributeId="com.ibm.team.workitem.attribute.timespent" kind="com.ibm.team.apt.kind.internal.timespent"> <property key="readonly" value="true"/> </presentation>
Important: For consistency, set the read-only property value to true in any presentation that you include the property value in. For example, if you add that property value to the work item editor, also add the property value to the plan preview to ensure that both the plan and the work items are not editable. - On the Process Configuration Source tab, search for an editor section
with this ID:
- Optional: Add the Risk Action work item type for risk management. See the definition of this work item type in the Formal Project Management process template, and copy the work item type and associated properties to your template:
- On the Process Configuration tab, expand Project Configuration > Configuration Data > Work Items.
- Select Editor Presentation, and then define the work item editor layout for the work item types by following the instructions in
Customizing the work item editor. Learn more about creating a presentation for the Risk Action work item type:
The following code is an XML snippet for the Risk Action work item presentation from the Formal Project Management process template. To create a presentation for that work item type, click the Process Configuration Source tab and search for a configuration data section with this ID:
com.ibm.team.workitem.editor.configuration.presentations. If that section does not exist, add it. Then, add the following code as a child of that section:<editor id="com.ibm.team.workitem.editor.riskaction"> <tab tabId="com.ibm.team.workitem.editor.riskaction.internalHeader" title="none"/> <tab tabId="com.ibm.team.workitem.tab.overview.riskaction" title="Overview"/> <tab tabId="com.ibm.team.workitem.tab.links" title="Links"/> <tab tabId="com.ibm.team.workitem.tab.approvals" title="Approvals"/> <tab tabId="com.ibm.team.workitem.tab.customAttributes" title="Custom"> <property key="hideIfEmpty" value="true"/> </tab> <tab tabId="com.ibm.team.workitem.tab.history" title="History"/> <tab tabId="com.ibm.team.workitem.tab.timesheet" title="Time Tracking"/> </editor> <tab id="com.ibm.team.workitem.editor.riskaction.internalHeader" layout="internalHeader"> <section sectionId="com.ibm.team.workitem.header.default" title="none"/> </tab> <tab id="com.ibm.team.workitem.tab.overview.riskaction" layout="builtInOverviewLayout"> <section sectionId="com.ibm.team.workitem.section.details.riskaction" slot="details" title="Details"/> <section sectionId="com.ibm.team.workitem.section.quickinformation" slot="quickInfo" title="Quick Information"/> <section sectionId="com.ibm.team.workitem.section.description" slot="description" title="Description"/> <section sectionId="com.ibm.team.workitem.section.discussion" slot="discussion" title="Discussion"/> </tab> <section id="com.ibm.team.workitem.section.details.riskaction"> <presentation attributeId="com.ibm.team.workitem.attribute.workitemtype" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.attribute.severity" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.attribute.version" kind="com.ibm.team.workitem.kind.internal.deliverable"/> <presentation attributeId="com.ibm.team.workitem.workItemType.riskaction.strategy" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.attribute.creationdate"> <property key="readonly" value="true"/> <property key="hideIfCreation" value="true"/> </presentation> <presentation attributeId="com.ibm.team.workitem.attribute.creator"> <property key="readonly" value="true"/> <property key="hideIfCreation" value="true"/> </presentation> <presentation id="com.ibm.team.workitem.presentation.teamArea" kind="com.ibm.team.workitem.kind.internal.teamarea"/> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation attributeId="com.ibm.team.workitem.attribute.category" kind="com.ibm.team.workitem.kind.internal.category"/> <presentation attributeId="com.ibm.team.workitem.attribute.tags" kind="com.ibm.team.workitem.kind.internal.tags"/> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation attributeId="com.ibm.team.workitem.attribute.owner"> <property key="warningMessage" value="Owner does not belong to Team Area"/> </presentation> <presentation attributeId="com.ibm.team.workitem.attribute.priority" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.attribute.target" kind="com.ibm.team.workitem.kind.internal.target"/> <presentation attributeId="com.ibm.team.workitem.attribute.duration" kind="com.ibm.team.apt.kind.internal.estimate"/> <presentation attributeId="com.ibm.team.workitem.attribute.timespent" kind="com.ibm.team.apt.kind.internal.timespent"> <property key="readonly" value="true"/> </presentation> <presentation attributeId="com.ibm.team.workitem.attribute.duedate"/> <presentation attributeId="com.ibm.team.workitem.attribute.resolutiondate"> <property key="readonly" value="true"/> <property key="hideIfEmpty" value="true"/> </presentation> <presentation attributeId="com.ibm.team.workitem.attribute.resolver"> <property key="readonly" value="true"/> <property key="hideIfEmpty" value="true"/> </presentation> </section> <tab id="com.ibm.team.apt.planPreview.riskaction" layout="builtInHLayout"> <section sectionId="com.ibm.team.apt.planPreview.default.section.summary" slot="top" title="Summary"> <property key="noHeader" value="true"/> </section> <section sectionId="com.ibm.team.apt.planPreview.riskaction.section.details" slot="left" title="Details"/> <section sectionId="com.ibm.team.workitem.section.quickinformation" slot="right" title="Quick Information"> <property key="noHeader" value="true"/> </section> <section sectionId="com.ibm.team.workitem.section.description" slot="bottom" title="Description"/> <section sectionId="com.ibm.team.workitem.section.discussion" slot="bottom" title="Discussion"> <property key="expanded" value="false"/> </section> </tab> <section id="com.ibm.team.apt.planPreview.riskaction.section.details"> <presentation attributeId="com.ibm.team.workitem.attribute.severity" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation attributeId="com.ibm.team.workitem.workItemType.riskaction.strategy" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.attribute.category" kind="com.ibm.team.workitem.kind.internal.category"/> <presentation attributeId="com.ibm.team.workitem.attribute.tags" kind="com.ibm.team.workitem.kind.internal.tags"/> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation attributeId="com.ibm.team.workitem.attribute.owner"> <property key="warningMessage" value="Owner does not belong to Team Area"/> </presentation> <presentation attributeId="com.ibm.team.workitem.attribute.priority" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.attribute.target" kind="com.ibm.team.workitem.kind.internal.target"/> <presentation attributeId="com.ibm.team.workitem.attribute.duration" kind="com.ibm.team.apt.kind.internal.estimate"/> <presentation attributeId="com.ibm.team.workitem.attribute.timespent" kind="com.ibm.team.apt.kind.internal.timespent"> <property key="readonly" value="true"/> </presentation> <presentation attributeId="com.ibm.team.workitem.attribute.duedate"/> </section> <tab id="com.ibm.team.workitem.web.inline.riskaction"> <section sectionId="com.ibm.team.workitem.web.inline.default.summary" slot="top" title="Summary"> <property key="noHeader" value="true"/> </section> <section sectionId="com.ibm.team.workitem.web.inline.riskaction.details" slot="left" title="Details"> <property key="noHeader" value="true"/> </section> <section sectionId="com.ibm.team.workitem.section.quickinformation" slot="right" title="Quick Information"> <property key="noHeader" value="true"/> </section> </tab> <section id="com.ibm.team.workitem.web.inline.riskaction.details"> <presentation kind="com.ibm.team.workitem.kind.workflow.state"/> <presentation kind="com.ibm.team.workitem.kind.workflow.resolution"/> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation attributeId="com.ibm.team.workitem.attribute.severity" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.attribute.version" kind="com.ibm.team.workitem.kind.internal.deliverable"/> <presentation attributeId="com.ibm.team.workitem.workItemType.riskaction.strategy" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation attributeId="com.ibm.team.workitem.attribute.category" kind="com.ibm.team.workitem.kind.internal.category"/> <presentation attributeId="com.ibm.team.workitem.attribute.owner"> <property key="warningMessage" value="Owner does not belong to Team Area"/> </presentation> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation attributeId="com.ibm.team.workitem.attribute.priority" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.attribute.target" kind="com.ibm.team.workitem.kind.internal.target"/> </section> - Optional: To create a Risk Action workflow, click Workflows, and use the default workflow. For detailed instructions, see Defining a workflow.
- Optional: To create enumerations, click Enumerations. For detailed instructions, see Defining enumerations. Learn more about creating enumerations:To create enumerations, use the information in this table:
Table 1. Enumeration properties Name ID Storage Enumeration Literals Default Literal Action Strategy actionstrategy Process Specification Mitigation Mitigation Contingency Avoidance - Create a Risk Action work item type by clicking Types and Attributes. Then, add the Risk Action work item type and attributes by following the instructions in Defining work item types and attributes. Learn more about creating a Risk Action work item type:To create the Risk Action work type, use the information in this table:
Table 2. Risk Action work type properties Field Value Name Risk Action ID com.ibm.team.workitem.workItemType.riskaction Category com.ibm.team.workitem.workItemType.riskaction Work Item Editor com.ibm.team.workitem.editor.riskaction Inline Work Item Editor com.ibm.team.workitem.web.inline.riskaction Lightweight Work Item Creation Dialog com.ibm.team.workitem.lightweight.editor.section Plan Editor Preview com.ibm.team.apt.planPreview.riskaction Workflow Defect/Task Workflow Note: You can choose the workflow that the defect or task work items use, or you can create a customized workflow.To create the custom attribute, use the information in this table:Table 3. Custom attribute properties Field Value Name Strategy ID com.ibm.team.workitem.workItemType.riskaction.strategy Type Action Strategy (Enumeration)
- Optional: Add the Risk work item type for risk management. See the definition of this work item type in the Formal Project Management process template, and copy the work item type and associated properties to your template:
- On the Process Configuration tab, expand Project Configuration > Configuration Data > Work Items.
- Select Editor Presentation, and then define the work item editor layout for the work item types by following the instructions in Customizing the work item editor. Learn more about creating a presentation for the Risk work item type:
The following code is an XML snippet for the Risk work item presentation from the Formal Project Management process template. Click the Process Configuration Source tab and search for a configuration data section with this ID:
com.ibm.team.workitem.editor.configuration.presentations. If that section does not exist, add it. Then, add the following code as a child of that section:<editor id="com.ibm.team.workitem.editor.risk"> <tab tabId="com.ibm.team.workitem.editor.risk.internalHeader" title="none"/> <tab tabId="com.ibm.team.workitem.tab.overview.risk" title="Overview"/> <tab tabId="com.ibm.team.workitem.tab.links" title="Links"/> <tab tabId="com.ibm.team.workitem.tab.approvals" title="Approvals"/> <tab tabId="com.ibm.team.workitem.tab.customAttributes" title="Custom"> <property key="hideIfEmpty" value="true"/> </tab> <tab tabId="com.ibm.team.workitem.tab.history" title="History"/> </editor> <tab id="com.ibm.team.workitem.editor.risk.internalHeader" layout="internalHeader"> <section sectionId="com.ibm.team.workitem.header.default" title="none"/> </tab> <tab id="com.ibm.team.workitem.tab.overview.risk" layout="builtInOverviewLayout"> <section sectionId="com.ibm.team.workitem.section.details.risk" slot="details" title="Details"/> <section sectionId="com.ibm.team.workitem.section.quickinformation" slot="quickInfo" title="Quick Information"/> <section sectionId="com.ibm.team.workitem.section.description" slot="description" title="Description"/> <section sectionId="com.ibm.team.workitem.section.discussion" slot="discussion" title="Discussion"/> </tab> <section id="com.ibm.team.workitem.section.details.risk"> <presentation attributeId="com.ibm.team.workitem.attribute.workitemtype" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.attribute.creationdate"> <property key="readonly" value="true"/> <property key="hideIfCreation" value="true"/> </presentation> <presentation attributeId="com.ibm.team.workitem.attribute.creator"> <property key="readonly" value="true"/> <property key="hideIfCreation" value="true"/> </presentation> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation id="com.ibm.team.workitem.presentation.teamArea" kind="com.ibm.team.workitem.kind.internal.teamarea"/> <presentation attributeId="com.ibm.team.workitem.attribute.category" kind="com.ibm.team.workitem.kind.internal.category"/> <presentation attributeId="com.ibm.team.workitem.attribute.tags" kind="com.ibm.team.workitem.kind.internal.tags"/> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation attributeId="com.ibm.team.workitem.attribute.owner"> <property key="warningMessage" value="Owner does not belong to Team Area"/> </presentation> <presentation attributeId="com.ibm.team.workitem.attribute.priority" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.attribute.target" kind="com.ibm.team.workitem.kind.internal.target" label="Identified For"/> <presentation attributeId="com.ibm.team.workitem.attribute.resolutiondate"> <property key="readonly" value="true"/> <property key="hideIfEmpty" value="true"/> </presentation> <presentation attributeId="com.ibm.team.workitem.attribute.resolver"> <property key="readonly" value="true"/> <property key="hideIfEmpty" value="true"/> </presentation> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.probability"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.impact"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.exposure" kind="com.ibm.team.workitem.kind.long"> <property key="readonly" value="true"/> </presentation> <presentation id="com.ibm.team.tpt.presentation.risk.matrix" kind="com.ibm.team.tpt.risk.kind.matrix"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.precision"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.consequencecost" kind="com.ibm.team.tpt.kind.cost"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.probabilitycost" kind="com.ibm.team.tpt.kind.cost"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.riskcategory" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.identificationdate"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.occurrencedate"/> </section> <tab id="com.ibm.team.apt.planPreview.risk" layout="builtInHLayout"> <section sectionId="com.ibm.team.apt.planPreview.default.section.summary" slot="top" title="Summary"> <property key="noHeader" value="true"/> </section> <section sectionId="com.ibm.team.apt.planPreview.risk.section.details" slot="left" title="Details"/> <section sectionId="com.ibm.team.workitem.section.quickinformation" slot="right" title="Quick Information"> <property key="noHeader" value="true"/> </section> <section sectionId="com.ibm.team.workitem.section.description" slot="bottom" title="Description"/> <section sectionId="com.ibm.team.workitem.section.discussion" slot="bottom" title="Discussion"> <property key="expanded" value="false"/> </section> </tab> <section id="com.ibm.team.apt.planPreview.risk.section.details"> <presentation attributeId="com.ibm.team.workitem.attribute.category" kind="com.ibm.team.workitem.kind.internal.category"/> <presentation attributeId="com.ibm.team.workitem.attribute.tags" kind="com.ibm.team.workitem.kind.internal.tags"/> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation attributeId="com.ibm.team.workitem.attribute.owner"> <property key="warningMessage" value="Owner does not belong to Team Area"/> </presentation> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation attributeId="com.ibm.team.workitem.attribute.priority" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.riskcategory" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.identificationdate"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.probability"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.impact"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.exposure" kind="com.ibm.team.workitem.kind.long"> <property key="readonly" value="true"/> </presentation> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.precision"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.consequencecost"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.probabilitycost" kind="com.ibm.team.tpt.kind.cost"> <property key="readonly" value="true"/> </presentation> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.occurrencedate"/></section> <tab id="com.ibm.team.workitem.web.inline.risk" layout="builtInHLayout"> <section sectionId="com.ibm.team.workitem.web.inline.default.summary" slot="top" title="Summary"> <property key="noHeader" value="true"/> </section> <section sectionId="com.ibm.team.workitem.web.inline.risk.details" slot="left" title="Details"> <property key="noHeader" value="true"/> </section> <section sectionId="com.ibm.team.workitem.web.inline.section.quickinformation" slot="right" title="Quick Information"> <property key="noHeader" value="true"/> </section> <section sectionId="com.ibm.team.workitem.section.description" slot="bottom" title="Description"/> <section sectionId="com.ibm.team.workitem.web.inline.section.discussion" slot="bottom" title="Discussion"> <property key="expanded" value="false"/> </section> </tab> <section id="com.ibm.team.workitem.web.inline.risk.details"> <presentation kind="com.ibm.team.workitem.kind.workflow.state"> <property key="hideIfCreation" value="true"/> </presentation> <presentation kind="com.ibm.team.workitem.kind.workflow.resolution"> <property key="hideIfCreation" value="true"/> </presentation> <presentation kind="com.ibm.team.workitem.kind.separator"/> <presentation attributeId="com.ibm.team.workitem.attribute.category" kind="com.ibm.team.workitem.kind.internal.category"/> <presentation attributeId="com.ibm.team.workitem.attribute.owner"> <property key="warningMessage" value="Owner does not belong to Team Area"/> </presentation> <presentation attributeId="com.ibm.team.workitem.attribute.priority" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.attribute.target" kind="com.ibm.team.workitem.kind.internal.target" label="Identified For"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.riskcategory" kind="com.ibm.team.workitem.kind.enumeration"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.identificationdate"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.probability"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.impact"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.exposure" kind="com.ibm.team.workitem.kind.long"> <property key="readonly" value="true"/> </presentation> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.precision"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.consequencecost"/> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.probabilitycost" kind="com.ibm.team.tpt.kind.cost"> <property key="readonly" value="true"/> </presentation> <presentation attributeId="com.ibm.team.workitem.workItemType.risk.occurrencedate"/></section> - To create a Risk workflow, click Workflows, and define the workflow for the work item types. For detailed instructions, see Defining a workflow. Learn more about creating a Risk work flow:
The following code is an XML snippet for the Risk workflow from the Formal Project Management process template. Click the Process Configuration Source tab and search for a configuration data section with this ID:
com.ibm.team.workitem.configuration.workflow. If that section does not exist, add it. Then, add the following code as a child of that section:<workflowDefinition id="riskWorkflow"> <workflow name="Risk Workflow" startActionId="riskWorkflow.action.new"> <resolution id="riskWorkflow.resolution.r0" name="Avoided" icon="processattachment:/workflow/defer.gif"/> <resolution id="riskWorkflow.resolution.r1" name="Transferred/Shared" icon="processattachment:/workflow/transfer.gif"/> <resolution id="riskWorkflow.resolution.r2" name="Mitigated" icon="processattachment:/workflow/close.gif"/> <resolution id="riskWorkflow.resolution.r3" name="Accepted" icon="processattachment:/workflow/accepted.gif"/> <resolution id="riskWorkflow.resolution.r4" name="Invalid" icon="processattachment:/workflow/reject.gif"/> <action icon="processattachment:/workflow/new.gif" id="riskWorkflow.action.new" name="New" state="riskWorkflow.state.s1"/> <action icon="processattachment:/workflow/verify.gif" id="riskWorkflow.action.tobevalidated" name="To Be Validated" state="riskWorkflow.state.s2"/> <action icon="processattachment:/workflow/accepted.gif" id="riskWorkflow.action.accepted" name="Accept" state="riskWorkflow.state.s3"/> <action icon="processattachment:/workflow/reject.gif" id="riskWorkflow.action.rejected" name="Reject" state="riskWorkflow.state.s4"/> <action icon="processattachment:/workflow/inprogress.gif" id="riskWorkflow.action.inprogress" name="In Progress" state="riskWorkflow.state.s6"/> <action icon="processattachment:/workflow/mitigated.gif" id="riskWorkflow.action.mitigated" name="Mitigate" state="riskWorkflow.state.s7"/> <action icon="processattachment:/workflow/close.gif" id="riskWorkflow.action.close" name="Close" state="riskWorkflow.state.s8"> <resolution id="riskWorkflow.resolution.r0"/> <resolution id="riskWorkflow.resolution.r1"/> <resolution id="riskWorkflow.resolution.r2"/> <resolution id="riskWorkflow.resolution.r3"/> <resolution id="riskWorkflow.resolution.r4"/> </action> <action icon="processattachment:/workflow/reopen.gif" id="riskWorkflow.action.reopen" name="Reopen" state="riskWorkflow.state.s9"/> <state group="open" icon="processattachment:/workflow/new.gif" id="riskWorkflow.state.s1" name="New" showResolution="false"> <action id="riskWorkflow.action.tobevalidated"/> <action id="riskWorkflow.action.accepted"/> <action id="riskWorkflow.action.inprogress"/> <action id="riskWorkflow.action.rejected"/> </state> <state group="open" icon="processattachment:/workflow/verify.gif" id="riskWorkflow.state.s2" name="To Be Validated" showResolution="false"> <action id="riskWorkflow.action.accepted"/> <action id="riskWorkflow.action.rejected"/> </state> <state icon="processattachment:/workflow/accepted.gif" id="riskWorkflow.state.s3" name="Accepted" showResolution="false"> <action id="riskWorkflow.action.inprogress"/> </state> <state group="inprogress" icon="processattachment:/workflow/inprogress.gif" id="riskWorkflow.state.s6" name="In Progress" showResolution="false"> <action id="riskWorkflow.action.mitigated"/> <action id="riskWorkflow.action.close"/> </state> <state icon="processattachment:/workflow/mitigated.gif" id="riskWorkflow.state.s7" name="Mitigated" showResolution="false"> <action id="riskWorkflow.action.close"/> </state> <state group="closed" icon="processattachment:/workflow/reject.gif" id="riskWorkflow.state.s4" name="Rejected" showResolution="false"> <action id="riskWorkflow.action.close"/> <action id="riskWorkflow.action.reopen"/> </state> <state group="closed" icon="processattachment:/workflow/close.gif" id="riskWorkflow.state.s8" name="Closed" showResolution="true"> <action id="riskWorkflow.action.reopen"/> </state> <state group="open" icon="processattachment:/workflow/reopen.gif" id="riskWorkflow.state.s9" name="Reopened" showResolution="false"> <action id="riskWorkflow.action.new"/> </state> </workflow> </workflowDefinition> - To create enumerations, click Enumerations. For detailed instructions, see Defining enumerations. Learn more about creating enumerations:To create enumerations, use the information in this table:
Table 4. Enumeration properties Name ID Storage Enumeration Literals Default Literal Risk Impact risk.impact Process Specification 20% - Minor 20% - Minor 40% - Normal 60% - Major 80% - Critical 100% - Blocker Risk Probability risk.probability Process Specification 20% - Very Low 20% - Very Low 40% - Low 60% - Moderate 80% - High 100% - Very High Risk Precision risk.precision Process Specification Low Medium Medium High Risk Category riskcategory Process Specification Socio-cultural Socio-cultural Political Economic Competitive Technology Regulatory/legal Uncertainty/risk Market Important: The Risk matrix uses the last numerical value of the literal ID to build the matrix. Edit the process specification to ensure that the literal IDs have the percentage as a suffix. For example, the ID for 40% - Minor is risk.impact.literal.l40. - Define value providers for exposure and probability cost. Learn more about defining the value provides for Exposure and Probablity cost:
The following code is an XML snippet for defining the value providers for exposure and probability cost from the Formal Project Management process template. Click the Process Configuration Source tab and search for a configuration data section with this ID:
com.ibm.team.workitem.configuration.providers. If that section does not exist, add it. Then, add the following code as a child of that section:<valueProviders> <valueProvider id="com.ibm.team.tpt.shared.common.internal.providers.ExposureProvider" providerId="com.ibm.team.workitem.shared.common.internal.valueProviders.ScriptAttributeValueProvider" name="Exposure Provider"> <script/> <impactAttribute id="com.ibm.team.workitem.workItemType.risk.impact"/> <probabilityAttribute id="com.ibm.team.workitem.workItemType.risk.probability"/> </valueProvider> <valueProvider id="com.ibm.team.tpt.shared.common.internal.providers.ProbabilityCostProvider" providerId="com.ibm.team.workitem.shared.common.internal.valueProviders.ScriptAttributeValueProvider" name="Probability Cost Provider"> <script/> <consCostAttribute id="com.ibm.team.workitem.workItemType.risk.consequencecost"/> <probabilityAttribute id="com.ibm.team.workitem.workItemType.risk.probability"/> </valueProvider> </valueProviders> - To create a Risk work item type, click Types and Attributes.
Add the Risk work item type and attributes by following the instructions in Defining work item types and attributes. Learn more about creating a Risk work item type:To create the Risk work item type, use the information in this table:
Table 5. Risk work item type properties Field Value Name Risk ID com.ibm.team.workitem.workItemType.risk Category com.ibm.team.workitem.workItemType.risk Work Item Editor com.ibm.team.workitem.editor.risk Inline Work Item Editor com.ibm.team.workitem.web.inline.risk Lightweight Work Item Creation Dialog com.ibm.team.workitem.lightweight.editor.section Plan Editor Preview com.ibm.team.apt.planPreview.risk Workflow Risk Workflow To create the custom attributes, use the information in this table:Table 6. Custom attributes properties Name ID Calculated Value Type Read-only Dependencies Consequence Cost com.ibm.team.workitem.workItemType.risk.consequencecost Long Impact com.ibm.team.workitem.workItemType.risk.impact Risk Impact (Enumeration) Probability com.ibm.team.workitem.workItemType.risk.probability Risk Probability (Enumeration) Exposure (%) com.ibm.team.workitem.workItemType.risk.exposure Exposure Provider Long Yes Probability Impact Identification Date com.ibm.team.workitem.workItemType.risk.identificationdate Timestamp Precision com.ibm.team.workitem.workItemType.risk.precision Risk Precision (Enumeration) Probability Cost com.ibm.team.workitem.workItemType.risk.probabilitycost Long Calculated Value: Probability Probability Consequence Cost Risk Category com.ibm.team.workitem.workItemType.risk.riskcategory Risk Category (Enumeration)
- Click Save.