Fast track to CMMI implementation: Integrating the CMMI and RUP process frameworks

from The Rational Edge: This article explores all aspects of integrating the CMMI and RUP frameworks: why do it, how to get started, challenges to success, and how the Wipro Plug-in for RUP-CMMI Mapping can support the process for your organization. Look for the Webinar link at the end of this article. This content is part of the The Rational Edge.

Share:

Roshan V. Uttangi, Practice Head, Unified Process and Tools practice, Wipro Technologies

Roshan V Uttangi is the Practice Head for the Unified Process and Tools practice at Wipro Technologies. In addition to leading Wipro's journey to CMMI Level 5 certification, he also leads consulting engagements helping organizations to implement RUP and CMMI and find synergies between the two models.



Rizwan Syed Abdul Azeem Rizwan, Senior process consultant, Wipro Technologies

Rizwan Syed Abdul Azeem Rizwan is a Senior process consultant with Wipro Technologies, providing consulting services for process improvements and implementation of RUP, CMMI, and ITIL.



15 October 2007

Also available in Chinese

illustrationWhile leveraging CMMI® (Capability Maturity Model® Integration) for business advantage is a key goal for many organizations, cutting down on the definition cycle time and "fast tracking" implementation can be elusive. CMMI has been daunting to some organizations for its size and complexity of the framework; it has evolved to twenty-two process areas and forty-three specific goals for level 3. In addition, the movement to adopt more agile practices can, at first glance, seem at odds with the framework, although there are ways to integrate agile methods while still adhering to CMMI rigor.

There are quite a few standards which support the setting up of process management systems for an organization. Each of these provide a collection of best practices for development and delivery of high-quality software applications. While process models like CMMI provide guidelines on setting up a process framework and measuring the capability and maturity of an organization adopting it, frameworks like the IBM® Rational Unified Process®, or RUP®, provide ready-to-use process definitions that can be further customized.

While CMMI describes the "what" of software development methodology, RUP aims to detail the "how." That is, CMMI provides guidelines on setting up a process framework, and measures the capability and maturity of an organization's adoption of it, while RUP provides ready-to-use process definitions that can be readily customized in line with CMMI guidelines.

In this article, we'll explore the possibilities for integrating RUP and CMMI in a way that maximizes the synergy between them, minimizes redundancy, and addresses any significant gaps in the processes they collectively define. Organizations that combine these two proven frameworks will benefit from the process guidance and assessment capabilities they can provide. To fully benefit from this combination, existing gaps need to be addressed.

Why combine CMMI and RUP?

Why would an organization that has already implemented RUP need to look up at another process model like CMMI? To answer this question, you need to understand both RUP and CMMI. These standards have a lot in common and also possess many unique features which make it worthwhile to have an organization's processes defined based on both the process models.

CMMI overview

Let's start by briefly summarizing what CMMI and RUP are all about. Among its key aspects, CMMI is:

  • An integrated, common-sense application of process management and quality improvement to system development and maintenance
  • A structured framework of process elements proven through experience
  • A roadmap for organization-wide improvement and change
  • An underlying structure for consistent systems capability assessments

Figure 1 illustrates the structure of CMMI.

Figure shows basic elements of CMMI

Figure 1: Structure of CMMI

RUP overview

Among its key aspects, RUP is:

  • A software engineering process based on best practices in modern software development and aimed at guiding an organization in its software development endeavors
  • A process framework focusing on delivery of high quality software meeting the needs of the end users within predictable budget and schedules
  • An extensive knowledge base, delivered online and integrated with software development tools
  • A flexible methodology that can be adapted and extended to suit organizational needs

Figure 2 illustrates the structure of RUP.

Figure shows key elements of the Rational Unified Process

Figure 2: The structure of RUP, as described in the RUP product itself

Advantages of integrating RUP and CMMI

An integrated process framework based on RUP and CMMI can help organizations get the most out of both these high-value process standards: the strong and proven software development best practices of RUP plus the benefits of being able to assess development processes and focus on their continuous improvement -- all supported by a pre-packaged and ready-to-use plug-in, as we'll discuss below.

RUP defines processes which can be readily, or with little customization, deployed across project teams. Implementing CMMI along with RUP can help ensure the control and monitoring of RUP processes in delivering high quality software.

Advantages of implementing a RUP/CMMI process framework include:

  • Faster implementation of the CMMI process by leveraging RUP guidance and assets, thereby reducing overall process definition overhead
  • Ability to implement a CMMI-compliant process with extensive tool support from IBM Rational
  • A greater range of out-of-the-box process definitions offer "mix and match" potential -- for example, RUP processes can be used to define your engineering processes and CMMI can be used to define your support processes
  • Imbuing CMMI with the more developer-friendly flavor of RUP

