Home > Articles > Programming

This chapter is from the book

11.4 Realization with ClearQuest

In section 11.2, "Agile and Scrum in a Nutshell," we described the Agile process and the Scrum in particular. Unlike Rational Team Concert, which has a built-in process template to support Scrum, ClearQuest does not have an Agile built-in schema. In this section we shall explain how to build a schema to support Agile projects. Reading the process description in section 11.2, we can identify data objects and workflow scenarios. Now let us take out the data objects from the description. These are

  • Request
  • Product backlog of requests
  • Sprint
  • Activity
  • Sprint backlog of activities
  • Team
  • Iteration

Let's discuss each of these data objects a bit more.

  • A request (or CR or any other name that may fit your environment) is realized by a state-based record type. We shall describe the fields of this record type in the next section, but one important field should be the RequestType. Types could be Defect, Enhancement, Feature, Story, Test Case, and so on. Another important field is Priority; the team will select Requests to implement in the iteration based mainly on priority.
  • The product backlog of requests and sprint backlog of activities are lists of work items. We do not need to create a special object for these; the reason is that the logs will be realized with queries whose result set is the backlog. The project backlog is a query on the Request record type that filters all of the analyzed requests (ready to be selected for the sprint), sorted by priority. The sprint backlog is a query on the Activity record type that filters all of the opened activities (not completed) that are referenced from a specific sprint, sorted by priority.
  • A sprint is realized by a state-based record type. This record type will have fields of type Reference_List to the Requests and the Activity record types, and fields of type Reference to the Team and Project record types.
  • An activity (or task or work item or any other name that may fit your environment) is realized by a state-based record type. As stakeholder requests are usually high-level and nontechnical, the team will break down requests into activities. Each activity will be assigned to a team member.
  • The team is realized by a stateless record type. The Team record type contains a list of team members, specific roles in the team such as Team Leader, and users having a role.
  • Iteration is realized by a stateless record type. The Iteration record type contains the iteration name, the start date, and the end date.

The record types and their relationships are described in Figure 11.15.

Figure 11.15

Figure 11.15 Entities relation diagram for the Scrum schema

We have realized some of the data objects with state-based record types and some with stateless record types, and we have realized the product backlog and the sprint backlog with queries.

11.4.1 Required Data

In this section we describe the fields for each record type that are essential for the solution. It is assumed that each implementation will include additional fields based on products developed, organizational culture, regulations, and other considerations.

Table 11.1 describes the suggested fields for the Request record type.

Table 11.1. Request Suggested Fields

Field Name

Field Type

Comments

Headline

Short_String

Description

Multiline_String

CR_Type

Short_String

Closed choice list of request types

Priority

Short_String

Requestor

Reference

Reference to the user submitting the request

RequestForProject

Reference

Reference to the project record (optional)

Activities

Reference_List

List of the activities this request breaks down to

Iteration

Reference

Reference to the Iteration record

EstimatedEffort

Integer

Estimated effort in hours to deliver the request; mandatory in the analysis

Figure 11.16 is a screen shot of the Request record, with several of the fields listed in Table 11.1.

Figure 11.16

Figure 11.16 Request record: main tab

Table 11.2 describes the suggested fields of the Sprint record type.

Table 11.2. Sprint Suggested Fields

Field Name

Field Type

Comments

Headline

Short_String

Description

Multiline_String

Iteration

Reference

Reference to the Iteration record

StartDate

Display only, derived from Iteration. StartDate

EndDate

Display only, derived from Iteration. EndDate

Requests

Reference_List

Reference to the Request record; optionally include back reference

Activities

Reference_List

List of the activities this sprint breaks down to

Team

Reference

Reference to the Team record

Review

Multiline_String

Figure 11.17 displays the Sprint record main tab; it shows the sprint details, the responsible team, iteration name, end date, and other information. You can see the list of requests that will be realized by the team in this sprint, in this case one new feature to develop and one defect to fix.

Figure 11.17

Figure 11.17 Sprint record: main tab

Table 11.3 describes the suggested fields of the Activity record type.

Table 11.3. Activity Suggested Fields

