Customize Rational Team Concert for non-traditional uses

Create an application to track opportunities

Learn how to customize IBM,® Rational Team Concert™ for uses beyond the traditional application lifecycle management use case. Try a sample scenario that creates an application that tracks opportunities and use it to learn how to create, customize, and test work item types for this situation.

Regina M. Joyce (rjoyce@us.ibm.com), Project Manager, IBM

Regina Joyce is part of IBM Software group and has more than 11 years experience as a project manager and software engineer. She is a certified PMP and has used Rational Team Concert extensively on multiple projects.



Danielle A. Sparandera (santiagd@us.ibm.com), Project Manager, IBM

Danielle Sparandera is a project manager at IBM with more than 20 years of experience working on software development projects. She is a certified Scrum Master and an avid user of IBM Rational Team Concert.



17 December 2013

Also available in Chinese

Introduction

This article explains how to customize IBM® Rational Team Concert™ for use beyond the traditional application lifecycle management. It starts with a sample scenario — to build an application to track web-based opportunities — to show Rational Team Concert administrators how to create a new work item type, customize the work item type (add custom attributes, update the editor presentation for those attributes, and configure required attributes) and test the work item type. It includes links to Resources that further describe how to create new work items, workflows, and editor presentations.


Before you start

To follow this article, you need to have access to a Rational Team Concert Version 4.x server with an appropriate project area created. If you have not already purchased and installed Rational Team Concert or are not currently using Rational Team Concert on the cloud, you can download an evaluation version from Jazz.net. Or, if you do not want to download and install Rational Team Concert on your local machine, you can try it online in a sandbox on Jazz.net. For more information on the evaluation version or sandbox options from Jazz.net, see the links provided in Resources.

Once you have access to a server, you will also need to have the Rational Team Concert client for the Eclipse IDE installed and a connection established to the appropriate repository for your server. Currently, certain customizations can only be performed using the Eclipse client and cannot be accomplished using the web client.


Sample use case: application to track opportunities

This article is based on the sample use case to create a web-based opportunity management tracking application. The end users of the application are primarily managers within a consulting services organization. An opportunity refers to potential consulting work for clients. The intent is for managers or consultants to create work items for new business opportunities as they arise. The ultimate goal is to provide visibility to the pipeline, track metrics around the demographics of the customer base, and understand what factors influence the outcome of winning or losing an opportunity. An added requirement is to foster an environment where employees at all levels of the organization can submit a business opportunity for consideration and be able to track the opportunity through the entire opportunity lifecycle.

The following sections explain how to:


Create a new work item type

The first step to customize Rational Team Concert for your non-traditional needs is to create a new work item type. This can be accomplished using either the web client or the Eclipse client. For the opportunity management use case, name the new work item type Opportunity with the ID opportunity and category opportunity – com.ibm.team.workitem.workItemType.opporunity, as shown in Figure 1.

Figure 1. Create the Opportunity work item type
Add type popup populated with Opportunity details

If you do not intend to use any of the work item types provided by Rational Team Concert by default, you can delete them using the Remove option available in the Eclipse client, so that they will not appear in your work item menu selection.

It is necessary to set a workflow when defining your new work item type. If none of the existing workflows in Rational Team Concert fit, add a new workflow. Such is the case for opportunity management. Workflow states that are appropriate for an opportunity work item can be seen in Table 1. Actions and transitions between the states can be defined to suit your needs and can be as unconstrained or restrictive, according to your requirements.

Table 1. Opportunity management workflow
State Description
Uninitialized This is the initial state of a new opportunity in Rational Team Concert. A prospect was found that could be a potential lead.
Noticed The lead has been received but customer interest has not been checked.
Identified The team has confirmed that the offering or service is in our domain and an owner has been assigned.
Validated The owner has validated that the opportunity is consistent with our business mission and is a valid opportunity. The owner has identified the skills required and the potential revenue amount.
Qualified The prospect deems our consulting organization to be on the list of potential vendors. We determine the opportunity is worth pursuing and we have resources available.
Conditional Agreement We provided all information for the customer to make a decision.
Won A consulting agreement has been completed. (The contract has been signed and the project has been staffed).
No bid We decide not to bid.
Customer did not pursue The customer is no longer looking for service, due to a change in the budget, the focus areas, or executive roles.
Lost to competition The customer has chosen a competitor to address a specific need.

It is also necessary to set an editor presentation when defining your new work item type. A new editor presentation should be added for this purpose. For the opportunity management use case, a com.ibm.team.workitem.editor.opportunity editor presentation is appropriate. If there is an existing editor presentation in Rational Team Concert that you would like to use as a model for your new editor presentation, you can use the Duplicate function available in the Eclipse client interface. See Resources for more information about duplicating the editor presentation.


Customize the new work item type

To customize your new work item, you need to add custom attributes. You can use the web or Eclipse client to add the new attributes. Some custom attributes that are appropriate for the opportunity management use case are shown in Table 2.