Mapping RUP and CMMI

In order to avoid redundancy in defining a RUP and CMMI integrated process framework, it is important to compare the two process models against each other at a granular level. Identifying the gaps and points of overlap helps ensure that the resulting framework addresses all aspects of your development lifecycle.

For CMMI level 3, in particular, the 43 Specific Goals need to be mapped to RUP workflows and activities. Where gaps are identified, elements from CMMI can augment the RUP process to bridge the gaps. The comparison of the respective process elements in Table 1 is a first step toward identifying the gaps and creating the missing elements to augment RUP.

Table 1: Comparison of CMMI and RUP elements
CMMI ElementMaps to RUP element
Process AreaWorkflow/Activity
Specific Practices/GoalsActivities/Tasks
Generic Practices/GoalsActivities/Tasks
Sub practices/goalsActivities/Tasks
Work productsWork products/Templates/Checklists/Guidelines

In defining the above mappings we took CMMI as a reference and mapped the RUP processes to CMMI. A similar mapping should be carried out at the level of goals for each of the process areas under consideration, if at all possible by a group with expertise in implementing RUP and CMMI for software development and maintenance. Even better is to assign two groups to carry out the mapping, one from the CMMI-to-RUP perspective and the other from the RUP-to-CMMI perspective, and then sorting out significant differences through joint discussion and consensus.

Table 2 illustrates mapping and "gap analysis" results across process areas for CMMI levels 2 and 3 in relation to RUP.

Table 2: Mapping Results for RUP and CMMI
Maturity LevelProcess AreaDegree of support in RUP
Level 2Project PlanningMedium level of support; RUP does not include the planning of non software aspects of the project.
Requirements ManagementNo significant gaps identified.
Project Monitoring & ControlRUP needs to be enhanced to include monitoring of commitments and monitoring of data management activities.
Supplier Agreement ManagementNot defined in RUP.
Measurement & AnalysisRUP needs to be enhanced to include details on metrics reporting & analysis. Status assessments to include quantitative analysis of the project.
Process & Product Quality AssuranceNo significant gaps identified.
Configuration ManagementNo significant gaps identified.
Level 3Requirements DevelopmentNo significant gaps identified.
Technical SolutionRUP needs to be enhanced to define the process of selecting alternative solutions along with selection criteria.
Product IntegrationNo significant gaps identified.
VerificationRUP needs to be enhanced to define a recording mechanism for reviews.
Validation No significant gaps identified.
Organization Process Focus Not defined in RUP.
Organization Process Definition + IPPD Not defined in RUP.
Organizational TrainingNot defined in RUP.
Integrated Project Management + IPPDRUP needs to be enhanced to strengthen the integration of plans and managing of dependencies between them.
Risk ManagementRUP needs to be enhanced to include the process for identifying risk parameters and risk management strategy.
Decision Analysis and ResolutionNot defined in RUP.

Creating more detailed mappings

Table 3 shows more detailed mapping results to RUP from one CMMI process area.

Table 3: Detailed mapping results for one CMMI process area
Project Planning: CMMI Level 2 Process Area
Mapping Highlights: Project Management is a support discipline and Project Manager is a key role who handles this responsibility by establishing and maintaining the plans that define project activities. The Software Development Plan is a comprehensive, composite artifact that gathers all information required to manage the project. It encloses a number of artifacts developed during the Inception phase and is maintained throughout the project.
CMMI Specific GoalRUP DisciplineRUP ArtifactsMapping Remarks
SG 1: Estimates of project planning parameters are established and maintainedProject ManagementSoftware development Plan, Business CaseSizing by Analogy, sizing by Analysis and sizing software effort is discussed in RUP.
1. Guidance on Sizing Non Software Project Attributes (e.g., labor, machinery, materials) is not provided in RUP.
2. Estimation process is not covered in RUP.
SG 2: A project plan is established and maintained as the basis for managing the project Project Management, EnvironmentSoftware Development Plan, Iteration Plan, Issues List Project Planning does not include:
1. Data Management Plan (plan to maintain deliverables, deliverables and distribution of data).
2. Plan for maintaining data of various medium such as electronic media, hard copies, etc.
3. Plan for maintaining data of forms such as reports, manuals, software, licenses charts, specifications, etc.).
SG 3: Commitments to the project plan are established and maintainedProject ManagementWork Order, Product Acceptance PlanNo significant gaps identified.

Creating additional process assets in RUP from the mapping

