You are on page 1of 29

The Concept of

Capability Maturity
Model (CMM)
Magister Teknologi Informasi
Fakultas Ilmu Komputer
Universitas Indonesia

Capability
Maturity Model (CMM)
n

Facts:
n

Fred Brooks: no technological silver bullet


to rescue software crisis.
In software organization, talented people
are important, and they are supported by a
good working environment.

CMM bukanlah software life cycle


model.
2

Capability
Maturity Model (CMM)
n
n
n

1986: Process Maturity Model


Watts S. Humphrey
1991: Capability Maturity Model
n

Organization-wide improvements

Terbaru: Personal Software Process (PSP)


n

Software engineers are taught to improve their


personal work styles.

Software Engineering
Institute (SEI)
n

n
n

Dibentuk 1984, berlokasi di Carnegie Mellon


University (CMU).
Didanai oleh U.S. Department of Defense.
Tujuan semula: meningkatkan kualitas
perangkat lunak (militer) dengan
mengevaluasi proses dari kontraktor yang
mengerjakannya dan memberikan
penghargaan kepada kontraktor yang
menunjukkan level proses yang matang.
4

Capability
Maturity Model (CMM)
n

Underlying the CMM;


n

The belief that the use of new software


techniques will not in itself result in
increased productivity and profitability,
because the cause of our problems is how
we manage the software process.

CMM assists organizations in providing


the infrastructure for a disciplined and
mature software process.
5

Capability
Maturity Model (CMM)
n

The improved process should result in


better quality software and fewer
software projects that suffer from time
and cost overruns.

Terminologi pada CMM


n

Process: Terminologi ini dipergunakan untuk


menjabarkan kesatuan antara orang, metoda,
dan alat bantu yang dipergunakan untuk
menghasilkan perangkat lunak.
Software Engineering Process is defined
as the system of all tasks and the supporting
tools, standard, methods, and practices
involved in production and evolution of
software product throughout the software life
cycle.
7

Software Process Maturity


Level
n

Pengembangan software process tidak


bisa dilakukan dalam sekejap, oleh
karenanya CMM memberikan tingkatan
yang bisa dicapai secara bertahap oleh
pengembang perangkat lunak.

Software Process Maturity


Level
Process Control:
Continuosly improving
process
Process Measurement:
Managed
Predictable Process
Process Definition:
Standard, consistent
Defined (3)
process
Basic Mgt Control:
Disciplined
Repeatable (2)
Process

Initial (1)

Optimizing (5)
(4)

Ad hoc process
9

CMM levels related to Productivity, Quality


and Risk
Process Control:
Continuosly improving Optimizing (5)
process
Process Measurement:
Managed (4)
Predictable Process

Productivity
& Quality

Process Definition:
Standard, consistent
Defined (3)
process
Basic Mgt Control:
Repeatable (2)
Disciplined
Process

Initial (1) Ad hoc process

Risk

10

CMM: Initial Level


n

Characterized as:
n

Ad hoc process, no sound software engineering


practices
Without formal procedure, cost estimates, project
plan
Enough of this design stuff!!
Were behind schedule!!
Lets start coding

11

CMM: Initial Level


n

Characterized as:
n
n
n

n
n

Tools, if they exist, are not well integrated.


Change control is nonexistent.
Success generally depends on the efforts
of individuals, not the organization. As the
staff changes, so does the process.
Usually time and cost overruns.
86% of the American software organization
in this level (early survey).
12

CMM: Repeatable Level


n

Basic software project management practices


are in place
Project control have been established over:
n
n
n

Quality assurance
Change control
Cost, and schedule

Planning and management techniques are


based on experience with similar products;
hance the name repeatable.
Measurements on costs and schedules.
13

CMM: Repeatable Level


n

Enables earlier successes to be repeated. The


organization has achieved a stable process.
Managers identify problems as they arise and
take immediate corrective action to prevent
them from becoming crisis.
16% of the American software organization in
this level (SEI survey in 1991).

14

CMM: Defined Level


n

The organization has defined the process as a


basis for consistent implementation and
better understanding.
The process of software production is fully
documented.Managerial and technical aspects
of the procfess are clearly defined, and
continual efforts are made to improve the
process.
Reviews are used to achieve software quality.
15

CMM: Defined Level


n

A Software Engineering Process Group


(SEPG) has been established, to lead
the improvement effort, keep
management informed on progress, and
facilitate introducing other software
engineering methods.
1% of the American software
organization in this level.
16

CMM: Managed Level


n

The organization has initiated


comprehensive process measurements
and analysis.
Requires that measures of software
process and product quality be collected
so that process effectiveness can be
determined quantitatively.
Statistical quality control are in place.
17

CMM: Managed Level