Table 2. Custom opportunity work item type attributes
Name Type Description
Identified By Contributor The person who identified the business opportunity
Opportunity Amount Decimal The estimated revenue associated with the opportunity
Skills Required String list The list of skills that are necessary to fulfill the staffing requirements
Client Name Small String The name of the customer
Client Email Medium String The email address for the primary client contact
Target (Enumeration) The quarter/year in which the project or opportunity is expected to begin
Probability (Enumeration) High/Medium/Low – The likelihood that the project will come to fruition
Next Action Large String What must be done next to progress the opportunity? Example: "setup meeting with client"
Action Owner Contributor The person responsible for carrying out Next Action
Action Target Date Timestamp The date by which Next Action is expected to be completed
Resources Assigned Contributor list The consultants assigned to work on the project or opportunity
Reason For Outcome Medium String A brief explanation to support the end result of the opportunity, for example, "won – our experience far exceeds that of our competitors" or "lost due to price"

You will also likely want to repurpose several of the default attribute types for your new work item type. A few that can be repurposed for opportunity management are shown in Table 3.

Table 3.Default attributes used for opportunity work item type
Name Type Description
Summary Medium HTML Rename Summary in the editor presentation to be Opportunity name.
Note: In the query builder, this attribute will retain the name Summary.
Owned By Contributor The person managing the opportunity
Description Large HTML The description of the work to be performed

Once these attributes are created in your new work item type, you need to define presentations for them in your editor presentation.

These are the basic set of attributes necessary for opportunity management in Rational Team Concert. You can further customize your work item type with attributes that are appropriate for opportunity management within your organization, such as contract type, contract links, reviewers, reviewer notes, and so on. Guidance on creating additional attributes follows.

Select the attribute type

When determining the type for your new custom attributes, it may be easiest to think of how you would like these new attributes to appear in the user interface. For some attribute types, such as a String type attribute with a String or Text presentation, the appearance is easy to anticipate. For others, the tips in Figures 2 and 3 will be helpful.

Figure 2. Options for single selection
Four examples for creating single selection fields

Click to see larger image

Figure 2. Options for single selection

Four examples for creating single selection fields
Figure 3. Options for multiple selections
3 examples for creating multiple selection fields

Click to see larger image

Figure 3. Options for multiple selections

3 examples for creating multiple selection fields

Set the required attributes

Once the custom attributes are created, you may want to set particular attributes as required in certain workflow states. The validation for required attributes occurs at the time the work item is saved. If required attributes are not populated, Rational Team Concert prohibits the work item from being saved and will return an error to you. As of Version 4.0.0.1, this customization feature is available only in the Eclipse client.

Follow these steps to define the required attributes, as shown in Figure 4:

  1. Go to the Process Configuration tab
  2. Expand the Team Configuration section
  3. Select Operation Behavior
  4. Locate the Operations table and scroll down to the view the various operations
  5. Locate the Work Items operation
Figure 4. Required attributes: Steps 1-5
Set required attributes with Operation Behavior

Click to see larger image

Figure 4. Required attributes: Steps 1-5

Set required attributes with Operation Behavior

Steps 6-10 are illustrated in Figure 5.

  1. Select the icon in the Everyone column of the Save Work Item (server) row.
    Note: When selected, the icon become highlighted in blue as shown in Figure 5.
  2. Scroll down to the Preconditions list and click the Add button. This generates an Add Preconditions popup window.
  3. Within the Add Preconditions popup, scroll down and locate the options for required fields: Required Attributes ForCondition, Required Attributes For Type and State, and so on.
  4. Select the precondition of your choice. In the opportunity management use case our required fields are based on the following precondition: Required Attributes for Type and State.
  5. Click OK.
Figure 5. Required attributes: Steps 6-10
Define preconditions for required attributes

Click to see larger image

Figure 5. Required attributes: Steps 6-10

Define preconditions for required attributes

Steps 11-13 are illustrated in Figure 6.

  1. Locate the Name field, which will populate with Required Attributes For Type and State. In this field enter a name for your precondition. In the screen shot the name highlighted is 02 Noticed which is the earliest stage in the Opportunity Management use case workflow.
  2. In our use case, the list of required attributes expands as the work item advances through the various stages of the work flow. Notice that the precondition names we used correspond to the stages of our work flow.
  3. Scroll down and locate the Category or Type / Attributes section and identify the work item for which you would like to define a required attribute. Click on the arrow to expand the contents of the work item type.
    Note: In the opportunity management use case there were three types listed. You may find it necessary to hover over the choices to distinguish the types from one another. In this case we are working with the work item type for opportunity.
Figure 6. Required attributes: Steps 11-13
Enter a name for the new precondition

Click to see larger image

Figure 6. Required attributes: Steps 11-13

Enter a name for the new precondition

