The Rational ® and the Capability Maturity Model® – Integrated Systems/

Brian Gallagher Lisa Brownsword

SM CMMI and CMM Integration are service marks of Carnegie Mellon University. ® Capability Maturity Model, Capability Maturity Modeling, and CMM are registered in the U.S. Patent & Trademark Office. TM Rational Unified Process is a trademark of Rational Software. ® RUP is a registered trademark of Rational Software.

© 2001 by Carnegie Mellon University 1 RU{/CMMI Tutorial - ESEPG Acknowledgements

Defense Integrated Military Human Resources System (DIMHRS) • K.C. King • Wade Brignac • Kenneth Buck • Paul Evitts • Jerry Perry • Robert Woods

Rational Software Corporation • • Jim Smith

© 2001 by Carnegie Mellon University 2 RU{/CMMI Tutorial - ESEPG Topics Goals and Purpose CMMI Overview RUP Overview RUP to CMMI Mapping Lessons Learned

© 2001 by Carnegie Mellon University 3 RU{/CMMI Tutorial - ESEPG What We’ve Heard

I’m using RUP, why would I want to look at the CMMI? What’s the difference between I’m trying to CMMI and RUP? decide between using RUP and CMMI

I’m doing CMMI-based improvement, how can a tool like RUP help me? How can I use RUP to develop ‘systems’, not just software? CMMI is more a ‘waterfall’ development process, I need a more iterative approach

© 2001 by Carnegie Mellon University 4 RU{/CMMI Tutorial - ESEPG Our Approach •Plan - Set comparison objectives - Select review team - Identify the RUP/CMMI authoritative source and constituent elements to be used in the comparison - Determine comparison information to capture

• Train review team on CMMI

• Determine how RUP supports CMMI

• Determine how CMMI supports RUP

• Report the results - Develop this tutorial - Develop a detailed Technical Report (~Aug 01)

© 2001 by Carnegie Mellon University 5 RU{/CMMI Tutorial - ESEPG Tutorial Goals Explore commonalities between RUP and CMMI

Identify differences between RUP and CMMI

Recommend improvements in RUP and CMMI to strengthen both

© 2001 by Carnegie Mellon University 6 RU{/CMMI Tutorial - ESEPG Intended Audience Organizations engaged in CMMI-based improvement considering using RUP

Organizations using RUP who are considering CMMI-based improvement

Appraisal teams using CMMI as a “yardstick” for organizations or projects using RUP

© 2001 by Carnegie Mellon University 7 RU{/CMMI Tutorial - ESEPG Topics

Goals and Purpose CMMI Overview RUP Overview RUP to CMMI Mapping Lessons Learned

© 2001 by Carnegie Mellon University 8 RU{/CMMI Tutorial - ESEPG What Is CMMI?

A framework of the key process elements for a system development • structured collection of processes proven through experience An integrated view of process improvement across multiple disciplines • sets process improvement goals and priorities • provides guidance for quality processes • provides a yardstick for assessing current practices Based on concepts and approaches pioneered by Crosby, Deming, Juran, Humphrey, et. al

© 2001 by Carnegie Mellon University 9 RU{/CMMI Tutorial - ESEPG Elements of an Effective Process -1

= CMMI Key Elements

© 2001 by Carnegie Mellon University 10 RU{/CMMI Tutorial - ESEPG Elements of an Effective Process -2

= CMMI Key Elements = Your Project’s Additional Elements

© 2001 by Carnegie Mellon University 11 RU{/CMMI Tutorial - ESEPG Capability and Maturity

Process capability pertains to an individual process • Knowing the process capabilities of a collection of processes has implications for organizational maturity

Organizational maturity pertains to a set of processes • Being at a particular level of organizational maturity has process capability implications for multiple processes

© 2001 by Carnegie Mellon University 12 RU{/CMMI Tutorial - ESEPG CMMI Model Representations

Two approaches to process improvement • process capability • organizational maturity

CMMI models support each approach with a representation • process capability approach ==> continuous representation • organizational maturity approach ==> staged representation Which representation to use is based on the purpose of the improvement task

© 2001 by Carnegie Mellon University 13 RU{/CMMI Tutorial - ESEPG CMMI Model Components

Process Area 1 Process Area 2 Process Area n

Specific Generic Goals Goals

Specific Generic Practices Practices Capability Levels

© 2001 by Carnegie Mellon University 14 RU{/CMMI Tutorial - ESEPG Continuous Representation Structure

Process performed well and continuously improved

Capability Process not performed

Process Process Process Process Area 1 Area 2 Area 3 Area n Process

© 2001 by Carnegie Mellon University 15 RU{/CMMI Tutorial - ESEPG Capability Levels

A capability level is 5 Optimizing

• A well-defined evolutionary 4 Quantitatively Managed plateau describing the capability of any Process 3 Defined Area 2 Managed • A layer in the foundation for continuous process 1 Performed improvement 0 Incomplete

© 2001 by Carnegie Mellon University 16 RU{/CMMI Tutorial - ESEPG Category Process Areas Process Organizational Process Focus Management Organizational Process Definition Organizational Training Organizational Process Performance Organizational Innovation and Deployment Project Project Planning Management Project Monitoring and Control Supplier Agreement Management Integrated Risk Management Quantitative Project Management

Engineering Requirements Management Requirements Development Technical Solution Product Integration Verification Validation

Support Configuration Management Process and Product Quality Assurance Measurement and Analysis Causal Analysis and Resolution Decision Analysis and Resolution

© 2001 by Carnegie Mellon University 17 RU{/CMMI Tutorial - ESEPG Topics

Goals and Purpose CMMI Overview RUP Overview* RUP to CMMI Mapping Lessons Learned

*Material based on The Rational Unified Process; An Introduction, Philippe Kruchten, Second Edition. Addison-Wesley, 2000

© 2001 by Carnegie Mellon University 18 RU{/CMMI Tutorial - ESEPG What is RUP?

A software engineering process based on best practices in modern • A disciplined approach to assigning and managing tasks and responsibilities in a development organization • Focused on high-quality software that meets the needs of its end users within a predictable schedule and budget A process framework that can be tailored to specific organization or project needs A process product developed and marketed by Rational Software with an interactive knowledge base integrated with tools

© 2001 by Carnegie Mellon University 19 RU{/CMMI Tutorial - ESEPG Key Aspects of RUP

Risk-driven process • Risk management integrated into the development process • Iterations are planned based on high priority risks Use-case driven development • Use cases express requirements on the system’s functionality and model the business as context for the system • Use cases are defined for the intended system and are used as the basis of the entire development process Architecture-centric design activities • Architecture is the primary to conceptualize, construct, manage, and evolve the system • Consists of multiple, coordinated views (or models) of the architecture

© 2001 by Carnegie Mellon University 20 RU{/CMMI Tutorial - ESEPG RUP Basic Principles Develop Software Iteratively • Driven by early risk identification and mitigation • Each iteration results in an executable release Manage Requirements • Requirements inherently dynamic across the system’s life Use Component-Based Architecture • Architectures that are resilient to change are essential Visually Model Software • Promotes consistency and unambiguous communication of development information Continuously Verify Software Quality • Identify defects early, objective measure of project status Control Changes to Software • Create and release a tested baseline at the end of each iteration

© 2001 by Carnegie Mellon University 21 RU{/CMMI Tutorial - ESEPG RUP Architecture RUP produces a software generation • A generation extends from idea to retirement of a single version of the system

Static Structure • Describes the process in terms of who is doing what, how, and when

Dynamic Structure • Describes the process in terms of how the process rolls out over time • Expressed in terms of iterations, phases, and milestones

© 2001 by Carnegie Mellon University 22 RU{/CMMI Tutorial - ESEPG Static Process Elements

Worker (who) A role that defines the Activity (how) individuals or a team that Describes a piece of should carry out the work work a worker performs

Artifact (what) A piece of information that is produced, modified, or used by an Workflow (when) Specifies when a set of related activities is performed, by which workers, producing some artifact, which provides some observable value to the project

© 2001 by Carnegie Mellon University 23 RU{/CMMI Tutorial - ESEPG RUP Workflows - 1

Project Management • Plan an iterative process • Decide duration and content of an iteration

Business Modeling • Understand the organization structure and dynamics in which a system is to be deployed

Requirements • Capture and manage requirements • Design a user interface focused on users needs and goals

Analysis and Design • Translate requirements into a specification that describes how to implement the system

© 2001 by Carnegie Mellon University 24 RU{/CMMI Tutorial - ESEPG RUP Workflows - 2

Implementation • Create, assemble, and integrate components and subsystem into an executable system

Test • Assess product quality

Configuration and • Track and maintain the integrity of evolving Change Management project assets

Environment • Support the development organization with processes and tools

Deployment • Turn the finished software product over to its users

© 2001 by Carnegie Mellon University 25 RU{/CMMI Tutorial - ESEPG Additional Static Elements

Guidelines • Rules, recommendations, techniques, or heuristics to support activities and artifacts Templates • Models of artifacts that can be used to create the artifact • Usually associated with a tool Concepts • Discussions on particular concepts (e.g., iteration, risk) associated with the process Tool mentors • Show how to perform a set of process steps using a specific tool

© 2001 by Carnegie Mellon University 26 RU{/CMMI Tutorial - ESEPG Dynamic Element: Iterations

Requirements Analysis and Design Initial Planning Planning Implementation Management Environment

Evaluation Deployment

Test

Each iteration results in an executable release

© 2001 by Carnegie Mellon University 27 RU{/CMMI Tutorial - ESEPG Dynamic Elements: Phases and Milestones

Lifecycle Lifecycle Initial Objectives Architecture Operational Capability time

Inception Elaboration Construction Transition

Define scope Plan project, Build product Transition of project specify features, product to baseline end user architecture community … … ……

© 2001 by Carnegie Mellon University 28 RU{/CMMI Tutorial - ESEPG Static and Dynamic Process Structure Phases Core Workflows InceptionElaboration Construction Transition Business Modeling & Design Implementation Test & Assessment Deployment Supporting Workflows Configur. & Change Mgmt Project Management Environment Preliminary Iter. Iter. Iter. Iter. Iter. Iter. Iter. Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1

© 2001 by Carnegie Mellon University 29 RU{/CMMI Tutorial - ESEPG System Evolution

• Four phases form one development cycle and produce a generation of the system • Significant user enhancement, business or mission changes, or technology changes trigger a new generation

I E C T V1

I E C T V2

I E C T V3

© 2001 by Carnegie Mellon University 30 RU{/CMMI Tutorial - ESEPG Topics Goals and Purpose CMMI Overview RUP Overview RUP to CMMI Mapping • Project Management • Engineering • Support • Process Management • Generic Practices Lessons Learned

© 2001 by Carnegie Mellon University 31 RU{/CMMI Tutorial - ESEPG Comparing Static Representations

RUP-CMMI Mapping

RUP CMMI

External Static Constraints Organization Needs Project Needs

Dynamic Organizational Standard Processes Project Processes

© 2001 by Carnegie Mellon University 32 RU{/CMMI Tutorial - ESEPG Caveats We are not assessing the Rational Unified Process

A project or organization is expected to tailor RUP to meet specific project needs

We are not comparing the results of tailoring either RUP or CMMI for an actual project or organization

Tailoring decisions could augment or deteriorate the results of our comparison

These comparisons are subjective: reasonable people may come to different conclusions

© 2001 by Carnegie Mellon University 33 RU{/CMMI Tutorial - ESEPG Sources for Our Comparison Rational Unified Process, version 2000.02.10 • all process elements (workflows, workflow details, activities, artifacts, guidelines, templates)

Capability Maturity Model – Integrated for Systems and Software Engineering (CMMI-SE/SW), Continuous Representation, Version 1.02, December 2000 • all Process Areas • Specific Goals within each Process Area • Specific Practices within each goal • Generic Practices

© 2001 by Carnegie Mellon University 34 RU{/CMMI Tutorial - ESEPG Capturing our Results RUP to CMMI • HIGH: reviewers found a high degree of synergy between CMMI practices and RUP • MEDIUM: reviewers were able to find some support for the CMMI practice • LOW: reviewers had to stretch what we saw in RUP to support the CMMI practice, there were no mechanisms to support the practice, or the practice was outside the scope of RUP

CMMI to RUP • To be provided in a technical report (approximately ~Aug 01)

© 2001 by Carnegie Mellon University 35 RU{/CMMI Tutorial - ESEPG Topics Goals and Purpose CMMI Overview RUP Overview RUP to CMMI Mapping • Project Management • Engineering • Support • Process Management • Generic Practices Lessons Learned

© 2001 by Carnegie Mellon University 36 RU{/CMMI Tutorial - ESEPG CMMI Basic Project Management

Status, issues, results PMC of process and product evaluations; Corrective measures and analyses action Corrective action Replan What To Monitor

Status, What To Build issues, results of PP What To Do progress and Engineering milestone Commitments and Support reviews process areas Measurement needs Plans

SAM Supplier agreement Product requirements Technical issues Completed product components Supplier Acceptance reviews and tests

© 2001 by Carnegie Mellon University 37 RU{/CMMI Tutorial - ESEPG Project Planning: Overview CMMI RUP Purpose Workflow Establish and maintain plans Project Management, Environment that define project activities. Synergy • RUP provides adequate support mechanisms • RUP does not provide assistance in sizing non- software project attributes (e.g., labor, machinery, materials)

© 2001 by Carnegie Mellon University 38 RU{/CMMI Tutorial - ESEPG Project Planning: Mapping -1 CMMI RUP SG 1: Establish Estimates Workflow: Project Management Estimates of project planning WD: Conceive New Project parameters are established and WD: Develop Software maintained. Development Plan

SG 2: Develop a Project Plan Workflow: Project Management A project plan is established and WD: Conceive New Project maintained as the basis for WD: Develop Software managing the project. Development Plan Workflow: Environment WD: Prepare Environment for Project WD: Prepare Environment for an Iteration

© 2001 by Carnegie Mellon University 39 RU{/CMMI Tutorial - ESEPG Project Planning: Mapping -2 CMMI RUP SG 3: Obtain Commitment to the Workflow: Project Management Plan WD: Develop Software Commitments to the project plan Development Plan are established and maintained.

© 2001 by Carnegie Mellon University 40 RU{/CMMI Tutorial - ESEPG Project Planning: Synergy Specific Goal Specific Practice Establish Estimates • Estimate the Scope of the Project (H) • Establish Estimates of Project Attributes (M) • Define Project Life Cycle (H) • Determine Estimates of Effort and Cost (H) Develop a Project • Establish the Budget and Schedule (H) Plan • Identify Project Risks (H) • Plan for Data Management (M) • Plan for Project Resources (M) • Plan for Needed Knowledge and Skills (H) • Plan Stakeholder Involvement (H) • Establish the Project Plan (H) Obtain Commitment • Review Subordinate Plans (H) to the Plan • Reconcile Work and Resource Levels (M) • Obtain Plan Commitment (H)

© 2001 by Carnegie Mellon University 41 RU{/CMMI Tutorial - ESEPG Project Planning: Detail Example SP1.2-1: Establish and document estimates of the attributes of the work products and tasks.

RUP Elements: Workflow: Project Management Workflow Detail: Develop Software Development Plan Activity: Plan Phases and Iterations

Comments: RUP provides guidance on sizing a software effort. Sizing by analogy and sizing by analysis is discussed. RUP does not provide assistance in sizing non-software project attributes (i.e. labor, machinery, materials, and methods that will be required by the project).

Degree of Synergy: Medium

© 2001 by Carnegie Mellon University 42 RU{/CMMI Tutorial - ESEPG CMMI Basic Project Management

Status, issues, results PMC of process and product evaluations; Corrective measures and analyses action Corrective action Replan What To Monitor

Status, What To Build issues, results of PP What To Do progress and Engineering milestone Commitments and Support reviews process areas Measurement needs Plans

SAM Supplier agreement Product component requirements Technical issues Completed product components Supplier Acceptance reviews and tests

© 2001 by Carnegie Mellon University 43 RU{/CMMI Tutorial - ESEPG Project Monitor and Control: Overview

CMMI RUP Purpose Workflow Provide understanding into Project Management the project’s progress Synergy so that appropriate corrective • RUP provides strong actions can be taken when mechanisms to help monitor the project’s performance a project deviates significantly from the plan. • Project’s using RUP should make sure data management is explicitly addressed

© 2001 by Carnegie Mellon University 44 RU{/CMMI Tutorial - ESEPG Project Monitor and Control: Mapping CMMI RUP SG 1: Monitor Project Against Plan Workflow: Project Management Actual performance and progress of WD: Monitor and Control Project the project is monitored against the Workflow: Configuration project plan. Management

SG 2: Manage Corrective Action to Workflow: Project Management Closure WD: Monitor and Control Project Corrective actions are managed to closure when the project's performance or results deviate significantly from the plan.

© 2001 by Carnegie Mellon University 45 RU{/CMMI Tutorial - ESEPG Project Monitor and Control: Synergy

Specific Goal Specific Practice

Monitor Project Against • Monitor Project Planning Parameters (H) Plans • Monitor Commitments (M) • Monitor Project Risks (H) • Monitor Data Management (M) • Monitor Stakeholder Interactions (H) • Conduct Progress Reviews (H) • Conduct Milestone Reviews (H)

Manage • Analyze Issues (H) Corrective Actions • Take Corrective Actions (H) to Closure • Manage Corrective Actions (H)

© 2001 by Carnegie Mellon University 46 RU{/CMMI Tutorial - ESEPG Project Monitor and Control: Detail Example

SP1.4-1 Monitor the management of project data.

RUP Components: Workflow: Configuration Management

Comments: Although not required, managing project data could be called out in the Configuration Management Plan.

Degree of Synergy: Medium

© 2001 by Carnegie Mellon University 47 RU{/CMMI Tutorial - ESEPG CMMI Basic Project Management

Status, issues, results PMC of process and product evaluations; Corrective measures and analyses action Corrective action Replan What To Monitor

Status, What To Build issues, results of PP What To Do progress and Engineering milestone Commitments and Support reviews process areas Measurement needs Plans

SAM Supplier agreement Product component requirements Technical issues Completed product components Supplier Acceptance reviews and tests

© 2001 by Carnegie Mellon University 48 RU{/CMMI Tutorial - ESEPG Supplier Agreement Management: Overview

CMMI RUP Purpose Workflow Manage the acquisition of none products and services from Synergy suppliers external to the • RUP does not explicitly deal project for which there exists with managing work from a formal agreement. external suppliers to the project • RUP’s QA Plan, CM Plan, and Software Development Plan have sections labeled for supplier and subcontractor control

© 2001 by Carnegie Mellon University 49 RU{/CMMI Tutorial - ESEPG Supplier Agreement Management: Mapping

CMMI RUP SG 1: Establish Supplier Workflow: none Agreements Outside of the scope of RUP Agreements with the suppliers are established and maintained.

SG 2: Satisfy Supplier Agreements Workflow: none Agreements with the suppliers are Outside of the scope of RUP satisfied by both the project and the supplier

© 2001 by Carnegie Mellon University 50 RU{/CMMI Tutorial - ESEPG Supplier Agreement Management: Synergy

Specific Goal Specific Practice

Establish Supplier • Analyze Needs and Requirements Agreements Determined by the Project (L) • Select Suppliers (L) • Establish Supplier Agreements (L)

Satisfy Supplier • Acquire COTS Products (L) Agreements • Execute the Supplier Agreement (L) • Conduct Acceptance Testing (L) • Transition Products (L)

© 2001 by Carnegie Mellon University 51 RU{/CMMI Tutorial - ESEPG CMMI Advanced Project Management

Process Performance Risk exposure due to Objectives, Baselines, Models unstable processes Statistical Mgmt Data QPM Quantitative objectives; subprocesses to statistically manage Organization’s Std. Identified risks RSKM Processes and Supporting Assets IPM Risk Lessons Taxonomies Learned, & Parameters Planning and Process Management Performance Risk Status process areas Data Project’s Defined Risk Mitigation Process Project’s Plans Defined Product Coordination, Process Corrective Architecture commitments, Action for Structuring issues to Teams resolve Basic Project Management Engineering and Support process areas process areas

© 2001 by Carnegie Mellon University 52 RU{/CMMI Tutorial - ESEPG Integrated Project Management: Overview

CMMI RUP Purpose Workflow Establish and manage the Project Management, Environment project and the involvement of the relevant stakeholders Synergy according to an integrated and • RUP encourages developing defined process that is tailored integrated plans from the organization’s set of • RUP supports tailoring for standard processes. project unique needs through the development case artifact

© 2001 by Carnegie Mellon University 53 RU{/CMMI Tutorial - ESEPG Integrated Project Management: Mapping

CMMI RUP SG 1: Use the Project’s Defined Workflow: Environment Process WD: Prepare Environment for The project is conducted using a Project/Iteration defined process that is tailored Workflow: Project Management from the organization's set of WD: Develop Software standard processes. Development Plan WD: Monitor and Control Project

SG 2: Coordinate and Collaborate Workflow: Project Management with Relevant Stakeholders WD: Close-out Phase Coordination and Collaboration of the project with relevant stakeholders is conducted.

© 2001 by Carnegie Mellon University 54 RU{/CMMI Tutorial - ESEPG Integrated Project Management: Synergy

Specific Goal Specific Practice

Use the Project’s • Establish the Project’s Defined Process (M) Defined Process • Use Organizational Assets for Planning Project Activities (M) • Integrate Plans (M) • Manage the Project Using the Integrated Plans (H) • Contribute to the Organization’s Process Assets (H)

Coordinate and • Manage Stakeholder Involvement (H) Collaborate with • Manage Dependencies (L) Relevant Stakeholders • Resolve Coordination Issues (H)

© 2001 by Carnegie Mellon University 55 RU{/CMMI Tutorial - ESEPG Integrated Project Management: Detail Example SP1.1-1 Establish and maintain the project's defined process.

RUP Components: Workflow: Environment Workflow Detail: Prepare Environment for Project/Iteration

Comments: Using RUP, a project would assess the current software development organization and select the processes and tools to support the project. This is less formal than having an “organizational standard process” comprised of a suite of lifecycles and processes to choose from complete with tailoring guidelines. Degree of Synergy: Medium

© 2001 by Carnegie Mellon University 56 RU{/CMMI Tutorial - ESEPG CMMI Advanced Project Management

Process Performance Risk exposure due to Objectives, Baselines, Models unstable processes Statistical Mgmt Data QPM Quantitative objectives; subprocesses to statistically manage Organization’s Std. Identified risks RSKM Processes and Supporting Assets IPM Risk Lessons Taxonomies Learned, & Parameters Planning and Process Management Performance Risk Status process areas Data Project’s Defined Risk Mitigation Process Project’s Plans Defined Product Coordination, Process Corrective Architecture commitments, Action for Structuring issues to Teams resolve Basic Project Management Engineering and Support process areas process areas

© 2001 by Carnegie Mellon University 57 RU{/CMMI Tutorial - ESEPG Risk Management: Overview CMMI RUP Purpose Workflow Identify potential problems Project Management before they occur, so that risk- handling activities may be Synergy planned and invoked as • RUP is a risk driven needed across the life cycle to development process mitigate adverse impacts on • Activities are performed to achieving objectives. mitigate the highest risks and tackle the hardest jobs first

© 2001 by Carnegie Mellon University 58 RU{/CMMI Tutorial - ESEPG Risk Management: Mapping CMMI RUP SG 1: Prepare for Risk Management Workflow: Project Management Preparation for Risk Management is WD: Develop Software conducted. Development Plan

SG 2: Identify and Analyze Risks Workflow: Project Management Risks are identified and analyzed to WD: Conceive New Project determine their relative importance.

SG 3: Mitigate Risks Workflow: Project Management Risks are handled and mitigated, where WD: Conceive New Project appropriate, to reduce adverse impacts on achieving objectives.

© 2001 by Carnegie Mellon University 59 RU{/CMMI Tutorial - ESEPG Risk Management: Synergy Specific Goal Specific Practice

Prepare for Risk • Determine Risk Sources and Categories (H) Management • Define Risk Parameters (M) • Establish a Risk Management Strategy (M)

Analyze Risks • Identify Risks (H) • Evaluate, Classify, and Prioritize Risks (H)

Mitigate Risks • Develop Risk Mitigation Plans (H) • Implement Risk Mitigation Plans (H)

© 2001 by Carnegie Mellon University 60 RU{/CMMI Tutorial - ESEPG Risk Management: Detail Example SP2.1-1 Identify and document the risks.

RUP Components: Workflow: Project Management Workflow Detail: Conceive New Project Activity: Identify and Assess Risks

Comments: RUP calls for identifying risks. The resulting artifact, the Risk List, documents the identified risks.

Degree of Synergy: High

© 2001 by Carnegie Mellon University 61 RU{/CMMI Tutorial - ESEPG CMMI Advanced Project Management

Process Performance Risk exposure due to Objectives, Baselines, Models unstable processes Statistical Mgmt Data QPM Quantitative objectives; subprocesses to statistically manage Organization’s Std. Identified risks RSKM Processes and Supporting Assets IPM Risk Lessons Taxonomies Learned, & Parameters Planning and Process Management Performance Risk Status process areas Data Project’s Defined Risk Mitigation Process Project’s Plans Defined Product Coordination, Process Corrective Architecture commitments, Action for Structuring issues to Teams resolve Basic Project Management Engineering and Support process areas process areas

© 2001 by Carnegie Mellon University 62 RU{/CMMI Tutorial - ESEPG Quantitative Project Management: Overview

CMMI RUP Purpose Workflow Quantitatively manage the Environment project’s defined process to Synergy achieve the project’s • Quantitatively managing the established quality and project’s processes is outside process performance the scope of RUP objectives. • RUP provides some guidance on measures pertinent to RUP

© 2001 by Carnegie Mellon University 63 RU{/CMMI Tutorial - ESEPG Quantitative Project Management: Mapping

CMMI RUP SG 1: Quantitatively Manage the Workflow: Environment Project WD: Prepare Environment for The project is quantitatively Project managed using quality and process performance objectives.

SG 2: Statistically Manage Workflow: none Subprocess Performance The performance of selected subprocesses within the project’s defined process is statistically managed.

© 2001 by Carnegie Mellon University 64 RU{/CMMI Tutorial - ESEPG Quantitative Project Management: Synergy

Specific Goal Specific Practice

Quantitatively Manage • Establish the Project’s Objectives (L) the Project • Compose the Defined Process (M) • Select the Subprocesses to be Managed (L) • Manage Project Performance (L)

Statistically Manage • Select Measures and Analytic Techniques (L) Subprocess • Apply Statistical Methods to Understand Performance Variation (L) • Monitor Performance of the Selected Subprocesses (L) • Record Statistical Management Data (L)

© 2001 by Carnegie Mellon University 65 RU{/CMMI Tutorial - ESEPG Quantitative Project Management: Detail Example SP1.2-1 Select the processes and process elements that comprise the project’s defined process based on historical stability and capability data.

RUP Components: Workflow: Environment Workflow Detail: Prepare Environment for Project Guidelines: Process Discriminates

Comments: While selection of processes and process elements aren’t selected based on historical stability (meaning statistically understood), RUP provides guidelines to help projects select processes based on characteristics. Degree of Synergy: Medium

© 2001 by Carnegie Mellon University 66 RU{/CMMI Tutorial - ESEPG Topics Goals and Purpose CMMI Overview RUP Overview RUP to CMMI Mapping • Project Management • Engineering • Support • Process Management • Generic Practices Lessons Learned

© 2001 by Carnegie Mellon University 67 RU{/CMMI Tutorial - ESEPG CMMI Engineering Process Areas

REQM Requirements

Product and product component requirements

Alternative Product solutions components Product RD TS PI Customer Require- ments

Product components, work products, verification and validation reports

Ver Val

Customer needs

© 2001 by Carnegie Mellon University 68 RU{/CMMI Tutorial - ESEPG Requirements Management: Overview CMMI RUP Purpose Workflow Manage the requirements of Requirements the project’s product and product components and to Synergy identify inconsistencies • RUP provides adequate support between those requirements mechanisms and the project’s plans and • RUP integrates the tracking (or work products. change management) of requirements with capturing and analyzing requirements

© 2001 by Carnegie Mellon University 69 RU{/CMMI Tutorial - ESEPG Requirements Management: Mapping CMMI RUP SG 1: Manage Requirements Workflow: Requirements Requirements are managed and WD: Understand Stakeholder Needs inconsistencies with project plans WD: Manage the Scope of the System and work products are identified. WD: Manage Changing Requirements Workflow: Analysis and Design WD: Analyze Behavior WD: Design Components WD: Design Database WD: Design Real-time

© 2001 by Carnegie Mellon University 70 RU{/CMMI Tutorial - ESEPG Requirements Management: Synergy Specific Goal Specific Practice

Manage Requirements • Obtain an Understanding of Requirements (H) • Obtain Commitment to Requirements (Level 2) (H) • Manage Requirement Changes (H) • Maintain Bi-Directional Traceability of Requirements (Level 2) (H) • Identify Inconsistencies between Project Work and Requirements (H)

© 2001 by Carnegie Mellon University 71 RU{/CMMI Tutorial - ESEPG Requirements Management: Detail Example

SP1.2-2: Obtain commitment to the requirements from the project participants.

RUP Elements: Workflow: Requirements Workflow Detail: Manage the Scope of the System Activity: Prioritize Use Cases

Comments: RUP employs use cases to plan and the work to be done. The architect comes up with a first cut at a list of prioritized use cases. The project team is involved in revising the prioritized list based on project risks, availability of resources, and stakeholder needs.

Degree of Synergy: High

© 2001 by Carnegie Mellon University 72 RU{/CMMI Tutorial - ESEPG CMMI Engineering Process Areas

REQM Requirements

Product and product component requirements

Alternative Product solutions components Product RD TS PI Customer Require- ments

Product components, work products, verification and validation reports

Ver Val

Customer needs

© 2001 by Carnegie Mellon University 73 RU{/CMMI Tutorial - ESEPG Requirements Development: Overview CMMI RUP Purpose Workflows Produce and analyze Requirements, Configuration and customer, product, and Change Management, Analysis and product component Design, Implementation, Test requirements. Synergy • RUP provides good support mechanisms • RUP “features” equivalent to customer requirements • Interfaces treated as one kind of requirement • Prototyping key approach for requirements (incl. interfaces) validation

© 2001 by Carnegie Mellon University 74 RU{/CMMI Tutorial - ESEPG Requirements Development: Mapping -1 CMMI RUP SG 1: Develop Customer Workflow: Requirements Requirements WD: Understand Stakeholder Needs Stakeholder needs, expectations, WD: Analyze the Problem constraints, and interfaces are WD: Define the System collected and translated into Workflow: Configuration and Change customer requirements. Management WD: Manage Change Requests

SG 2: Develop Product Workflow: Requirements Requirements WD: Refine the System Definition Customer requirements are refined WD: Develop Software Development and elaborated to develop product Plan and product component Workflow: Analysis and Design requirements for the product WD: Analyze Behavior life cycle.

© 2001 by Carnegie Mellon University 75 RU{/CMMI Tutorial - ESEPG Requirements Development: Mapping -2 CMMI RUP SG 3: Analyze and Validate Workflow: Requirements Requirements Guidelines: Use-case Storyboard The requirements are analyzed WD: Analyze the Problem, and validated, and a definition of Understand Stakeholder Needs, required functionality is developed. Define the System, Manage the Scope of the System, Refine the System Definition, Manage Changing Requirements Workflow: Analysis and Design WD: Define a Candidate Architecture Workflows: Implementation, Test (to create and assess prototypes)

© 2001 by Carnegie Mellon University 76 RU{/CMMI Tutorial - ESEPG Requirements Development: Synergy -1

Specific Goal Specific Practice

Develop Customer • Collect Stakeholder Needs (H) Requirements • Elicit Needs (Level 2) (H) • Transform Stakeholder Needs, Expectations, Constraints, and Interfaces into Customer Requirements (H)

Develop Product • Establish Product and Product Component Requirements Requirements (H) • Allocate Product Component Requirements (M) • Identify Interface Requirements (H)

© 2001 by Carnegie Mellon University 77 RU{/CMMI Tutorial - ESEPG Requirements Development: Synergy -2

Specific Goal Specific Practice

Analyze and Validate • Establish Operational Concepts and Requirements Scenarios (H) • Establish a Definition of Required Functionality (H) • Analyze Requirements (H) • Evaluate Product Cost, Schedule and Risk (Level 3) (H) • Validate Requirements (H) • Validate Requirements with Comprehensive Methods (Level 2) (H)

© 2001 by Carnegie Mellon University 78 RU{/CMMI Tutorial - ESEPG Requirements Development: Detail Example SP2.2-1: Allocate the requirements for each product component.

RUP Elements: Workflow: Analysis and Design Workflow Detail: Analyze Behavior Activity: Use-case Analysis, Identify Design Elements

Comments: RUP transforms the behavioral descriptions from the use cases into a set of design elements for the product using an object- oriented approach for analysis and design. RUP does not refer to this set of activities as “requirements flowdown”. CMMI stipulates that higher-level functionality that becomes the responsibility of 2+ product components must be partitioned for unique component allocation. This can lead to a functional design, which RUP explicitly avoids.

Degree of Synergy: Medium

© 2001 by Carnegie Mellon University 79 RU{/CMMI Tutorial - ESEPG CMMI Engineering Process Areas

REQM Requirements

Product and product component requirements

Alternative Product solutions components Product RD TS PI Customer Require- ments

Product components, work products, verification and validation reports

Ver Val

Customer needs

© 2001 by Carnegie Mellon University 80 RU{/CMMI Tutorial - ESEPG Technical Solution: Overview CMMI RUP Purpose Workflows Develop, design, and Analysis and Design, Implementation, implement solutions to Deployment, Project Management requirements. Solutions, Synergy designs and implementations • RUP addresses the central goals of forming, designing, and implementing encompass products, product engineered solutions components, and product • RUP provides greater guidance on related processes either singly architecture development and validation or in combinations as than CMMI appropriate. • RUP does not explicitly cover consideration of design alternatives except at the architectural level • RUP does not explicitly cover the use of selection criteria for product solutions or components

© 2001 by Carnegie Mellon University 81 RU{/CMMI Tutorial - ESEPG Technical Solution: Mapping -1 CMMI RUP SG 1: Select Product Component Workflow: Project Management Solutions WD: Conceive New Project Product or product component Artifact: Business Case solutions, including applicable Workflow: Analysis and Design product related processes, are WD: Define a Candidate Architecture selected from alternative solutions. WD: Refine the Architecture

SG 2: Develop the Design Workflow: Analysis & Design Product or product component (all workflow details, activities, designs are developed. guidelines, artifacts)

© 2001 by Carnegie Mellon University 82 RU{/CMMI Tutorial - ESEPG Technical Solution: Mapping -2 CMMI RUP SG 3: Implement the Product Design Workflow: Implementation Product components, and associated WD: Implement Component support documentation, are Artifact: Programming Guidelines implemented from their designs. Workflow: Deployment WD: Develop Support Materials

© 2001 by Carnegie Mellon University 83 RU{/CMMI Tutorial - ESEPG Technical Solution: Synergy -1 Specific Goal Specific Practice

Select Product • Develop Alternative Solutions and Component Solutions Selection Criteria (M) • Develop Detailed Alternative Solutions and Selection Criteria (Level 2) (L) • Evolve Operational Concepts and Scenarios (Level 2) (H) • Select Product Component Solutions (M)

© 2001 by Carnegie Mellon University 84 RU{/CMMI Tutorial - ESEPG Technical Solution: Synergy -2 Specific Goal Specific Practice

Develop the Design • Use Effective Design Methods (H) • Develop a Technical Data Package (H) • Establish a Complete Technical Data Package (Level 3) (H) • Establish Interface Descriptions (H) • Design Comprehensive Interface (Level 3) (H) • Perform Make, Buy, or Reuse Analyses (Level 3) (L) Implement the • Implement the Design (H) Product Design • Establish Product Support Documentation (H)

© 2001 by Carnegie Mellon University 85 RU{/CMMI Tutorial - ESEPG Technical Solution: Detail Example SP1.1-1: Develop alternative solutions and establish selection criteria. RUP Elements: Workflow: Project Management Artifact: Business Case Workflow: Analysis and Design Workflow Details: Define a Candidate Architecture, Refine the Architecture Comments: The Business Case describes at least two approaches to realizing the system Vision, and analyze these in terms of capability, risk impact, schedule, and economic outcomes. Project options might include differing contractual bases, differing project lifecycles, differing mixes of 'make' and 'buy', and so on During the Project Approval Review, one of the offered choices is selected. RUP provides references to sources for risk and decision analysis techniques but does not explicitly establish criteria. While RUP is very architecture focussed, it does not provide guidance on product component selection. Degree of Synergy: Medium

© 2001 by Carnegie Mellon University 86 RU{/CMMI Tutorial - ESEPG CMMI Engineering Process Areas

REQM Requirements

Product and product component requirements

Alternative Product solutions components Product RD TS PI Customer Require- ments

Product components, work products, verification and validation reports

Ver Val

Customer needs

© 2001 by Carnegie Mellon University 87 RU{/CMMI Tutorial - ESEPG Product Integration: Overview CMMI RUP Purpose Workflows Assemble the product from the Implementation, Test, Deployment, product components, ensure Change & Configuration that the product, as integrated, Management, Analysis & Design functions properly and deliver Synergy the product. • RUP supports the general intent of product integration • RUP does not single interfaces out for special treatment but does treat them as first class elements of any design and integration

© 2001 by Carnegie Mellon University 88 RU{/CMMI Tutorial - ESEPG Product Integration: Mapping -1 CMMI RUP SG 1: Prepare for Product Workflow: Implementation Integration WD: Plan the Integration Artifact: Integration Build Plan The strategy for conducting product Workflow: Change and Configuration integration is established and Management WD: Create Project CM Environment maintained. Activity: Create Integration Workspace

SG 2: Ensure Interface Compatibility Workflow: Analysis and Design Artifact: Design Model The product component interfaces, Workflow: Implementation both internal and external, are WD: Structure the Implementation Model, compatible. Integrate each Subsystem, Integrate the System Workflow: Test WD: Execute Integration Tests, Execute System Test

© 2001 by Carnegie Mellon University 89 RU{/CMMI Tutorial - ESEPG Product Integration: Mapping -2 CMMI RUP SG 3: Assemble Product Workflow: Implementation Components and Deliver the Product WD: Implement Component Verified product components are Activity: Perform Unit Tests assembled and the integrated, WD: Integrate Each Subsystem verified, and validated product is WD: Integrate the System delivered. Workflow: Test WD: Execute Test in Integration Test Stage Workflow: Deployment WD: Product Deployment Unit WD: Package Product WD: Provide Access to Download Site

© 2001 by Carnegie Mellon University 90 RU{/CMMI Tutorial - ESEPG Product Integration: Synergy -1 Specific Goal Specific Practice

Prepare for Product • Establish a Product Integration Strategy (H) Integration • Establish the Product Integration Environment (Level 2) (H) • Define Detailed Product Integration Procedures (Level 3) (H)

Ensure Interface • Review Interface Descriptions for Compatibility Completeness (H) • Manage Interfaces (H)

© 2001 by Carnegie Mellon University 91 RU{/CMMI Tutorial - ESEPG Product Integration: Synergy -2 Specific Goal Specific Practice

Assemble Product • Confirm Readiness of Product (H) Components and • Components for Integration (H) Deliver the Product • Assemble Product Components (H) • Checkout Assembled Product Components (H) • Package and Deliver the Product or Product Components (H)

© 2001 by Carnegie Mellon University 92 RU{/CMMI Tutorial - ESEPG Product Integration: Detail Example

SP2.1-1: Review interface descriptions for coverage and completeness. RUP Elements: Workflow: Analysis and Design Artifact: Design Model Workflow: Implementation Workflow Details: Structure the Implementation Model, Integrate each Subsystem, Integrate the System Workflow: Test Workflow Details: Execute Integration Tests, Execute System Test Comments: Interfaces are a critical part of the architecture and design in RUP. The primary review mechanism is building architectural prototypes and integrating and testing the executables in each iteration such that the interfaces are exercised in a more realistic setting. Degree of Synergy: High

© 2001 by Carnegie Mellon University 93 RU{/CMMI Tutorial - ESEPG CMMI Engineering Process Areas

REQM Requirements

Product and product component requirements

Alternative Product solutions components Product RD TS PI Customer Require- ments

Product components, work products, verification and validation reports

Ver Val

Customer needs

© 2001 by Carnegie Mellon University 94 RU{/CMMI Tutorial - ESEPG Verification: Overview CMMI RUP Purpose Workflows Assure that selected work Test, Environment, Implementation products meet their specified Synergy requirements. • RUP provides good support for verification practices • Verification occurs with each iteration

© 2001 by Carnegie Mellon University 95 RU{/CMMI Tutorial - ESEPG Verification: Mapping CMMI RUP SG 1: Prepare for Verification Workflow: Test Preparation for verification is WD: Plan Test conducted. WD: Design Test Workflow: Environment WD: Support Environment

SG 2: Perform Peer Reviews Work Guideline: Reviews (applies Peer reviews are performed on to all work products in all workflows) selected work products.

SG 3: Verify Selected Work Products Workflow: Test Selected work products are verified WD: Execute Integration Test against their specified requirements. WD: Execute System Test WD: Evaluate Test Workflow: Implementation WD: Implement Component © 2001 by Carnegie Mellon University 96 RU{/CMMI Tutorial - ESEPG Verification: Synergy Specific Goal Specific Practice

Prepare for Verification • Establish a Verification Strategy (H) • Establish the Verification Environment (Level 2) (H) • Establish Detailed Verification Plans (Level 3) (H)

Perform Peer • Prepare for Peer Reviews (H) Reviews • Conduct Peer Reviews (H) • Analyze Peer Review Data (Level 2) (H)

Verify Selected Work • Perform Verification (H) Products • Analyze Verification Results and Identify Corrective Actions (Level 2) (H) • Perform Re-Verification (H)

© 2001 by Carnegie Mellon University 97 RU{/CMMI Tutorial - ESEPG Verification: Detail Example

SP3.3-1: Perform re-verification of corrected work products and ensure that work products have not been negatively impacted.

RUP Elements: Workflow: Test Workflow Detail: Execute Tests Activity: Execute Tests in Integration Test Stage Activity: Execute Tests in System Test Stage Activity: Fix a Defect

Comments: In iterative development, occurs with each iteration. If bugs fix are needed, another iteration is performed with its own test activities. For each iteration a new version of the test model is developed that contains old tests (as regression tests), and new tests that take new functionality into account. Degree of Synergy: High

© 2001 by Carnegie Mellon University 98 RU{/CMMI Tutorial - ESEPG CMMI Engineering Process Areas

REQM Requirements

Product and product component requirements

Alternative Product solutions components Product RD TS PI Customer Require- ments

Product components, work products, verification and validation reports

Ver Val

Customer needs

© 2001 by Carnegie Mellon University 99 RU{/CMMI Tutorial - ESEPG Validation: Overview CMMI RUP Purpose Workflows Demonstrate that a product or Project Management, Deployment product component fulfills its Synergy intended use when placed in • RUP begins validation early with its intended environment. reviews with the users and continues with each iteration’s executable evaluated in a pre-release setting with selected users • Product acceptance is defined as part of the project plan

© 2001 by Carnegie Mellon University 100 RU{/CMMI Tutorial - ESEPG Validation: Mapping CMMI RUP SG 1: Prepare for Validation Workflow: Project Management Preparation for validation is WD: Develop Product Acceptance conducted. Plan Workflow: Deployment WD: Beta Test Product

SG 2: Validate Product or Product Workflow: Project Management Components WD: Close-out Project The product or product components Artifact: Product Acceptance Plan are validated to ensure that they are Workflow: Deployment suitable for use in their intended WD: Beta Test Product operating environment.

© 2001 by Carnegie Mellon University 101 RU{/CMMI Tutorial - ESEPG Validation: Synergy

Specific Goal Specific Practice

Prepare for Validation • Establish a Validation Strategy (H) • Establish the Validation Environment (Level 2) (H) • Define Detailed Validation Procedures (Level 3) (H)

Validate Product or • Perform Validation (H) Product Components • Capture and Analyze Validation Results (H)

© 2001 by Carnegie Mellon University 102 RU{/CMMI Tutorial - ESEPG Validation: Detail Example

SP1.1-1: Establish and maintain a validation strategy.

RUP Elements: Workflow: Deployment Workflow Detail: Beta Test Product Activity: Manage Beta Test Workflow: Project Management Workflow Detail: Develop Product Acceptance Plan

Comments: Inherent to RUP is the continual validation of each iteration’s executable by actual users in order to identify defects or disconnects as early as possible. The product acceptance plan is co-developed with the users.

Degree of Synergy: High

© 2001 by Carnegie Mellon University 103 RU{/CMMI Tutorial - ESEPG Topics Goals and Purpose CMMI Overview RUP Overview RUP to CMMI Mapping • Project Management • Engineering • Support • Process Management • Generic Practices Lessons Learned

© 2001 by Carnegie Mellon University 104 RU{/CMMI Tutorial - ESEPG CMMI Basic Support Process Areas

Measurements, Quality and analyses noncompliance issues MA All process areas PPQA

Information Processes and needs work products; standards and Configuration Baselines; procedures items; audit reports change requests

CM

© 2001 by Carnegie Mellon University 105 RU{/CMMI Tutorial - ESEPG Configuration Management: Overview

CMMI RUP Purpose Workflow Establish and maintain the Configuration and Change integrity of work products using Management configuration identification, Synergy configuration control, • RUP provides good support configuration status accounting, mechanisms and configuration audits.

© 2001 by Carnegie Mellon University 106 RU{/CMMI Tutorial - ESEPG Configuration Management: Mapping -1 CMMI RUP SG 1: Establish Baselines Workflow: Configuration and Baselines of identified work products Change Management are established and maintained. WD: Plan Project Configuration & Change Control WD: Change & Deliver Configuration Items WD: Manage Baselines & Releases

SG 2: Track and Control Changes Workflow: Configuration and Change Changes to the work products under Management configuration management are WD: Manage Change Requests tracked and controlled.

© 2001 by Carnegie Mellon University 107 RU{/CMMI Tutorial - ESEPG Configuration Management: Mapping -2 CMMI RUP SG 3: Establish Integrity Workflow: Configuration and Change Integrity of baselines is established Management and maintained. WD: Monitor and Report Configuration Status

© 2001 by Carnegie Mellon University 108 RU{/CMMI Tutorial - ESEPG Configuration Management: Synergy

Specific Goal Specific Practice

Establish Baselines • Identify Configuration Items (H) • Establish a Configuration Management System (H) • Create or Release Baselines (H) Track and Control • Track Changes (H) Changes • Control Changes (H)

Establish Integrity • Establish Configuration Management Records (H) • Perform Configuration Audits (H)

© 2001 by Carnegie Mellon University 109 RU{/CMMI Tutorial - ESEPG Configuration Management: Detail Example

SP1.3-1: Create or release baselines for internal use and for delivery to the customer.

RUP Elements: Workflow: Configuration and Change Management Workflow Detail: Change and Deliver Configuration Items Workflow Detail: Manage Baselines and Releases

Comments: RUP provides for the creation of internal as well as external baselines (i.e., deployment unit = an executable collection of components, documents (end-user support material and release notes) and installation artifacts).

Degree of Synergy: High

© 2001 by Carnegie Mellon University 110 RU{/CMMI Tutorial - ESEPG CMMI Basic Support Process Areas

Measurements, Quality and analyses noncompliance issues MA All process areas PPQA

Information Processes and needs work products; standards and Configuration Baselines; procedures items; audit reports change requests

CM

© 2001 by Carnegie Mellon University 111 RU{/CMMI Tutorial - ESEPG Process and Product Quality Assurance: Overview CMMI RUP Purpose Workflow Provide staff and management Project Management with objective insight into the Synergy processes and associated • RUP implements process and work products. product quality throughout all workflows, phases, and iterations • RUP Activity, Artifacts, Guidelines, Checkpoints, and Templates “encode” what should be evaluated

© 2001 by Carnegie Mellon University 112 RU{/CMMI Tutorial - ESEPG Process and Product Quality Assurance: Mapping CMMI RUP SG 1: Objectively Evaluate Workflow: Project Management Processes and Work Products Artifact: Quality Assurance Plan Adherence of the performed process WD: Monitor and Control Project and associated work products and Activity: Assess Iteration services to applicable process Artifact: Review Record (reviews and descriptions, standards and checkpoints in each workflow) procedures is objectively evaluated.

SG 2: Provide Objective Insight Workflow: Project Management Noncompliance issues are Artifact: Problem Resolution Plan objectively tracked and WD: Monitor and Control Project: communicated, and resolution is Activity: Handle Exceptions and ensured. Problems Artifact: Review Record (reviews and checkpoints in each workflow)

© 2001 by Carnegie Mellon University 113 RU{/CMMI Tutorial - ESEPG Process and Product Quality Assurance: Synergy

Specific Goal Specific Practice

Objectively Evaluate • Objectively Evaluate Processes (H) Processes and Work • Objectively Evaluate Work Products Products and Services (H)

Provide Objective • Communicate and Ensure Resolution Insight of Noncompliance Issues (H) • Establish Records (H)

© 2001 by Carnegie Mellon University 114 RU{/CMMI Tutorial - ESEPG Process and Product Quality Assurance: Detail Example SP2.1-1: Communicate quality issues and ensure resolution of noncompliance issues with the staff and managers. RUP Elements: Workflow: Project Management Workflow Detail: Monitor and Control Project Activity: Handle Exceptions and Problems Comments: Following the Problem Resolution Plan, problem management procedures are triggered in Activity: Handle Exceptions & Problems based on problems identified in a Status Assessment, raising of Change Requests to track defects, anomalies discovered during reviews, or through non- conformances raised during process audits and reviews. Degree of Synergy: High

© 2001 by Carnegie Mellon University 115 RU{/CMMI Tutorial - ESEPG CMMI Basic Support Process Areas

Measurements, Quality and analyses noncompliance issues MA All process areas PPQA

Information Processes and needs work products; standards and Configuration Baselines; procedures items; audit reports change requests

CM

© 2001 by Carnegie Mellon University 116 RU{/CMMI Tutorial - ESEPG Measurement and Analysis: Overview

CMMI RUP Purpose Workflow Develop and sustain a Project Management measurement capability Synergy that is used to support • RUP provides good support management information mechanisms including extensive needs. guidelines on candidate measures of project, process, and product • RUP does not explicitly address the communication of measurement results to data providers

© 2001 by Carnegie Mellon University 117 RU{/CMMI Tutorial - ESEPG Measurement and Analysis: Mapping CMMI RUP SG 1: Align Measurement and Workflow: Project Management Analysis Activities WD: Develop objectives and Development Plan practices are aligned with identified Activity: Develop Measurement Plan information needs and objectives. Guidelines: Metrics

SG 2: Provide Measurement Results Workflow: Project Management Measurement results that address WD: Monitor and Control the Project identified information needs and Activity: Monitor Project Status objectives are provided. Activity: Report Status

© 2001 by Carnegie Mellon University 118 RU{/CMMI Tutorial - ESEPG Measurement and Analysis: Synergy Specific Goal Specific Practice

Align Measurement • Establish Measurement Objectives (H) and Analysis Activities • Specify Measures (H) • Specify Data Collection and Storage Procedures (H) • Specify Analysis Procedures (H)

Provide Measurement • Collect Measurement Data (H) Results • Analyze Measurement Data (H) • Store Data and Results (H) • Communicate Results (H)

© 2001 by Carnegie Mellon University 119 RU{/CMMI Tutorial - ESEPG Measurement and Analysis: Detail Example

SP2.4-1: Report results of measurement and analysis activities to all affected stakeholders. RUP Elements: Workflow: Project Management Workflow Detail: Monitor and Control the Project Activity: Report Status Artifact: Status Assessment Comments: Artifact: Status Assessment is drawn from the Project Measurements in Activity: Monitor Project Status. Status Assessment is used to ensure that expectations (i.e., Project Review Authority, project manager, and team leads in the functional areas) are synchronized and consistent. Data providers are not explicitly identified as receivers of measurement data. Degree of Synergy: High

© 2001 by Carnegie Mellon University 120 RU{/CMMI Tutorial - ESEPG CMMI Advanced Support Process Areas

Process improvement CAR proposals

Defects and Process Process other problems Management Management Process Areas Process Areas

All process areas Selected issues

Structured decisions DAR

© 2001 by Carnegie Mellon University 121 RU{/CMMI Tutorial - ESEPG Decision Analysis and Resolution: Overview

CMMI RUP Purpose Workflow Make decisions using a none structured approach that Synergy evaluates identified • Decision analysis and resolution alternatives against processes are outside the scope established criteria. of RUP

© 2001 by Carnegie Mellon University 122 RU{/CMMI Tutorial - ESEPG Decision Analysis and Resolution: Mapping

CMMI RUP SG 1: Evaluate Alternatives Workflow: none Decisions are based on an Outside the scope of RUP evaluation of alternatives using established criteria.

SG 2: Provide Measurement Results Workflow: none Measurement results that address Outside the scope of RUP identified information needs and objectives are provided.

© 2001 by Carnegie Mellon University 123 RU{/CMMI Tutorial - ESEPG Decision Analysis and Resolution: Synergy

Specific Goal Specific Practice

Evaluate Alternatives • Establish and Use Guidelines for Decision Analysis (L) • Select Evaluation Technique (L) • Establish Evaluation Criteria (L) • Identify Proposed Alternatives (L) • Evaluate Alternative Solutions (L) • Select Solutions (L)

© 2001 by Carnegie Mellon University 124 RU{/CMMI Tutorial - ESEPG CMMI Advanced Support Process Areas

Process improvement CAR proposals

Defects and Process Process other problems Management Management Process Areas Process Areas

All process areas Selected issues

Structured decisions DAR

© 2001 by Carnegie Mellon University 125 RU{/CMMI Tutorial - ESEPG Causal Analysis and Resolution: Overview CMMI RUP Purpose Workflow Identify causes of defects and Project Management other problems and take action Synergy to prevent them from occurring • In RUP, the iteration in the future. assessment supplies a natural point in each iteration to integrate causal analysis and resolution • Projects would need to develop their own quantitatively-based causal analysis techniques

© 2001 by Carnegie Mellon University 126 RU{/CMMI Tutorial - ESEPG Causal Analysis and Resolution: Mapping CMMI RUP SG 1: Determine Causes of Defects Workflow: Project Management Root causes of defects and other WD: Manage Iteration problems are systematically Activity: Assess Iteration determined. Artifact: Iteration Assessment

SG 2: Address Causes of Defects Workflow: Project Management Root causes of defects and other WD: Plan for Next Iteration problems are systematically Activity: Develop Iteration Plan addressed to prevent their future Artifact: Development Case occurrence. Workflow: Test Activity: Execute System Tests

© 2001 by Carnegie Mellon University 127 RU{/CMMI Tutorial - ESEPG Causal Analysis and Resolution: Synergy

Specific Goal Specific Practice

Determine Causes • Select Data for Analysis (M) of Defects • Analyze Causes (L)

Address Causes • Implement the Action Proposals (M) of Defects • Evaluate the Effect of Changes (M) • Record Data (L)

© 2001 by Carnegie Mellon University 128 RU{/CMMI Tutorial - ESEPG Causal Analysis and Resolution: Detail Example SP1.2-1: Perform causal analysis of selected defects and other problems and propose actions to address them. RUP Elements: Workflow: Project Management Workflow Detail: Manage Iteration Activity: Assess Iteration, Artifact: Iteration Assessment Comments: In RUP, each iteration ends with an assessment of the iteration’s objectives, risks, and defects that is used to modify the project or improve the process. Artifact: Iteration Assessment captures the result of an iteration, the degree to which the evaluation criteria was met, lessons learned, and changes to be done. While RUP provides an appropriate context for causal analysis, this CMMI practice assumes a statistical basis for the selection of defects and problems to address and the use of causal analysis techniques to analyze the defects. These aspects would need to be added to the iteration assessment, planning the next iteration, updating the development case, and specifying specific product and process measures in the measurement plan. Degree of Synergy: Low

© 2001 by Carnegie Mellon University 129 RU{/CMMI Tutorial - ESEPG Topics Goals and Purpose CMMI Overview RUP Overview RUP to CMMI Mapping • Project Management • Engineering • Support • Process Management • Generic Practices Lessons Learned

© 2001 by Carnegie Mellon University 130 RU{/CMMI Tutorial - ESEPG CMMI Basic Process Management Process Areas

Organization’s process needs and objectives Senior Training for Projects Management and Support Groups in Std Process and Assets

Organization’s OT business Training needs objectives Std Process and Other Assets Std Process Project Management, and Other Support, and Assets Engineering process OPD OPF Resources and areas Coordination

Process Improvement Improvement information Proposals; Participation (e.g., lessons learned, data, artifacts) in defining, assessing, and deploying processes

© 2001 by Carnegie Mellon University 131 RU{/CMMI Tutorial - ESEPG Organizational Process Focus: Overview

CMMI RUP Purpose Workflow Establish and maintain an Environment understanding of the Synergy organization's processes and • RUP is primarily a project level process assets, and to identify, tool plan, and implement the • Organizations wanting to use organization's process RUP for process management improvement activities. process areas may need to add workflows to address organizational process focus and definition issues

© 2001 by Carnegie Mellon University 132 RU{/CMMI Tutorial - ESEPG Organizational Process Focus: Mapping CMMI RUP SG 1: Determine Process Workflow: Environment Improvement Opportunities WD: Prepare Environment for Strengths, weaknesses, and Project improvement opportunities for the Activity: Development-Organization organization's processes Assessment are identified periodically and as needed.

SG 2: Plan and implement Process Workflow: Environment Improvement Activities WD: Prepare Environment for Improvements are planned and Project implemented, process assets are Activity: Development-Organization deployed, and process-related Assessment experiences are incorporated into the organization’s process assets.

© 2001 by Carnegie Mellon University 133 RU{/CMMI Tutorial - ESEPG Organizational Process Focus: Synergy

Specific Goal Specific Practice

Determine Process • Establish Organizational Process Needs (L) Improvement • Assess the Organization’s Processes (H) Opportunities • Identify the Organization’s Process Improvements (H)

Plan and Implement • Establish Process Action Plans (M) Process • Implement Process Action Plans (L) Improvement • Deploy Process and Related Assets (L) Activities • Incorporate Process-Related Experiences into the Organization’s Process Assets (L)

© 2001 by Carnegie Mellon University 134 RU{/CMMI Tutorial - ESEPG Organizational Process Focus: Detail Example SP1.2-1: Assess the processes of the organization periodically and as needed to maintain an understanding of their strengths and weaknesses. RUP Components: Workflow: Environment Workflow Detail: Prepare Environment for Project Activity: Development Organization Assessment Comments: When preparing for a new project, RUP provides an activity to assess the organization’s processes Degree of Synergy: High

© 2001 by Carnegie Mellon University 135 RU{/CMMI Tutorial - ESEPG CMMI Basic Process Management Process Areas

Organization’s process needs and objectives Senior Training for Projects Management and Support Groups in Std Process and Assets

Organization’s OT business Training needs objectives Std Process and Other Assets Std Process Project Management, and Other Support, and Assets Engineering process OPD OPF Resources and areas Coordination

Process Improvement Improvement information Proposals; Participation (e.g., lessons learned, data, artifacts) in defining, assessing, and deploying processes

© 2001 by Carnegie Mellon University 136 RU{/CMMI Tutorial - ESEPG Organizational Process Definition: Overview CMMI RUP Purpose Workflow Establish and maintain a Environment usable set of organizational Synergy process assets. • Organizations could use RUP as the basis for their Organizational Standard Process • Organizations would need to pay attention to Medium and Low synergy areas

© 2001 by Carnegie Mellon University 137 RU{/CMMI Tutorial - ESEPG Organizational Process Definition: Mapping CMMI RUP SG 1: Create Organizational Workflow: Environment Process Assets WD: Develop Guidelines A set of organizational process Concept: Implementing a Process in assets is available. an Organization Concept: Process Configuration

SG 2: Make Supporting Process Concept: Process Configuration Assets Available Process assets that support the use of the organization’s set of standard processes are available.

© 2001 by Carnegie Mellon University 138 RU{/CMMI Tutorial - ESEPG Organizational Process Definition: Synergy Specific Goal Specific Practice

Create Organizational • Establish Standard Processes (M) Process Assets • Establish Life-Cycle Model Descriptions (M) • Establish Tailoring Criteria and Guidelines (M)

Make Supporting • Establish An Organizational Measurement Process Assets Repository (L) Available • Establish An Organizational-Process Asset Library (M)

© 2001 by Carnegie Mellon University 139 RU{/CMMI Tutorial - ESEPG Organizational Process Definition: Detail Example SP1.2-1: Establish and maintain descriptions of the life-cycle process models approved for use in the organization.

RUP Components: Concepts: Process Configuration

Comments: Supplementary information suggests that RUP can be the organization's standard process. Following RUP should allow organizations to describe many life cycle types. RUP suggests that there may be more than one organization-wide process, one for each different type of development.

Degree of Synergy: Medium

© 2001 by Carnegie Mellon University 140 RU{/CMMI Tutorial - ESEPG CMMI Basic Process Management Process Areas Organization’s process needs and objectives Senior Training for Projects Management and Support Groups in Std Process and Assets

Organization’s OT business Training needs objectives Std Process and Other Assets Std Process Project Management, and Other Support, and Assets Engineering process OPD OPF Resources and areas Coordination

Process Improvement Improvement information Proposals; Participation (e.g., lessons learned, data, artifacts) in defining, assessing, and deploying processes

© 2001 by Carnegie Mellon University 141 RU{/CMMI Tutorial - ESEPG Organizational Training: Overview CMMI RUP Purpose Workflow Develop the skills and none knowledge of people so they Synergy can perform their roles • Organizational training issues effectively and efficiently. are outside the scope of RUP

© 2001 by Carnegie Mellon University 142 RU{/CMMI Tutorial - ESEPG Organizational Training: Mapping

CMMI RUP SG 1: Identify Training Needs and Workflow: none Make Training Available Outside of the scope of RUP Training to support the organization’s management and technical roles is identified and made available.

SG 2: Provide Necessary Training Workflow: none Training necessary for individuals to Outside of the scope of RUP perform their roles effectively is provided.

© 2001 by Carnegie Mellon University 143 RU{/CMMI Tutorial - ESEPG Organizational Training: Synergy

Specific Goal Specific Practice

Identify Training Needs • Establish the Strategic Training Needs (L) and Make Training • Determine which Training Needs are Available the Responsibility of the Organization (L) • Establish and Maintain Organizational Training Tactical Plan (L) • Establish and Maintain Training Capability (L)

Provide Necessary • Deliver Training (L) Training • Establish Training Records (L) • Assess Training Effectiveness (L)

© 2001 by Carnegie Mellon University 144 RU{/CMMI Tutorial - ESEPG CMMI Advanced Process Management Process Areas

Organization Improvements Cost and benefit data from piloted improvements OID

Quality and process performance objectives, Quality and process measures, baselines, models performance objectives, measures, baselines, Project Management, models Support, and Senior Engineering process OPP areas Management Progress toward achieving business objectives

Common measures Process performance and capability data Ability to develop and deploy process and supporting assets “Basic Set” of Process Management Process Areas

© 2001 by Carnegie Mellon University 145 RU{/CMMI Tutorial - ESEPG Organizational Process Performance: Overview CMMI RUP Purpose Workflow Establish and maintain a none quantitative understanding of Synergy the performance of the • Establishing a quantitative organization’s set of standard understanding of an processes, and to provide the organization’s set of processes process performance data, is outside the scope of RUP baselines, and models to quantitatively manage the organization’s projects.

© 2001 by Carnegie Mellon University 146 RU{/CMMI Tutorial - ESEPG Organizational Process Performance: Mapping CMMI RUP SG 1: Establish Performance Workflow: none Baselines and Models Outside of the scope of RUP Baselines and models that characterize the expected process performance of the organization's set of standard processes are established and maintained.

© 2001 by Carnegie Mellon University 147 RU{/CMMI Tutorial - ESEPG Organizational Process Performance: Synergy Specific Goal Specific Practice

Establish Performance • Select Processes (L) Baselines and Models • Establish Process Performance Measures (L) • Establish Quality and Process Performance Objectives (L) • Establish Process Performance Baselines (L) • Establish Process Performance Models (L)

© 2001 by Carnegie Mellon University 148 RU{/CMMI Tutorial - ESEPG CMMI Advanced Process Management Process Areas

Organization Improvements Cost and benefit data from piloted improvements OID

Quality and process performance objectives, Quality and process measures, baselines, models performance objectives, measures, baselines, Project Management, models Support, and Senior Engineering process OPP areas Management Progress toward achieving business objectives

Common measures Process performance and capability data Ability to develop and deploy process and supporting assets “Basic Set” of Process Management Process Areas

© 2001 by Carnegie Mellon University 149 RU{/CMMI Tutorial - ESEPG Organizational Innovation and Deployment: Overview CMMI RUP Purpose Workflow Select and deploy incremental none and innovative improvements Synergy that measurably improve the • Establishing measurable organization’s processes and objectives for incremental and technologies. The innovative process improvement improvements support the is outside the scope of RUP organization’s quality and process performance objectives as derived from the organization’s business objectives.

© 2001 by Carnegie Mellon University 150 RU{/CMMI Tutorial - ESEPG Organizational Innovation and Deployment: Mapping CMMI RUP SG 1: Select Improvements Workflow: none Process and technology Outside of the scope of RUP improvements that contribute to meeting quality and process performance objectives are selected.

SG 2: Deploy Improvements Workflow: none Measurable improvements to the Outside of the scope of RUP organization’s processes and technologies are continually and systematically deployed.

© 2001 by Carnegie Mellon University 151 RU{/CMMI Tutorial - ESEPG Organizational Innovation and Deployment: Synergy

Specific Goal Specific Practice

Select Improvements • Collect and Analyze Improvement Proposals (L) • Identify Innovations (L) • Pilot Improvements (L) • Select Improvements for Deployment (L)

Deploy Improvements • Plan the Deployment (L) • Manage the Deployment (L) • Measure Improvement Effects (L)

© 2001 by Carnegie Mellon University 152 RU{/CMMI Tutorial - ESEPG Topics Goals and Purpose CMMI Overview RUP Overview RUP to CMMI Mapping • Project Management • Engineering • Support • Process Management • Generic Practices Lessons Learned Conclusions

© 2001 by Carnegie Mellon University 153 RU{/CMMI Tutorial - ESEPG Continuous Representation Structure

Generic Goals & Generic Practices

Generic Goals & Generic Practices Specific Specific Goals Goals & & Specific Specific Practices Practices

© 2001 by Carnegie Mellon University 154 RU{/CMMI Tutorial - ESEPG The Capability Levels

5 Optimizing

4 Quantitatively Managed

3 Defined

2 Managed

1 Performed

0 Incomplete

© 2001 by Carnegie Mellon University 155 RU{/CMMI Tutorial - ESEPG Capability Level 0

Generic Goal Generic Practices

There are none • There are none

© 2001 by Carnegie Mellon University 156 RU{/CMMI Tutorial - ESEPG Capability Level 1

Generic Goal Generic Practices

Achieve Specific Goals • Identify Work Scope • Perform Base Practices

© 2001 by Carnegie Mellon University 157 RU{/CMMI Tutorial - ESEPG Capability Level 2

Generic Goal Generic Practices

Institutionalize a • Establish and Maintain an Organizational Policy Managed Process • Plan the Process • Provide Resources • Assign Responsibility • Train People • Manage Configurations • Identify and Involve Relevant Stakeholders • Monitor and Control the Process • Objectively Evaluate Adherence • Review Status with Higher-Level Management

© 2001 by Carnegie Mellon University 158 RU{/CMMI Tutorial - ESEPG Capability Level 3

Generic Goal Generic Practices

Institutionalize a • Establish a Defined Process Defined Process • Collect Improvement Information

© 2001 by Carnegie Mellon University 159 RU{/CMMI Tutorial - ESEPG Capability Level 4

Generic Goal Generic Practices

Institutionalize a • Establish Quality Objectives Quantitatively • Stabilize Subprocess Performance Managed Process

© 2001 by Carnegie Mellon University 160 RU{/CMMI Tutorial - ESEPG Capability Level 5

Generic Goal Generic Practices

Institutionalize an • Ensure Continuous Process Improvement Optimizing Process • Correct Common Causes of Problems

© 2001 by Carnegie Mellon University 161 RU{/CMMI Tutorial - ESEPG Topics

Goals and Purpose CMMI Overview RUP Overview RUP to CMMI Mapping Lessons Learned

© 2001 by Carnegie Mellon University 162 RU{/CMMI Tutorial - ESEPG … On Planning the Comparison • Determining the goals/objectives for the comparison before doing the comparison is key • Comparison objectives, expected results, degree of rigor, and needed resources must be consistent to achieve reasonable results • Determining the “level” on which to base the comparison must be part of setting the objectives and expected results • Determining how comparison results will be captured before the review starts expedites the review • Having all reviewers capture their findings in a similar manner is vital for later consolidation and reporting

© 2001 by Carnegie Mellon University 163 RU{/CMMI Tutorial - ESEPG … On Executing the Comparison • Prototyping the level of comparison to see if you get the desired results before the review saves rework - Avoid comparisons below the Specific Practice level • Determining the basic principles that drive both the CMMI and the target process are essential to any valid comparison • Determining the lexicon of the target process is essential for a valid review - Vital to understand the intent of a CMMI specific practice but don’t expect an exact match of terminology

© 2001 by Carnegie Mellon University 164 RU{/CMMI Tutorial - ESEPG … On Resources Used in the Comparison

• Reviewers need to be familiar (but not necessarily experts) with CMMI and the target process • Reviewers must include resources that have in-depth understanding of CMMI and the target process (not necessarily the same person) • Reviewers need to have a common understanding - Comparison objectives and expected results - Level of comparison, “rating” scheme, form of findings capture - Lexicon and basic principles of the target process - Intent of CMMI process areas

© 2001 by Carnegie Mellon University 165 RU{/CMMI Tutorial - ESEPG CMMI Observations

CMMI provides good guidance on general systems development practices and institutionalization of process practices

CMMI could better address • Architecture-related practices • Recursive nature of the process elements in the engineering process areas • “Waterfall” appearance of the engineering process areas

© 2001 by Carnegie Mellon University 166 RU{/CMMI Tutorial - ESEPG RUP Observations RUP provides strong engineering, basic support, and basic project management practices • Clear definition of roles and responsibilities • Integration of engineering and project management activities • Use of iterations to mitigate risks as early as possible • Validation of requirements and solutions • Focus on early architecture definition and validation Organizations using RUP may have need to address • Statistical process control • Organizational process elements • Subcontractor or vendor management practices • Institutionalization of processes

© 2001 by Carnegie Mellon University 167 RU{/CMMI Tutorial - ESEPG Parting Thoughts

RUP is a software engineering process that is integrated with a suite of software development tools.

CMMI is a process framework that integrates systems and software engineering process elements and the organizational processes necessary to institutionalize them.

RUP and CMMI complement each other in achieving a mature software development organization.

© 2001 by Carnegie Mellon University 168 RU{/CMMI Tutorial - ESEPG Contact Information

Brian Gallagher Lisa Brownsword

Software Engineering Software Engineering Institute Institute 4500 5th Ave 4301 Wilson Blvd, Suite 902 Pittsburgh, PA 15213 Arlington, VA 22203 USA USA

Voice: +1 412.268.7157 Voice: +1 703.908.8203 Email: [email protected] Email: [email protected]

© 2001 by Carnegie Mellon University 169 RU{/CMMI Tutorial - ESEPG