Using Rational Software Solutions to Achieve CMMI Level 2

Size: px
Start display at page:

Download "Using Rational Software Solutions to Achieve CMMI Level 2"

Transcription

1 Copyright Rational Software Using Rational Software Solutions to Achieve CMMI Level 2 by Rolf W. Reitzig Founder, Cognence, Inc. Over the past two decades, the Capability Maturity Model for Software (SW-CMM ) has been the predominant tool used for assessing and improving an organization's software development maturity. Following the success of the SW-CMM, various models were developed for other disciplines, including: Systems Engineering Capability Model (SECM) - EIA/IS-731 Software Acquisition CMM Integrated Product Development CMM Each of these models was well received in its respective field. Ironically, however, the success of these various CMMs also introduced many drawbacks. Although all were designed to guide organizations toward higher levels of maturity, their underlying structures were different. Some, like the SW-CMM, advocate a "staged" approach that pre-defines process areas organizations should focus on as they reach "maturity levels." Others, like the SECM, implement a "continuous" approach that allows organizations to improve maturity within a particular process area, independent of other process areas. The models also have significant overlap, particularly in the areas of project management, requirements, and process definition. 1 These drawbacks added up to higher implementation costs because of additional requirements: training, certifications, expertise, process engineering, assessments/appraisals, and so forth. Confusion was also a