Steps 14-16 are illustrated in Figure 7.

  1. Scroll down to the appropriate type. Notice in the opportunity management use case the desired type is located as a subset called opportunity
  2. Highlight the type for which you would like to define required attributes. In the screen shot below we are working with the work flow stage 02 – Noticed.
  3. Click the Edit button to specify which fields will be required for this type.
Figure 7. Required attributes – steps 14-16
Associate attributes with the new precondition

Click to see larger image

Figure 7. Required attributes – steps 14-16

Associate attributes with the new precondition

Steps 17-21 are illustrated in Figure 8.

  1. Select the required properties by placing a check mark next to the respective fields in the popup box.
  2. Click the OK button once all fields are specified.
  3. Click the Apply changes button.
  4. Click the Save button
    Note:
    This is critical. If you don't click Save you may lose your configuration changes. If you attempt to close the window without saving you will be prompted that your changes were not saved.
  5. Repeat steps 7-20 as needed until all required attributes are defined.
    Note: When specifying required fields for stages in a workflow please keep in mind that required fields for each stage must be explicitly stated. Rational Team Concert does not assume that everything required in your first state is also required in your second state. You must specify the fields.
Figure 8. Required attributes - steps 17-20
Select attributes, apply changes and save

Click to see larger image

Figure 8. Required attributes - steps 17-20

Select attributes, apply changes and save

Helpful hints for custom attributes

When creating and working with custom and required attributes, here are some helpful hints to consider.

  • Delete and re-add a custom attribute type to change it: Once you have added a new custom attribute, you can choose to edit the attribute. However, you will not be able to change the attribute type when editing. If you need to change the type of the attribute, you will need to remove the attribute and then add a new custom attribute of the appropriate type.
  • Use HTTP filtered value sets to define your values in XML: HTTP filtered value sets are useful when you are working with a large amount of data and you want to be able to update the values in the set outside of the Rational Team Concert environment. However, HTTP filtered value sets currently have a limit of 150 values. With XML that contains more than 150 values, the additional values for the attribute using the HTTP filtered value set will not be rendered by Rational Team Concert.
  • Synchronize to reflect new fields: If new fields are added to your work item type, any existing work items of that type must be synchronized to reflect the new fields. Synchronization must be performed in the Eclipse client. As of Version 4.0.0.1, this feature is not available in the web client. For additional details on how to synchronize your work items, refer to the Rational Team Concert information centers in the Resources.

If your intention is to make the newly added field a required attribute, you must first synchronize all of the existing work items, as well as populate the attribute in each of the work items before making the field required. Otherwise, if you set the field to required before synchronizing, Rational Team Concert will not add the new attribute to work items that are in states where the attribute is required.

  • Use Unassigned literal for required attributes: When creating enumerations, one literal has to be declared as the default value. When working with required attributes, be sure to use the Unassigned literal instead of the default literal. The unassigned literal makes it possible to configure the enumeration as a required attribute.

Test the new work item type

Test your new work item type by creating a new work item using both the Eclipse and web client interfaces to Rational Team Concert. If you removed all other work item types provided by default by Rational Team Concert as discussed in Create a new work item type, your new work item type will be the only type available for selection.

Verify that the work item is rendering as intended in both the Eclipse and web clients. Sections defined in the editor presentation will appear differently in the different clients, and so the presentation will look different in each of the clients. If the layout and attribute presentations are not as expected, you need to alter your editor presentation as needed, until the layout and all attributes are displayed as intended in both clients.

Once the presentation is correct, move your new work item through the workflow, and validate that attributes are required at the appropriate states in the workflow as configured in your required attributes settings.


Summary

Rational Team Concert provides features and capabilities out of the box to facilitate application lifecycle management. However, it is easy to customize Rational Team Concert for non-traditional uses as well, such as opportunity management. This article discussed how to create a new work item type, how to set the custom attributes, workflow, and editor presentation for this work item type, and how to define required attributes in the context of opportunity management. The information provided here can be used to customize Rational Team Concert for many other non-traditional uses.

After you have created and customized a new work item type, you can continue to customize Rational Team Concert for your non-traditional use by creating new queries and dashboards appropriate for your new work item type. For example, for opportunity management some appropriate queries include: opportunities that are currently being pursued, opportunities that are currently being pursued and require some specific skill, opportunities that were won, and opportunities that were lost. A custom dashboard with graphs showing comparisons of opportunities with specific required skills or graphs comparing the number of opportunities lost and won, for example, is also practical for this use case.

Resources

Learn

Get products and technologies

  • Download Rational Team Concert from Jazz.net and try itfree on up to 10 developers for as long as you want (requires registration). If you'd prefer, you can try it in the sandbox instead, without installing it on your own system.
  • Evaluate IBM software in the way that suits you best: Download it for a trial, try it online, or use it in a cloud environment.

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Rational software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=957389
ArticleTitle=Customize Rational Team Concert for non-traditional uses
publish-date=12172013