capability maturity model (cmm) - a technical overview

42
Capability Maturity Model for Software (CMM), Version 1.1 Technical Overview Raj Kishore Software Process Consultant Candidate - Doctor of Professional Studies in Computi ng (PhD) at Pace University

Upload: raj-kishore

Post on 08-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 1/42

Capability Maturity Modelfor Software (CMM), Version 1.1

Technical Overview

Raj KishoreSoftware Process Consultant

Candidate - Doctor of Professional Studies inComputing (PhD) at Pace University

Page 2: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 2/42

Capability Maturity Model for Software 2

Capability Maturity Model

for Software (CMM)

Achieving functionality and qualityon schedule and within budget.

Page 3: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 3/42

Capability Maturity Model for Software 3

CMM Timeline

1986Software Engineering Institute at Carnegie MellonUniversity developed software process maturity

framework.1987Software Engineering Institute releases brief description of the maturity framework.

1991CMM, Version 1.0

1992CMM, Version 1.1

Page 4: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 4/42

Capability Maturity Model for Software 4

Process Maturity Framework

In the area of software engineering, until the early 90s,there has been little improvement in productivity andquality gains.

Even undisciplined organisations sometimes produceexcellent results.

Capability Maturity Framework describes anevolutionary path from ad hoc, chaotic processes tomature, disciplined software processes.

Capability Maturity Framework integrates the conceptsof software process, software process capability,software process performance, and software processmaturity.

Page 5: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 5/42

Capability Maturity Model for Software 5

Immature Software Organisations

Software processes are generally improvisedby practitioners and their management during

the course of the project.Schedules and budgets are routinelyexceeded.

Lack of objective basis for judging product

quality and for solving product or processproblems.

Page 6: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 6/42

Capability Maturity Model for Software 6

Mature Software Organisations

Possess an organisation-wide ability formanaging software development andmaintenance processes.

Software processes are accuratelycommunicated to existing and new staff.

Work activities are carried out according toplanned processes.

Roles and responsibilities within the definedprocesses are clear throughout the projectand across the organisation.

Page 7: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 7/42

Capability Maturity Model for Software 7

Mature Software Organisations

Managers constantly monitor software qualityand customer satisfaction.

Schedules and budgets are based onhistorical performance and therefore realistic.

Expected results for cost, schedule,functionality, and quality of the products are

usually achieved.

Page 8: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 8/42

Capability Maturity Model for Software 8

Concepts of Process Maturity

A software process is a set of activities,methods, practices, and transformations that

people use to develop and maintain softwareand the associated products (such as plans,design documents, code, test plans, manualsetc.).

As the organisation matures, the softwareprocess becomes better defined and moreconsistently implemented throughout theorganisation.

Page 9: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 9/42

Capability Maturity Model for Software 9

Software Process Capability

The range of expected results that can beachieved by following a mature software

process.The software process capability of anorganisation provides one means of predictingthe most likely outcomes to be expected fromthe next software project the organisationundertakes.

Page 10: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 10/42

Capability Maturity Model for Software 10

Software Process Performance

Represents the actual results achieved byfollowing a software process.

Actual performance of the project may notreflect the full process capability.

Software process performance focuses on theresults achieved while software process

capability focuses on results expected.

Page 11: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 11/42

Capability Maturity Model for Software 11

Software Process Maturity

Extent to which a specific process is explicitlydefined, managed, measured, controlled, and

effective.Software process is well-understoodthroughout a mature organisation.

Capability of a mature organisation is known

as it can be measured.

Page 12: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 12/42

Capability Maturity Model for Software 12

CMM Overview

Software engineers and managers often knowtheir problems, but disagree on which

improvements are most important.To achieve sustainable results from processimprovement efforts, an evolutionary pathmust be designed that increases anorganisationµs software process maturity instages.

Page 13: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 13/42

Capability Maturity Model for Software 13

The 5 Levels of

Software Process MaturityInitial

Repeatable

Defined

Managed

Optimised

Page 14: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 14/42

Capability Maturity Model for Software 14

Level 1 ± The Initial Level

Software process capability of level 1organisations is unpredictable.

Organisation does not provide stableenvironment for developing and maintainingsoftware.

Projects abandon planned procedures during

crisis and revert to coding and testing.Success depends entirely on having anexceptional manager and a good team.

Page 15: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 15/42

Capability Maturity Model for Software 15

Understanding Level 1

Level 1 organisations do develop productsthat work.

Success solely depends on specificindividuals.

Page 16: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 16/42

Capability Maturity Model for Software 16

Level 2 ± The Repeatable Level

The software process capability of level 2organisations is disciplined.

Policies for managing a software project existand procedures to implement those policiesare established.

Effective management processes for software

projects are institutionalised.

Page 17: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 17/42

Capability Maturity Model for Software 17

Level 3 ± The Defined Level

The software process capability of level 3organisations is standard and consistent.

The standard engineering and managementprocess for developing and maintainingsoftware across the organisation is definedand documented.

Organisation-wide training program isimplemented to ensure that the staff andmanagers have the qualification required tofulfil their roles.

Page 18: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 18/42

Capability Maturity Model for Software 18

Understanding Levels 2 & 3

When projects grow, attention shifts fromtechnical issues to organisational and managerialissues²the focus of process maturity.

For level 2, management must focus on its ownprocesses to achieve a disciplined softwareprocess.

Level 2 must have policies that guide the projectsin establishing the appropriate managementprocesses.

Level 3 defines, integrates, and documents theentire software process.

Page 19: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 19/42