2 frequent consequence, because each model introduced different representations, terminology, and specialized use within an organization. As a remedy, the Software Engineering Institute (SEI) at Carnegie Mellon University ( launched the Capability Maturity Model Integration (CMMI) effort. The goals: to reduce the redundancy and complexity resulting from the use of separate, multiple capability maturity models, and to improve both the efficiency and return on investment regarding process improvement. The plan was to meet these goals through the integration of several CMMs, and the creation of a product suite that provides frameworks for specified disciplines (or combinations of disciplines), training products, assessment materials, a glossary of terms, and customized requirements. 1 In this article, we will provide an overview of the resulting CMMI and see how solutions that Rational Software Corporation offers can help organizations achieve the requirements of Level 2 and beyond. From the CMM to the CMMI The United States Department of Defense (DoD) commissioned the original Capability Maturity Model for Software (SW-CMM) in response to escalating costs and schedule overruns that were impacting DoD projects and programs. Software development results were no better in the commercial software industry. The Standish Group's landmark 1994 CHAOS Report showed that the average software project ran 189 percent over budget, and overshot its schedule by 222 percent. 2 The DoD needed a way to independently assess the software engineering capabilities of suppliers, while simultaneously providing them a roadmap for improvement. The CMM offered the DoD that objective measuring stick. With five increasingly higher levels of software capability as a gauge, the CMM clearly demonstrated the benefits of increased software development maturity. Software organizations operating at SW-CMM Maturity Level 3 are 65 percent more productive than those at SW-CMM ML 1; they reduce project costs and schedule by 20 percent and deliver 80 percent fewer defects. CMM ML 3 organizations also deliver projects with better cost and schedule predictability. 3 Moreover, because organizations that outsource software development projects are increasingly looking for greater software development maturity from their vendors, the CMM offers an independent basis for assessments. Consequently, suppliers that wish to deliver better results to their customers are engaging in CMM-based software process improvement efforts. As the SEI transitions from the CMM to the CMMI, more and more organizations will adopt the new, integrated model, and several forcingfunctions will hasten the adoption rate. The SEI has stopped updating the SW-CMM and plans to discontinue training for the SW-CMM by the end of SW-CMM Lead Assessors will be given until the end of 2005 to transition to the new CMMI appraisal method.

3 Leading companies are already adopting the CMMI in order to implement a standardized, integrated approach toward software and systems engineering in their organizations. Initiating a Process Improvement Project Generally, organizations seeking to improve their software engineering capabilities should first conduct a CMMI-based, independent, informal appraisal. This appraisal is typically based on the Standard CMMI Appraisal Method for Process Improvement (SCAMPI) developed by the SEI, and identifies strengths in the organization, as well as weaknesses, compared to the CMMI model. Weaknesses (gaps) identified in the interim profile appraisal can then be translated into an action plan, so the organization can work to resolve them. These weaknesses may range from non-conformance to required practices that support CMMI goals, to a general lack of institutionalized behaviors in the organization, to a lack of documented plans and procedures. Once the organization has addressed the appraisal action items, a formal SCAMPI appraisal is conducted to verify that the organization has, indeed, resolved the weaknesses and moved to a higher CMMI maturity level. A follow-up Cost of Quality Appraisal specifically shows the financial benefits of process improvement by comparing the organization's cost allocation prior to, and after, the effort. Using RUP to Accelerate Process Improvement The Rational Unified Process (RUP ) is uniquely designed to help organizations achieve the primary goal of the CMMI, which is to foster better quality software by improving the processes used to create it. A process is a sequence of steps performed for a given purpose, and it integrates people, methods and procedures, and tools (see Figure 1). 4 RUP integrates proven software engineering best practices to deliver worldclass software development methods, procedures, templates, and more -- all through an easy-to-use, intuitive Web interface. It provides a foundation that covers a large percentage of the requirements stated by the CMMI.

4 Figure 1: Improving the Software Development Process Requires Integration of People, Process, and Tools Rational Software also provides an integrated suite of tools that automates many aspects of the software development process, including requirements management, configuration and change management, visual modeling, automated testing, and more. These tools, which we will describe below, are integrated with RUP through a nearly seamless process-to-tool interface. In addition, Rational is strongly committed to educating the software development community regarding the value of improving the development process. Through a comprehensive series of process and product training course offerings, Rational University enables organizations to make the most effective use of RUP and Rational tools. Rational also provides professional services so that organizations can get their implementations up and running, and begin enjoying the benefits of higher software quality and improved productivity more quickly. Through the proper implementation of Rational's integrated software engineering best practices and automation tools, an organization can accelerate its attainment of CMMI Maturity Level 2, and have a solid foundation for Maturity Level 3. While other organizations spend their time defining and documenting processes and procedures, trying to integrate disparate tools, and internally creating custom training, Rational-enabled organizations are reaping the benefits higher process maturity provides. Understanding the CMMI The CMMI V1.1 model consists of twenty-two process areas. A process area is a cluster of related practices that, when performed collectively, satisfy a set of goals considered important for making significant improvement in a given area.

5 All CMMI process areas are common to both continuous and staged representations. In the staged representation, process areas are organized by maturity levels. 5 In the continuous representation, an organization focuses on its capability -- and improvement -- within a single process area, or on multiple specific process areas in ways that best meet the organization's business objectives and mitigate the areas of risk. Each process area has its associated specific goals, similar to the staged representation. Each capability level from 1 through 5 has an associated generic goal and associated generic practices. Organizations utilizing the continuous representation can find themselves at differing capability levels in various process areas, as illustrated by the example in Figure 2. Figure 2: The CMMI's Continuous Representation Approach. Organizations utilizing the continuous representation can find themselves at differing capability levels in various process areas. In this example, the requirements management (RM) process enjoys a fairly high level of capability. Other areas represented are project planning (PP), configuration management (CM), and measurement and analysis (MA). Alternatively, the staged representation provides a proven sequence of improvements, beginning with basic management practices and progressing through a predefined and proven path of successive levels. As shown in Figure 3, each sequence of improvement serves as a foundation for the next. The staged representation forces an organization to concentrate on a predefined set of process areas to attain each maturity level. An appraisal against the model allows an organization to be placed at a given maturity level so that it can accurately identify goals for improvement.

6 Figure 3: The CMMI's Staged Representation Approach In the staged representation, each of the twenty-two process areas is assigned to one of the five maturity levels (ML) depicted in Figure 3. Each process area consists of one or more specific goals, and one or more generic goals. Each goal has an associated set of defined practices. The practices of the generic goals are associated with four common features: Commitment to Perform, Ability to Perform, Directing Implementation, and Verifying Implementation (Figure 4). Figure 4: Process Areas and Goals in the Staged Representation of the CMMI. Each process area consists of one or more specific goals, and one or more generic goals. Each goal has an associated set of defined practices. To fully satisfy requirements for a process area, the organization must fulfill both the generic and the specific goals. Specific goals describe what must be implemented to satisfy a specific process area. As required model components, they are used in appraisals to help determine whether a process area is satisfied. Specific goals are supported by specific practices

7 or activities. Specific practices describe activities that should result in achievement of a process area's specific goals, and they are expected model components. Generic goals are called "generic" because the same goal statement appears in multiple process areas. In the staged representation, each process area has only one generic goal, and achievement of that goal signifies improved control in planning and implementing the processes associated with that area -- that is, indicating whether these processes are likely to be effective, repeatable, and lasting. In addition to being required CMMI model components, generic goals are used in appraisals to determine whether a process area is satisfied. They are supported by generic practices that institutionalize the area's processes, ensuring that these processes will remain an effective, repeatable, and lasting part of organizational behavior. The generic practices associated with generic goals are categorized by common features and are also expected components in CMMI models. Using Rational Software Solutions to Achieve CMMI Maturity Level 2 The CMMI's Maturity Level 2 has a single generic goal, which is stated as follows: Generic Goal 2 (GG 2) -- The process is institutionalized as a managed process. This generic goal must be satisfied for each of the Maturity Level 2 process areas to ensure that every project establishes, follows, and sustains a set of processes. Satisfying this generic goal shows that an organization has institutionalized the processes for all the Maturity Level 2 process areas. The generic practices that map to this generic goal include: Follow a policy. Plan the policy's process and its work. Provide resources and assign responsibility to perform the process and project work. Train personnel on the process, tools, and additional required knowledge for each process area. Ensure that the project manages and controls work products and processes. Evaluate how well the project adheres to the identified process. Review project status with project management and senior management. The generic goal and its generic practices apply to each of the Maturity Level 2 process areas.

8 As noted earlier, Rational Software provides a number of products and services that help organizations improve their CMMI maturity level. This section provides a brief overview of these products and services, and explains how they help satisfy the various process areas and goals of CMMI Maturity Level 2. Rational Unified Process (RUP) The Rational Unified Process (RUP) is a flexible framework providing disciplines, workflows, activities, and artifacts to support the software development process; it provides a disciplined approach to assigning tasks and responsibilities within a software development organization. The key best practices embodied in the RUP are: 1. Develop iteratively. 2. Manage requirements. 3. Use component architectures. 4. Model visually. 5. Continuously verify quality. 6. Manage change. The RUP is a valuable framework for satisfying many of the CMMI's Maturity Level 2 goals. Table 1 shows how disciplines within RUP correspond to particular CMMI process areas (PAs): Table 1: Correspondences Between RUP and CMMI RUP Discipline Requirements Project Management Configuration and Change Management Test Corresponding CMMI Process Areas (PAs) Requirements Management Project Planning Project Monitoring and Control Process and Product Quality Assurance Measurement and Analysis Configuration Management Measurement and Analysis Measurement and Analysis There are additional correspondences for Level 2: The RUP Environment discipline applies to several of the generic practices; the RUP activity, Develop Development Case, specifically addresses the GP 2.2 Plan the Process practice by asking projects to tailor the RUP to meet their specific requirements.

9 To fully satisfy CMMI goals, some additional activities must be performed that are not specifically called out by the RUP, including: Creation of organizational policies that direct the planning and performance of CMMI ML 2 processes. RUP doesn't specifically call out the creation of policies by senior management. Creation of detailed standards and procedures that address the dayto-day performance of activities. RUP workflows and activities function generally at the process level. Some engineering activities - - such as build procedures, project estimation, and so forth -- need to be documented in more detail. Process-oriented reviews. RUP identifies several levels of reviews, but these tend to focus on the products created by the software development process. By simply adding a process review dimension and documenting the results, an organization can satisfy these CMMI requirements. Managing suppliers. RUP is designed for use by an organization that typically develops software products or systems directly for a client organization; it does not specifically address the Supplier Agreement Management Process Area. However, an organization can become compliant in this PA by using the IEEE Std Recommended Practice for Software Acquisition. This standard outlines recommended steps an organization should follow when undergoing a software acquisition effort. If the standard is implemented correctly, many of the Supplier Agreement Management Process Area requirements will be satisfied. By adopting RUP, an organization can virtually eliminate the need to create and document software development processes internally. Instead, it can simply tailor RUP to best meet its needs, and to quickly take advantage of the proven best practices, templates, guidelines, and other assets RUP provides. Rational ClearCase Together with RUP, Rational ClearCase specifically addresses the goals of the configuration management process area. It also addresses the CMMI maturity Level 2 generic practice Manage Configurations. Used properly, ClearCase can also provide significant measurements and metrics that satisfy the Measurement and Analysis process requirement. In order to be fully compliant in the Level 2 Configuration Management process area, organizations adopting ClearCase should document the various procedures team members use in interacting with the tool, including: Check-in, check-out Delivery to integration stream Branching, merging, rebasing

10 Build/baseline creation Generation of build report(s) Generation of audit report(s) Performance of audits Rational ClearQuest Together with the RUP and Rational ClearCase, Rational ClearQuest provides a powerful change management capability that goes a long way toward satisfying requirements for the CMMI's Configuration Management process area, as well as aspects of the Requirements Management PA, the Measurement and Analysis PA, and the Process and Product Quality Assurance PA. It is important for organizations pursuing a CMMI improvement effort to document how ClearQuest is used to manage changes, including the various procedures used to enter change requests, create reports and charts, and so forth. ClearQuest can be used to support the Process and Product Quality Assurance PA by tracking results of process and work product audits, tracking and resolving non-compliance issues, reporting results to management, and maintaining records of quality assurance activities. Rational Unified Change Management (UCM) Organizations that use Rational ClearCase and ClearQuest should seriously consider implementing UCM, a powerful capability you can leverage when using these products in combination. You can implement UCM quickly, and begin realizing the benefits of properly managing change soon afterward. Over time, UCM can be tailored to better meet your organization's specific needs. UCM addresses the same CMMI requirements we associated above with ClearCase and ClearQuest, but in a much more expedited fashion. Rational supports adoption of this capability through various training courses for administrators and practitioners, and supplies out-of-the box UCM capabilities -- such as change request state models, configuration and change management reports, baseline and build management functions, and documentation -- as part of Rational Suite. Rational RequisitePro Rational RequisitePro offers requirements management and traceability matrix capabilities that can help organizations satisfy the Requirements Management PA's goals by providing the capability to manage change to requirements through a project's lifecycle. Used correctly, RequisitePro will also help keep project work products (such as design documents, project plans, test plans, etc.) in sync with project requirements.

11 And RequisitePro can also help satisfy the Measurement and Analysis PA by providing valuable information to the organization regarding requirements changes, churn, and shifting priorities. Rational University (RU) Rational's educational organization, Rational University, offers process and product course that help satisfy a CMMI's Maturity Level 2 generic practice common feature: Ability to Perform 2.5. These courses are invaluable for organizations seeking to come up to speed quickly on the new methods, best practices, and tools that will be used on projects. Organizations should not rely solely on RU to satisfy CMMI requirements, however. They should offer additional training for the Body of Knowledge each project team member's role requires, as well as organizational/project orientation and training to help team members understand how Rational solutions are specifically implemented for their project. Rational Professional Services For a CMMI effort, bringing in experienced consultants can make the difference between success and failure. Rational's consultants help accelerate tool and process implementations through pre-packaged QuickStarts, provide expertise to solidify the new practices and tools in the organization via consulting and mentoring, and assist in tailoring tools to meet specific organization's needs. Through a combination of Rational University courses and Rational services, organizations can ease the transition into new process and tool implementations and help these introductions take permanent hold, making the most of the company's investment. Of course, achieving Level 2 of the CMMI is just the beginning for a software development organization. Once you adopt Rational products and services, the infrastructure they provide can support ongoing achievement and help organizations attain the wider organizational process competency associated with Level 3 and beyond. Notes 1 From the "Concept of Operations for the CMMI" at 2 "The CHAOS Study." The Standish Group International, Inc., Capers Jones, "Measuring Software Process Improvement." Software Productivity Research, Software Engineering Institute, "The Capability Maturity Model." Carnegie Mellon University, 1994.

12 5 From "CMMI Integration, Version Staged Representation" found at 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 2003 Privacy/Legal Information