A further level of the RUP-to-CMMI mapping entails defining a mapping of process assets. At this level it is important to carefully identify gaps in RUP because this is "where the rubber meets the road" in terms of integrating the two frameworks. Table 4 is a snapshot of the process elements that need to be created or enhanced in RUP for addressing compliance with CMMI.

Table 4: Additional elements make RUP CMMI-compliant
CMMI Process AreaSGs that need to be pluggedElements to be created/enhanced in RUP
Project PlanningSG1, SG2Estimation procedures along with the necessary templates have been included. Software Development Plan has been enhanced to include the Data Management Plan.
Project Monitoring & ControlSG1Project Monitoring Process has been enhanced to include monitoring of commitments and monitoring of data management activities.
VerificationSG2Artifact/Template to capture and track the review has been added into the plug-in (see below).
Risk ManagementSG1A new activity "Defining Risk Parameters and Risk Mgmt Strategy" has been defined in detail in Project Management Discipline. Artifact "Risk Management Plan" has been enhanced.

Figure 3 illustrates how to plug RUP assets into the CMMI Decision Analysis and Resolution process area.

Figure illustrates modifications to CMMI technical solution process based on RUP assets

Figure 3: Plugging RUP assets into the CMMI Decision Analysis and Resolution process area

Figure 4 shows screenshots of the modified process assets, defined in RUP format.

Figure shows screenshots of the modified process assets, defined in RUP format

Figure 4: Screenshots of the new RUP process assets

Challenges and solutions in RUP/CMMI integration

Often, organizations that wish to implement both RUP and CMMI end up defining separate processes frameworks. Many use one set of RUP processes for development (often deploying RUP process assets straightforwardly right out of the box). For compliance with CMMI, however, they define separate RUP processes. This creates redundancy in the process documentation and poses challenges to implementation of both RUP and CMMI.

A more effective solution is to enhance your existing RUP process framework to make it compliant with CMMI best practices. As is evident from the CMMI-RUP mappings illustrated above, RUP covers roughly 80% the process areas as required by CMMI. So the question becomes, how do you best address the 20% gap that needs to be filled to make RUP complete and compliant from the CMMI perspective?

The Wipro Plug-in for RUP-CMMI mapping for IBM Rational Method Composer addresses the RUP/CMMI integration needs discussed in this article by providing proven procedures, best practices, templates, guidelines, and other process assets from RUP, augmented with additional framework elements based on the gap analysis carried out as illustrated above. This plug-in also benefits from Wipro's experience and process maturity in complying with the CMMI Maturity Level 3 requirements.

Figure 5 illustrates some of the asset included in the plug-in.

Figure is a screen shot of the Wipro RUP plug-in for CMMI

Figure 5: The Wipro plug-in for RUP-CMMI mapping

If required, these framework elements can be further enhanced or modified to suit an organization's specific needs. Rational Method Composer's process authoring capability provides additional flexibility in carrying out such customization and management.

Resources

Learn

  • Attend the Webinar
    From Chaos to Continuous Improvement: Leveraging RUP Software Delivery Best Practices for CMMI

    October 17, 2007, at 11am -- sponsored by Wipro Technologies and featuring Carey Schwaber, Senior Analyst from Forrester Research.

    Whether your organization is just beginning the CMMI journey or stabilizing existing efforts, join Wipro Technologies and IBM Rational Software for an educational webinar on October 17 at 11am to:
    * Learn from the experts about software delivery best practices for CMMI
    * Understand the powerful synergies that exist between the IBM Rational Unified Process (RUP) and CMMI.
    * Learn about a ready-made solution that can help you fast track your quality journey by exploiting these synergies

    Register, or view the replay.
  • For more information on CMMI: http://www.sei.cmu.edu/cmm/
  • For support in adopting CMMI: http://www.wibas.de/home/index_en.html
  • The Rational Unified Process and the Capability Maturity Model -- Integrated Systems/Software Engineering, a tutorial by Brian Gallagher and Lisa Brownsword and Carnegie-Mellon University's Software Engineering Institute (SEI). Available at http://www.sei.cmu.edu/cmmi/adoption/pdf/rup.pdf
  • Mapping RUP to CMMI, a tutorial by Ken Clyne of Number Six Software: http://www.numbersix.com/presentations/Mapping_RUP_to_CMMI.pdf
  • For more information on the Wipro plug-in for RUP-CMMI mapping: https://www-304.ibm.com/jct09002c/gsdod/solutiondetails.do?solutionId=32305&lc=en

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=261509
ArticleTitle=Fast track to CMMI implementation: Integrating the CMMI and RUP process frameworks
publish-date=10152007