n

The organization should support the


automatic data gathering process and
economically technology investment
justification.
A process database and adequate
resources are needed.

18

CMM: Optimizing Level


n
n

Goal: continuous process improvement.


Statistical quality and process control
techniques are used to guide the
organization.
The knowledge gained from each project is
utilized in future projects. Positive feedback
loop, resulting in a steady improvement in
productivity and quality.
19

Table 1: Industry Distribution across


maturity levels (1995)
CMM Level

Distribution

1 Initial

70%

2 Repeatable

15%

3 Defined

<10%

4 Managed

<5%

5 Optimizing

<1%

(Walker Royce, Software Project Management: A Unified


Framework, Addison Wesley, 1998, p 364)

20

Key Process Area (KPA)


n

Untuk setiap level maturity, SEI telah


menyiapkan sekumpulan Key Process
Area (KPA) sebagai acuan untuk naik ke
level berikutnya.
SEI juga telah membuat kuesionerkuesioner untuk melakukan assessment
pada level mana sebuah organisasi
berada.
21

Key Process Area (KPA)


n

Level 2
n

Requirements Management, Software Project


Planning, Software Project Tracking and
Oversight, Software Subcontract Management,
Software Quality Assurance, Software
Configuration Management.

Level 3
n

Organizational Process Focus, Organization


Process Definition, Training Program, Integrated
Software Management, Software Product
Engineering, Intergroup Coordination, Peer
Reviews.
22

Key Process Area (KPA)


n

Level 4
n

Process Measurement and


Analysis, Quality
Management, Defect
Prevention.

Level 5
n

Technology Innovation,
Process Change
Management.
23

Software Capability Evaluation


(SCE)
n

SCE biasanya digunakan untuk mengkaji level


maturity sebuah organisasi.
SCE berusaha mengkaji apakah sebuah organisasi
says what it does and does what it says dengan
mengevaluasi software process organisasi (say what
you do) dan implementasinya di proyek (do what you
says). Evaluasi dilakukan dengan menggunakan
kerangka kerja KPA.
SCE dilakukan dengan melakukan analisis rinci,
wawancara dsb., awalnya biasanya menggunakan
SEI Maturity Questionnaire.
24

Project Performance
Expectations
Level 5
Level 4
Level 3

Level 2

Level 1

Performance
Cost
Schedule
Quality

Expected Trend

Successive Projects

25

Project Performance
Expectations
n

Rifkin melakukan model prediksi untuk program


pemrosesan data 200.000 baris dengan
menggunakan data dari 1300 proyek.
CMM
Level

Duration
(Calendar
Months)

Effort
(Person
Months)

Faults
Detected
during
Development

Faults
Delivered to
Client and
Installed

Total Cost of
Development

Level 1

29.8

593.5

1,348

61

$5,440,000

Level 2

18.5

143.0

328

12

$1,311,000

Level 3

15.2

79.5

182

$728,000

Level 4

12.5

42.8

97

$392,000

Level 5

9.0

16.0

37

$146,000

(S.Rifkin, Usenet-posting on comp.software-eng, March 1, 1993)


26

Implementasi
n

Does implementing CMM lead to increased


profitability?
Beberapa contoh:
n

Software Engineering Division of Hughes Aircraft in


Fullerton, California. Menghabiskan dana $500.000 antara
tahun 1987-1990 untuk kegiatan assessments dan
improvement. Dalam kurun waktu 3 tahun tsb, naik dari
level 2 ke level 3. Konsekuensinya, Hughes Aircraft
memperkirakan annual savings sebesar $2 million
(Decreased overtime hours, fewer crises, improved
employee morale, lower turnover).
n

(W.S.Humphrey, T.R Snider, and R.R Willis, Software Process Improvement at


Hughes Aircraft, IEEE Software July 1991, p 11-23)

27

Implementasi
n

Contoh lainnya:
n

Equipment Division at Raytheon meningkat dari


level 1 (1988) ke level 3 (1993). Produktivitas
meningkat dan keuntungan sebesar $7.70 untuk
setiap dollar yang diinvestasikan dalam rangka
process improvement.

(R. Dion, Process Improvement and the Corporate Balance Sheet,


IEEE Software July 1993, p 28-35)
n

Schlumberger juga punya cerita sukses sama.

(H. Wohlwend and S. Rosenbaum, Software Improvements in an


International Company, Proceedings of the 15th International
Conference on Software Engineering, Baltimore, MD, May 1993, p
212-220)
28

Implementasi
n

U.S Air Force pada tahun 1998 telah


menetapkan bahwa organisasi
pengembang perangkat lunak
yang ingin menjadi
kontraktor Air Force
harus telah
mencapai level 3.
29