Field Name

Field Type

Comments

Headline

Short_String

Description

Multiline_String

ActivityType

Short_String

Closed choice list of work items/activity types

Priority

Short_String

Owner

Reference

Reference to the user who is the solution provider

DueDate

Date_Time

Optional

ResolutionDescription

Multiline_String

ActualDate

Date_Time

Optional

EstimatedEffort

Integer

Estimated effort in hours to deliver the request; mandatory in the analysis

ActualEffort

Integer

Actual effort in hours (optional)

UnitTest

Short_String

Unit test name; may be an automated script name

Figure 11.18 is a screen shot of the Activity record main tab, with several of the fields listed in Table 11.3.

Figure 11.18

Figure 11.18 Activity record: main tab

Figure 11.19 displays the Activities tab in a Sprint record. The team has created five activities of different types, to realize the two requests that are shown in the Requests field.

Figure 11.19

Figure 11.19 Activities and Requests related to a sprint

We have seen in this section the record types and the fields that construct the Scrum schema.

11.4.2 Understanding the Workflows of Each Record Type

After creating the three state-based records types and the fields in each one, we need to define the state machine for each record type. In the next section we describe the workflow for each record type.

11.4.2.1 Request

The workflow for the Request record type depends a lot on the organization, the stakeholders, and the regulations enforced. We propose the flow shown in Figure 11.20.

Figure 11.20

Figure 11.20 The Request record type workflow

The Request is submitted to the New state and analyzed to identify feasibility, effort, priority, possible impacts, risks, and so on. After it is analyzed and priority is given by the stakeholders, it can be picked by a team to be developed in a sprint. At the end of the sprint during the Retrospective (review meeting) the deliverables are evaluated. If the deliverables are found to meet the stakeholder request and have the desired quality, the Request can be moved to the Delivered state.

In some cases a Request can be moved from the New state directly to the InSprint state, for example, in the case of a defect or a request submitted by the team. In either case the Request must get a priority value by the stakeholder.

11.4.2.2 Activity

The workflow for the Activity record type is similar to the CMBaseActivity record type of the UCM package. We suggest that this record type be integrated with your version control system. If you are using ClearCase, add the UCM package to the schema and enable the Activity record type to the UCM package. The Request and the Sprint record types should not be UCM-enabled because artifact changes are controlled with the Activity record.

The state machine includes four consecutive states: Waiting, Ready, Active, and Complete (see Figure 11.21).

Figure 11.21

Figure 11.21 The Activity record type workflow

11.4.2.3 Sprint

The Sprint record type is used for project management as explained in the previous section. During the sprint planning meeting (or before) the record is created and its state is Submitted. When the sprint starts (the sprint iteration start date is reached), the team performs the action StartSprint which moves the record to the state InSprint. When the sprint ends (the sprint iteration end date is reached) and during the sprint Retrospective meeting the team performs the action Close, which moves the record to the state Closed. So the Sprint record type has three consecutive states: Submitted, InSprint, and Closed (see Figure 11.22).

Figure 11.22

Figure 11.22 The Sprint record type workflow

In this section we have described the suggested workflow for each of the record types that construct the Scrum schema.

11.4.3 Understanding Metrics in Agile Development

We discussed metrics in detail in Chapter 9, "Metrics and Governance"; we include here just a few words on metrics in Agile projects. Metrics measure data of direct business value to the organization. In the repetitive cycles of Agile projects, improvement can bring value, and to improve we need to measure. Working with ClearQuest, we can measure by means of charts and reports provided by the tool.

Figure 11.23 is a screen shot of the ClearQuest client displaying some typical queries and charts for Scrum projects in the workspace. The executed chart shows Planned Effort, and it displays the estimated effort of requests in each iteration.

Figure 11.23

Figure 11.23 Planned Effort for Iteration chart

The "classic" release burndown charts and velocity charts cannot be created with the ClearQuest chart wizard, but you can create reports and distribution charts that display the closed activities per iteration, or the actual/estimated effort of activities in an iteration, which will provide similar information. Also, using tools such as Rational Insight will allow you to present burndown and velocity charts.

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020