How Rational Configuration and Change Management Products Support the Software Engineering Institute's Software Capability Maturity Model by Bill Cottrell and John Viehweg Software Engineering Specialists Rational Software Since Rational provides software development solutions to its customers, we are often involved in process improvement activities using the Software Engineering Institute (SEI) Capability Maturity Model for Software (SW-CMM ). Although our customers know that software development tools are not the "silver bullet" for achieving process maturity, they do often ask us how Rational's software development tools can help them realize SEI SW-CMM improvements. This article explains how we respond to this question -- by identifying the ways Rational Software Configuration Management (SCM) tools relate to the SEI SW-CMM Key Process Areas. Rational tools help project teams automate the software development process, produce and manage artifacts, and communicate status, progress, and results. Rational's integrated tool suite supports the entire software development cycle, including its roles, activities, and artifacts. Each tool has a robust set of features that support many aspects of the Software Engineering Institute's Software Capability Maturity Model (SEI SW-CMM ). The Rational tools we'll discuss are the configuration and change management tools Rational ClearCase and Rational ClearQuest, which are used in conjunction with Unified Change Management (UCM), the process that binds the two tools together. UCM is Rational Software's
approach to managing change in software system development from requirements to release. It spans the development lifecycle, defining how to manage change to requirements, design models, documentation, components, test cases, and source code. UCM focuses on these concepts: An activity is a piece of work to accomplish in order to advance the state of a project. An activity might arise from an issue raised in a meeting, a defect entered into a defect database, or a request for enhancement sent in by a customer. Activities are tied to product features and requirements. An artifact is an item, usually a file that should be under version control. At a more conceptual level, artifacts can be requirements, tests, visual models, code, project plans, and so on -- basically any item that a project needs to manage and control. One of UCM's key strengths is that it links the activities used to plan and track project progress with the artifacts that are undergoing change. Rational products provide both process and tools to support UCM: The Configuration and Change Management discipline in the Rational Unified Process (RUP) describes the process of using UCM. Rational ClearQuest manages a project's activities -- the tasks, defects, and requests for enhancement -- and provides charting and reporting tools that can help track project progress. Rational ClearCase manages all the artifacts produced by a software project, which includes both system artifacts and project management artifacts. What Is the SEI SW-CMM? The SEI has now been involved in software process improvement for well over a decade. The SEI SW-CMM provides software process improvement guidance to people in projects, organizations, or an entire enterprise. This guidance includes information on industry key practices that should be implemented to help ensure success of software projects. While the software industry continues to debate how comprehensive, measurable, or practical all of the capability maturity models are or may become, one thing is known: These models DO provide needed guidance, and the workhorse of the bunch is the SEI SW-CMM. The SEI SW-CMM has been around the longest and has become a de facto standard to many. Process experts, organizational change experts, process improvement consulting firms, and the US Department of Defense (which started it all) are more experienced at implementing the SEI SW-CMM than any other capability maturity model. The SEI SW-CMM has five levels of maturity:
Level 1: Organizations do not provide a stable environment for developing and maintaining software. Level 2: Organizations have installed basic software management controls. Level 3: Organizations exploit effective software engineering practices when standardizing their software processes. Level 4: Organizations set quantitative quality goals for both software products and processes. Level 5: Organizations focus on continuous process improvement. Most software organizations today operate at Level 1 maturity. Most also aspire to achieve Level 4 and Level 5 but find the biggest benefit from Level 2 and Level 3 and stop there. This article will address the ClearCase and ClearQuest support Rational provides for all five levels of process maturity. In addition to the five levels of maturity, the SEI SW-CMM breaks down these levels into key process areas (KPAs). The KPAs are further broken down into five common features: Commitment: What should be done to establish process? Ability: What prerequisites are needed to be successful? Activity: Which roles, activities, and artifacts are required? Measurement: What measurements and analysis are needed to assess progress? Verification: How does the organization confirm process compliance? It is within the context of these five common features that the SEI SW- CMM provides guidelines for software process improvement for all the KPAs at every CMM level. 1 While the SEI SW-CMM provides general guidelines and some examples of what roles, activities, and artifacts could be used to implement these key practices, it leaves the implementation details up to the specific needs of those trying to mature their software processes. Those details include, but are not limited to: selecting the right mix of methods, techniques, and tools to be implemented; implementing them at the right time; and implementing them with the right people -- people who don't fear change. Why? Because any change is usually difficult for people to accept. Software change is no exception. That's why the right mix is so important. One of the implementation details to be determined is what, if any, software development tools to use. That's where Rational comes into the picture. We offer SCM solutions that support the implementation of process improvement. Rational UCM and Tool Support for SEI SW-CMM
Level 2 Maturity This section describes briefly how Rational ClearCase and Rational ClearQuest support each Level 2 Key Process Area (KPA). I will devote a longer subsection to detailing the features in the Software Configuration Management KPA because they are directly related to the capabilities of UCM and ClearCase and ClearQuest. Requirements Management KPA. Using UCM with Rational ClearCase and Rational ClearQuest provides SEI SW-CMM support whenever the system requirements allocated to software are changed. ClearCase versioned artifacts affected by the changes must be associated with an activity in UCM. Therefore, only the affected documents and code that are now consistent with the updated requirements are part of the baseline due to be released. Software Project Planning KPA. The project's software development plan and changes to it can be managed and controlled using ClearCase and ClearQuest. ClearQuest distribution charts can be used to see who has been assigned the most/least change requests for scheduling resourceloading activities. Software Project Tracking and Oversight KPA. Using the Project Tracker add-in to Rational ClearQuest, progress reported in ClearQuest can be transferred automatically to Microsoft Project 2000, so that a project manager can always update the project plan with the most accurate and up-to-date information. In addition, approved changes to commitments that affect the software project are communicated using the ClearQuest email-notification feature. Software Subcontract Management KPA. Requiring subcontractors to use UCM with Rational ClearCase and Rational ClearQuest will provide significant support for effectively managing their progress. In addition, ClearCase and ClearQuest Multi-site can be used to manage configurations and changes for geographically distributed subcontract efforts. Software Quality Assurance KPA. The project's SQA plan and changes to it can be managed and controlled using Rational ClearCase and Rational ClearQuest. ClearQuest can be used to document and track deviations identified in the software activities and software work products. All these features provide appropriate visibility into the products being built. Software Configuration Management KPA Commitment Commitment 1. The project follows a written organizational policy for implementing software configuration management (SCM). 2 Once an organizational policy is set for SCM, project level policies can be implemented in UCM. UCM includes a set of project policies that you can set to enforce development practices among members of a project team. By setting policies, you can improve communication among project team members and minimize problems when integrating their work. For
example, you can set a policy that requires developers to update their work areas with the project's latest recommended baseline before they deliver work to the integration stream. UCM policies can be set from either ClearCase or ClearQuest. Abilities Ability 1. A board having the authority for managing the project's software baselines that is a Software Configuration Control Board (SCCB) exists or is established. Using UCM, ClearCase, and ClearQuest enables SCCB roles such as Project Mgr, Change Control Mgr, and Configuration Mgr. UCM manages the baseline process, controls the baselines the SCCB establishes, and provides the SCCB the necessary information on every change they review. Ability 2. A group that is responsible for coordinating and implementing SCM for the project (that is, the SCM group) exists. UCM, ClearCase, and ClearQuest enable SCM group members, such as project managers and developers, to manage the software baseline library, generate SCM reports, and maintain updates to the software baselines. Ability 3. Adequate resources and funding are provided for performing the SCM activities. UCM enables all the project roles to perform SCM activities. ClearCase and ClearQuest manage these activities and their artifacts. The information stored in these tools can be used to provide the insight necessary to properly fund the SCM activities. Ability 4. Members of the SCM group are trained in the objectives, procedures, and methods for performing their SCM activities. Rational-trained professionals provide education and training; Deployment and QuickStart packages; consulting; and worldwide technical support. To supplement training and mentoring, ClearCase and ClearQuest provide robust online help and tutorial features. Ability 5. Members of the software engineering group and other software-related groups are trained to perform their SCM activities. Rational-trained professionals provide education and training; Deployment and QuickStart packages; consulting; and worldwide technical support. To supplement training and mentoring, ClearCase and ClearQuest provide a robust online help and tutorial features. Activities Activity 1. An SCM plan is prepared for each software project according to a documented procedure. Rational offers several tools to document the SCM plan, including: the Rational Unified Process (RUP), Rational Rose, Rational ClearCase, and Rational ClearQuest. ClearCase and ClearQuest provide a number of unique features that can be incorporated into the SCM plan, including automatic to-do lists, personal workspace management, and parallel development through unlimited branching and merging.
Activity 2. A documented and approved SCM plan is used as the basis for performing the SCM activities. UCM implements the SCM plan and provides evidence that the plan is being carried out through the use of auditing, reporting, and charting features. Activity 3. A configuration management library system is established as a repository for the software baselines. ClearCase provides a secure, highly scaleable repository specifically designed to efficiently store all project assets. ClearCase dynamic views provide rulebased access to the repository to ensure that only artifacts related to an activity are accessed. Activity 4. The software work products to be placed under configuration management are identified. ClearCase and ClearQuest do not constrain the use, type, or size of any kind of software work product. The RUP provides guidelines to assist in the determination of software work products to be placed under Configuration Management (CM) control. UCM allows the software work products to be organized into components, which are groups of related file elements that are developed, integrated, and released together. Activity 5. Change requests and problem reports for all configuration items/units are initiated, recorded, reviewed, approved, and tracked according to a documented procedure. UCM provides an integrated solution for managing change. The workflow defined in the SCM plan is implemented through a ClearQuest state model. UCM requires that any changes to a configuration item must be associated with a change request. In addition, UCM provides many features to simplify management of change requests and configuration items including: a fully customizable state model, role-based permissions to control movement of change request through the SCM process, and automatic notification of changes to states and fields. Activity 6. Changes to baselines are controlled according to a documented procedure. UCM requires that any changes to a configuration item must be associated with a change request. The change request records the set of files that a developer creates or modifies to complete a development task. Change requests that are identified for release are grouped into baselines. In this way, UCM provides complete documentation of what is included in a release. Activity 7. Products from the software baseline library are created, and their release is controlled according to a documented procedure. UCM implements the SCM plan to allow the tight control and documentation of activities included in the baselines. Baselines are tested to ensure the quality and reliability of work products. Promotion levels are assigned to indicate the results of the tests. This insures the integrity of the products built from the software baseline library. Activity 8. The status of configuration items/units is recorded according to a documented procedure. As noted in Activity 6 above, UCM requires that any changes to a configuration item must be associated with a change request, and the change request records the set of files that a developer creates or modifies to complete a development task. The SCM
plan is implemented through the ClearQuest state model. The status of each change request is indicated by the state as recorded in the ClearQuest database. ClearQuest provides full-featured queries, charts, and reports to monitor the status of change requests. Activity 9. Standard reports documenting the SCM activities and the contents of the software baseline are developed and made available to affected groups and individuals. ClearQuest provides fullfeatured queries, charts, and reports to monitor the status of SCM activities. These queries, charts, and reports are organized into public and private folders. Public folders can be shared across teams, an organization, or an entire enterprise. ClearCase creates and stores an event record each time an element is modified or merged. Many ClearCase commands include selection and filtering options that can be used to create reports based on these records. The scope of such reports can cover a single element, a set of objects, or entire Versioned Object Bases (VOBs). Activity 10. Software baseline audits are conducted according to a documented procedure. UCM provides the capability to create baselines. These baselines identify: the method in which the baseline was created, the change requests, and one version of every element in one or more configuration items. The baseline represents the complete configuration of the system at that point. In addition, a baseline's contents can be compared with those of its predecessor or of any other existing baseline. UCM also provides an audit feature that allows any software build functions to be monitored and a configuration record to be created. Measurement Measurement 1. Measurements are made and used to determine the status of the SCM activities. As noted in Activity 9 above, ClearQuest provides full-featured queries, charts, and reports to monitor the status of SCM activities. Examples of metrics captured "out-of-thebox" include, but are not limited to: state (Assigned, Open, Closed), priority, severity, date submitted, date modified, and resolution. Verification Verification 1. The SCM activities are reviewed with senior management on a periodic basis. UCM facilitates the collection, organization, and presentation of data associated with the SCM activities. Queries, charts, and reports can be designed to summarize project data for senior management. For example, charts depicting trends of new activities versus resolved activities are available. Verification 2. The SCM activities are reviewed with the project manager on both a periodic and event-driven basis. As noted in Verification 1, UCM facilitates the collection, organization, and presentation of data associated with the SCM activities. Queries, charts, and reports can be designed to help the development team manage SCM activities. Queries can be designed to collect information for specific time frames. E-mail notifications can be triggered from specific events, such as the introduction of a new activity.
Verification 3. The SCM group periodically audits software baselines to verify that they conform to the documentation that defines these baselines. See explanation under Activity 10 above. Verification 4. The software quality assurance group reviews and/or audits the activities and work products for SCM and reports the results. See explanation under Activity 10 above. Also note that the auditing process can be implemented through the ClearQuest tool. Records that track the details of the audit, including status of the audit, can be managed through ClearQuest. Audit documentation, reports, and other artifacts can be attached to the audit records and/or versioned within ClearCase. Reporting on the status of the audit can then be achieved using the reporting, querying, and charting features of ClearQuest. Please note that these specialized "audit records" are not included in ClearQuest's outof-the-box schema, but can be realized using the ClearQuest customization tools. Rational UCM and Tool Support for SEI SW-CMM Level 3 Maturity UCM supports the SEI SW-CMM Level 3 Key Practices by managing the software artifacts produced for a defined software lifecycle. UCM supports Organizational Process Focus, Organizational Process Definition, and the Training Program KPAs by providing automation to the defined process and incorporation of SCM policies and guidelines while enacting the SCM process. These tools also support Integrated Software Management, Software Product Engineering, and Intergroup Coordination KPAs by providing for parallel development, personal workspaces, and SCM process integrity. They support the Peer Review KPA by providing easy access to development artifacts under review and reports on their state and progress. More specifically, one of the strengths of ClearQuest, Rational's change management solution, is its ability to manage change impact, including tracking, measuring, and reporting. ClearQuest allows a project team to not only capture change requests, but also to capture meta-data about the change. Meta-data (e.g., severity and cost impact magnitude), coupled with a well-defined change management state model could capture all the essential information to manage project integration effectiveness. For example, a project management metric could be created to capture the number and magnitude of unanticipated major adverse impacts to the software project, tracked over time. Rational UCM and Tool Support for SEI SW-CMM Level 4 and 5 Maturity ClearQuest provides a robust set of project metrics for quantitatively controlling the software process performance (Level 4) and analyzing defects (Level 5) to take specific actions that may help prevent the occurrence of future defects and optimize your software development process. A strength of ClearQuest is that it can help you capture change
request meta-data and then measure and report on the status of the change. For example, a project team could capture descriptive details about a defect, where the defect came from, and/or its current state in the corrective process. If other Rational Suite tools for software development are used, then some of the above information can be captured directly from the integrated tool suite repository. For example, units containing the defect or the test script where the defect occurred could be captured from Rational's testing repository when the defect was written in Test Manager. If you are using other tools, then any project member using the Rational ClearQuest Web interface could enter all this information. Once the meta-data is captured, ClearQuest provides the queries, charts, and reports to monitor the status of SCM activities through the use of this meta-data, (e.g., number and severity of defects). Although most metrics like this do not come out-of-the-box, ClearQuest does have a very easy-touse query, chart, and reporting feature to create defect-tracking queries. Charts can be developed to detail defects by severity and to track their status during the correction process. Charts can be formatted using many different display techniques (e.g., bar and line graphs, pie charts, and so on), and they can either be made available to the general audience or held in private for an individual or group. Great Rational Support for SEI SW-CMM Achievement Rational's tools are designed to help an organization or project achieve all levels of SEI SW-CMM maturity. While no tool set is a silver bullet, the capabilities of Rational ClearCase and ClearQuest, along with UCM, do map to our customers' SEI SW-CMM needs. Just as important, the Rational field staff understands these correspondences and can help customers apply our process and tool solutions to support their SEI SW-CMM efforts. References Mark C. Paulk, Charles V. Weber, Suzanne M. Garcia, Mary Beth Chrissis, and Marilyn W. Bush, "Key Practices of the Capability Maturity Model, Version 1.1," Software Engineering Institute, CMU/SEI-93-TR-25, DTIC Number ADA263432, February 1993. Rational ClearCase Product Family Datasheet, D-710B, October 2001. Rational ClearQuest Data Sheet, D-706K, October 2001. Notes 1 To become more familiar with the SEI SW-CMM, review what the SEI has to offer at http://www.sei.cmu.edu/cmm/cmm.html. 2 Definitions (italicized text) for all the features in this section come from Mark C. Paulk, Charles V. Weber, Suzanne M. Garcia, Mary Beth Chrissis, and Marilyn W. Bush, "Key Practices of the Capability Maturity Model, Version 1.1," Software Engineering Institute,
CMU/SEI-93-TR-25, DTIC Number ADA263432, February 1993. For more information on the products or services discussed in this article, please click here and follow the instructions provided. Thank you! Copyright Rational Software 2002 Privacy/Legal Information