CMM Concept - Fakultas Ilmu Komputer Universitas Indonesia

advertisement
The Concept of
Capability Maturity
Model (CMM)
Magister Teknologi Informasi
Fakultas Ilmu Komputer
Universitas Indonesia
Capability
Maturity Model (CMM)
n
Facts:
n
n
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
n
Organization-wide improvements
Terbaru: Personal Software Process (PSP)
n
Software engineers are taught to improve their
personal work styles.
3
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
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.
6
Terminologi pada CMM
n
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.
8
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
n
Ad hoc process, no sound software engineering
practices
Without formal procedure, cost estimates, project
plan
Enough of this design stuff!!
We’re behind schedule!!
Let’s 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
n
Basic software project management practices
are in place
Project control have been established over:
n
n
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
n
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
n
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
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
n
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
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
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
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
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
n
Process Measurement and
Analysis, Quality
Management, Defect
Prevention.
Level 5
n
Technology Innovation,
Process Change
Management.
23
Software Capability Evaluation
(SCE)
n
n
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
7
$728,000
Level 4
12.5
42.8
97
5
$392,000
Level 5
9.0
16.0
37
1
$146,000
(S.Rifkin, Usenet-posting on comp.software-eng, March 1, 1993)
26
Implementasi
n
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
Download