The Concept of Capability Maturity Model (CMM)

Document Sample
The Concept of Capability Maturity Model (CMM) Powered By Docstoc
					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.
    n   In software organization, talented people
        are important, and they are supported by a
        good working environment.
n   CMM bukanlah software life cycle
    model.

                                                  2
Capability
Maturity Model (CMM)
n   1986: Process Maturity Model
n   Watts S. Humphrey
n   1991: Capability Maturity Model
    n   Organization-wide improvements
n   Terbaru: Personal Software Process (PSP)
    n   Software engineers are taught to improve their
        personal work styles.



                                                         3
Software Engineering
Institute (SEI)
n   Dibentuk 1984, berlokasi di Carnegie Mellon
    University (CMU).
n   Didanai oleh U.S. Department of Defense.
n   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.
n   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   Process: Terminologi ini dipergunakan untuk
    menjabarkan kesatuan antara orang, metoda,
    dan alat bantu yang dipergunakan untuk
    menghasilkan perangkat lunak.
n   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     Optimizing (5)
                         process
                   Process Measurement:
                   Predictable Process   Managed   (4)
     Process Definition:
     Standard, consistent
     process                      Defined (3)
Basic Mgt Control:
Disciplined
Process         Repeatable (2)

 Initial (1)   Ad hoc process


                                                                    9
          CMM levels related to Productivity, Quality
          and Risk
                Process Control:
                                                       Productivity
                Continuosly improving Optimizing (5)
                                                       & Quality
                process
      Process Measurement:
      Predictable Process       Managed (4)

 Process Definition:
 Standard, consistent    Defined (3)
 process
Basic Mgt Control:
Disciplined    Repeatable (2)
Process
     Initial (1) Ad hoc process                               Risk


                                                                      10
CMM: Initial Level
n   Characterized as:
    n   Ad hoc process, no sound software engineering
        practices
    n   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   Tools, if they exist, are not well integrated.
    n   Change control is nonexistent.
    n   Success generally depends on the efforts
        of individuals, not the organization. As the
        staff changes, so does the process.
    n   Usually time and cost overruns.
    n   86% of the American software organization
        in this level (early survey).

                                                   12
CMM: Repeatable Level
n   Basic software project management practices
    are in place
n   Project control have been established over:
    n   Quality assurance
    n   Change control
    n   Cost, and schedule
n   Planning and management techniques are
    based on experience with similar products;
    hance the name repeatable.
n   Measurements on costs and schedules.
                                                 13
CMM: Repeatable Level
n   Enables earlier successes to be repeated. The
    organization has achieved a stable process.
n   Managers identify problems as they arise and
    take immediate corrective action to prevent
    them from becoming crisis.
n   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.
n   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.
n   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.
n   1% of the American software
    organization in this level.
                                      16
CMM: Managed Level
n   The organization has initiated
    comprehensive process measurements
    and analysis.
n   Requires that measures of software
    process and product quality be collected
    so that process effectiveness can be
    determined quantitatively.
n   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.
n   A process database and adequate
    resources are needed.



                                       18
CMM: Optimizing Level
n   Goal: continuous process improvement.
n   Statistical quality and process control
    techniques are used to guide the
    organization.
n   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.
n   SEI juga telah membuat kuesioner-
    kuesioner 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.
n   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.
n   Level 5
    n   Technology Innovation,
         Process Change
        Management.

                                  23
Software Capability Evaluation
(SCE)
n   SCE biasanya digunakan untuk mengkaji level
    maturity sebuah organisasi.
n   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.
n   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

                                      Performance
                                      •Cost          Expected Trend
Level 1                               •Schedule
                                      •Quality
                                                    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        Duration    Effort    Faults          Faults         Total Cost of
    Level      (Calendar   (Person   Detected        Delivered to   Development
               Months)     Months)   during          Client and
                                     Development     Installed
    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   Does implementing CMM lead to increased
    profitability?
n   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