Capability Maturity Model for Software 19

Level 4 ± The Managed Level

The software process capability of level 4organisations is predictable.

Quantitative quality goals for both softwareproducts and processes are defined and set.Outcome is measured.

Software processes are instrumented with

well-defined and consistent measurements.Software products are of predictable highquality.

Page 20: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 20/42

Capability Maturity Model for Software 20

Level 5 ± The Optimising Level

The software process capability of Level 5organisations is continuously improving.

The entire organisation is focussed oncontinuous process improvements.

Page 21: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 21/42

Capability Maturity Model for Software 21

Understanding Levels 4 & 5

Many characteristics

of level 4 & 5 arebased on theconcepts of statisticalprocess control.

Juran Diagramme:Quality PlanningQuality ControlQuality Improvement

Page 22: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 22/42

Capability Maturity Model for Software 22

Page 23: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 23/42

Capability Maturity Model for Software 23

Visibility into the Software Process

Each succeedingmaturity level incre-mentally providesbetter visibility intothe software process.

Page 24: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 24/42

Capability Maturity Model for Software 24

Capability Maturity and Performance

PredictionThe maturity of anorganisationµssoftware processhelps to predict aprojectµs ability tomeet its goals.

Page 25: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 25/42

Capability Maturity Model for Software 25

Using CMM

Assessment teams use CMM to identify strengthsand weaknesses in the organisation.

Evaluation teams use CMM to identify the risks of selecting among different contractor and tomonitor contracts.

Managers and technical staff use CMM tounderstand the activities necessary to plan andimplement a software process improvement plan.

Process improvement groups use CMM as a guideto help them define and improve the softwareprocess in their organisation.

Page 26: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 26/42

Capability Maturity Model for Software 26

Internal Structure of Maturity Levels

Each maturity level iscomposed of severalkey process areas.

Each key process area isorganised into 5 sectionscalled common features.

Common features specifykey practices that, whencollectively addressed,accomplish the goals of the key process area.

Page 27: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 27/42

Capability Maturity Model for Software 27

Key Process Areas

Each maturity level is decomposed intoseveral key process areas.

The organisation must focus on these keyprocess areas to improve its softwareprocess.

Page 28: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 28/42

Capability Maturity Model for Software 28

Key Process Areas

All the goals of a key processarea must be achieved for theorganisation to satisfy that key

process area.When the goals of a keyprocess area are accom-plished on a continuingbasis across projects, the

organisation hasinstitutionalised theprocess capabilitycharacterised by thekey process area.

Page 29: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 29/42

Capability Maturity Model for Software 29

Level 2 Key Process Areas

Requirements management

Software project planning

Software project tracking and oversight

Software subcontract management

Software quality assurance

Software configuration management

Page 30: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 30/42

Capability Maturity Model for Software 30

Level 3 Key Process Areas

Organisation process focus

Organisation process definition

Training programme

Integrated software management

Software product engineering

Intergroup co-ordination

Peer reviews

Page 31: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 31/42

Capability Maturity Model for Software 31

Level 4 Key Process Areas

Quantitative process management

Software quality management

Page 32: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 32/42

Capability Maturity Model for Software 32

Level 5 Key Process Areas

Defect prevention

Technology change management

Process change management

Page 33: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 33/42

Capability Maturity Model for Software 33

Page 34: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 34/42

Capability Maturity Model for Software 34

Common Features

Commitment to perform

Ability to perform

Activities performed

Measurement and analysis

Verifying implementation

Page 35: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 35/42

Capability Maturity Model for Software 35

Key Practices

Each key process areais described in termsof the key practices

that contribute tosatisfying its goals.

Key practices describethe infrastructure andactivities that contributemost to the implementationand institutionalisation of the key process area.

Page 36: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 36/42

Capability Maturity Model for Software 36

Using CMM

Software Process Assessments

Software Capability Evaluations

Page 37: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 37/42

Capability Maturity Model for Software 37

Software Process Assessment andSoftware Capability Evaluation Methods

SPA focus on identi-fying improvementpriorities within an

organisationµs ownsoftware process andplan an improvementstrategy.

SCE focus on identi-fying the risks asso-ciated with a particularproject or contract.

Page 38: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 38/42

Capability Maturity Model for Software 38

More Information

Software Engineering InstituteCarnegie Mellon UniversityPittsburgh, PA 15213-3890Tel: +1-412-2685800

[email protected]

Page 39: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 39/42

PRojects IN Controlled Environments (PRINCE)

Project Management Method

Technical Overview

Raj Kishore

Software Process Consultant

Candidate - Doctor of Professional Studies inComputing (PhD) at Pace University

Page 40: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 40/42

Capability Maturity Model for Software 40

PRojects IN Controlled Environments (PRINCE)Project Management Method

Benfits of using a project management method:

Method is repeatable.

Method is teachable.Method builds on experience.

Everyone knows what to expect.

If one takes over a project in the middle,status can be easily obtained.

Early warnings of problems.

Proactive, not reactive.

Page 41: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 41/42

Capability Maturity Model for Software 41

PRINCE ± Key Principles

Distinguishes between management of thedevelopment process and techniques involvedin the development process.

Project must be driven by its business case.

PRINCE is product based.

Page 42: Capability Maturity Model (CMM) - A Technical Overview

8/6/2019 Capability Maturity Model (CMM) - A Technical Overview

http://slidepdf.com/reader/full/capability-maturity-model-cmm-a-technical-overview 42/42

Capability Maturity Model for Software 42

PRINCE ± Structure

Processes

Components

Techniques