software engineering process - ii 10.1 unit 10: integrated capability maturity model (cmmi) software...

25
Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Upload: oswin-palmer

Post on 16-Jan-2016

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.1

Unit 10:

Integrated Capability Maturity Model (CMMI)

Software Engineering Process - II

Page 2: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.2

What are your expectations from this unit?

Before You Begin…

Page 3: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.3

Unit Objectives

Describe the SEI-CMMI evolution.

Describe the CMMI framework.

Identify the key process areas, goals, and practices, and explain assessment process.

Explain the staged CMMI model and its advantages.

Describe the continuous CMMI model and its advantages.

Describe the CMMI implementation approach.

Identify the benefits of CMMI.

Page 4: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.4

SEI-CMMI Evolution

In the mid-1980s, the Software Engineering Institute (SEI) initiated a study of assessing the capabilities of software contractors.

The outcome of this capability assessment was the SEI Software Capability Maturity Model (CMM).

The software CMM was followed by a range of other models including the People Capability Maturity Model (P-CMM).

Page 5: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.5

SEI-CMMI Evolution (cont.)

SEI started a new program to integrate all the earlier models to develop an integrated capability maturity model (CMMI).

This integrated model supercedes the CMM, covers its reported weaknesses, and has two instantiations, staged and continuous.

The CMMI model is a framework for process improvement and is applicable across a range of companies.

Page 6: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.6

SEI-CMMI Framework

The SEI-CMMI model has two versions:

Staged: Is compatible with the software CMM and allows assessment of an organization’s system development and management processes at a maturity level from 1 to 5.

Continuous: Allows for a finer-grain classification and rates 24 process areas on a scale from 1 to 6.

Page 7: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.7

SEI-CMMI Framework (cont.)

The SEI-CMMI model includes:

Process areas: The CMMI identifies 24 process areas, relevant to software process capability and improvement. These process areas are organized into four

groups.

Goals: Goals define the desirable state that should be attained by an organization. The CMMI has specific goals associated with each

process area.

The CMMI also has generic goals, which institutionalize good practices.

Page 8: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.8

SEI-CMMI Framework (cont.)

Practices: Practices define ways to achieve a goal.

The CMMI defines up to seven specific and generic practices that may be associated with each goal within each process area.

Page 9: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.9

CMMI Process AreasCategory Process Area

Process Management Organizational process definitionOrganizational process designOrganizational trainingOrganizational process performanceOrganizational innovation and deployment

Project Management Project planningProject monitoring and controlSupplier agreement managementIntegrated project managementRisk managementIntegrated teamingQuantitative project management

Engineering Requirements managementRequirements developmentTechnical solutionProduct integrationVerificationValidation

Support Configuration managementProcess and product quality managementMeasurement and analysisDecision analysis and resolutionOrganizational environment for integrationCausal analysis and resolution

Page 10: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.10

Process Areas and Goals - Examples

Goal Process Area

Corrective actions are managed to closure when the project’s performance or results deviate significantly from the plan.

Specific goal in project monitoring and control

Actual performance and progress of the project is monitored against the project plan.

Specific goal in project monitoring and control

The requirements are analyzed and validated and a definition of the required functionality is developed

Specific goal in requirements development

Root cause of defect and other problems are systematically determined.

Specific goal in causal analysis and resolution

The process is institutionalized as a defined process

Generic goal

Page 11: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.11

Practices and Goals - Examples

Practice Associated goal

Analyze derived requirements to ensure that they are necessary and sufficient.

Validate requirements to ensure that the resulting product will perform as intended in the user’s environment using multiple techniques as appropriate.

The requirements are analyzed and validated, and a definition of the required functionality is developed.

Select the defects and other problems for analysis.

Perform causal analysis of selected defects and other problems and propose actions to address them.

Root causes of defects and other problems are systematically determined.

Establish and maintain an organizational policy for planning and performing the process, developing the work products, and providing the services of the requirements development process.

Assign responsibility and authority for performing the process, developing the work products, and providing the services of the requirements development process.

The process is institutionalized as a defined process.

Page 12: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.12

Class Activity - 1

Identify two possible goals for the following process areas:

Requirement management

Configuration management

Page 13: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.13

CMMI Assessment Process

The CMMI assessment involves examining the processes in an organization and rating these on a six-point scale based on their level of maturity.

The six-point scale assigns a level to a process as follows:

Not performed: One or more of the specific goals associated with the process areas is not satisfied.

Performed: Goals are satisfied. The scope of work for each process area is defined and communicated to team members.

Page 14: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.14

CMMI Assessment Process (cont.)

Managed:

The goals associated with process areas are met and organizational policies are in place.

Documented plans, resource management, and process monitoring procedures must exist.

Defined:

Each project in the organization has a managed process that is tailored from a defined set of organizational processes.

Process assets and measurements must be collected and used for future process improvements.

Page 15: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.15

CMMI Assessment Process (cont.)

Quantitatively managed: There is an organizational responsibility to use statistical and other quantitative methods to control subprocesses.

Optimizing:

The organization must use the process and product measurements to drive the process improvement.

The processes must adapt to changing business needs.

Page 16: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.16

Staged CMMI Model

This model assesses an organization’s process capability on a scale of 1 to 5. It prescribes goals that should be achieved at each level.

Page 17: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.17

Staged CMMI Model (cont.)

The process areas at level 2 are:

Requirements management

Project planning

Project monitoring and control

Supplier agreement management

Measurement and analysis

Process and product quality assurance

Configuration management

Page 18: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.18

Class Activity - 2

List some practices that could help an organization to make project planning a managed process.

Page 19: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.19

Staged CMMI Model (cont.)

The advantages of the staged model are:

It is compatible with the software CMM model.

It defines a clear improvement path for the organizations.

The disadvantages of the staged model are:

A maturity assessment at lower levels gives a misleading picture of the organization’s capability.

Page 20: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.20

Continuous CMMI Model

This model does not assess an organization according to discrete levels.

This model considers individual or groups of practices and assesses the use of each practice on a six-point scale.

The maturity assessment is not a single value but a set of values showing the organization's maturity for a group of processes.

Page 21: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.21

Continuous CMMI Model (cont.)

Page 22: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.22

Class Activity - 3

List some advantages of the continuous model.

Page 23: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.23

Implementing CMMI

The CMMI implementation approach includes the following key principles:

Maintain executive support

Choose objectives carefully

Leverage best practices

Align process improvement with business objectives

Build an integrated improvement infrastructure

Integrate legacy processes and initiatives

Page 24: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.24

Benefits of CMMI

The CMMI :

Identifies many cross-organizational issues and provides a unique opportunity to address them.

Helps achieve optimization of processes in a cross-discipline environment.

Yields more accurate project planning and reduced cycle time.

Provides an opportunity to implement integrated engineering assets.

Helps gain an industry-wide recognition for excellence.

Page 25: Software Engineering Process - II 10.1 Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II

Software Engineering Process - II 10.25

Summary

What was your key learning from the unit?