The Concept of Software Organization Capability Maturity Model (SW-CMM / CMMI-Dev

Magister Teknologi Informasi Fakultas Ilmu Komputer Universitas Indonesia Semester Genap 2012/2013

Take a look to a Softball Game
a lesson learned

What happens when a ball is hit to a Little League team?
  

Everyone runs around at random. They might do the right thing, or they might not. The next time the ball is hit in the same place, they may do something different.

What happens when a ball is hit to a Professional Team?

Everyone moves in a coordinated fashion, based on practicing that play many times. Sometimes they fail to make the right play, but they almost always try to do the right thing.

Take a look to a Softball Game

What happens when the team loses a star player?
 

Little League team gets much worse. Professional team often has someone waiting to fill in. Little League players don't know what went wrong, or they blame each other. Professional teams discuss their play and look for ways to improve. "The next time there is an infield hit with 2 outs, let's do this instead."

Self-improvement after a bad play…

Take a look to a Softball Game

A professional baseball team is more "mature" than a Little League team (not referring to age). A professional team has self-perpetuating quality. They
  

Make good plays Develop new players like themselves Find ways to make better plays


Software Development Team & CMM       Has similiarity to Softball game Craftmanship ver Engineering In the same way. CMM tries to capture and describe these differences. Describes five levels of SW process maturity. or more mature than before applying CMM. CMM strives to create software development organizations that are "mature". of course a high-quality SW organizations are different from low-quality orgs. .

6 .  CMM assists an organizations in providing the infrastructure for a disciplined and mature software process. because the cause of our problems is how we manage the software process.Capability Maturity Model (CMM)  Underlying the CMM:  The belief that the use of new software techniques will not in itself result in increased productivity and profitability.

The Five Levels of Software Process Maturity (SW-CMM) Continuously Improving Process Predictable Process 5. Process Process Quality fairly well understood 2. Defined controlled Consistent Product and Process characterized. 3.Optimizing Focus on process improvement 4. Initial Project Unpredictable and Management poorly controlled 7 . Repeatable Disciplined Integrated Can repeat previously Process Engineering mastered tasks Process 1. Managed Managing Process Change measured and Standard.

CMM levels related to Productivity. consistent process Productivity & Quality Optimizing (5) Managed (4) Defined (3) Basic Mgt Control: Repeatable (2) Disciplined Process Initial (1) Ad hoc process Risk 8 . Quality & Risk Process Control: Continuosly improving process Process Measurement: Predictable Process Process Definition: Standard.

Management Visibility Process Capability Probability Target N-z Time/$/.. Levels 5 4 3 N-y N-x 2 1 In Out N+a N 9 ..

10 .How to use CMM  Hire an officially certified CMM Assessor to conduct a formal evaluation.  Use CMM as a set of suggestions and apply as you see fit. to impress clients with your quality.  Every other software development organization. then conduct internal assessments. To find high-quality software subcontractors.  For a large organization where software process improvements have a big payoff. (India)  Send your own people to official CMM training.    To win government software contracts. of all sizes. (SA-CMM) For pure development shops.

terms. formats. especially when more than one are used • Are difficult to integrate into a combined improvement program • Are difficult to use in supplier selection 11 Systems Engr CMM IPD CMM People CMM Software Acq CMM Systems Security Engr CMM . but they • Have different structures. ways of measuring maturity • Cause confusion.Multiple Process Models Software CMM EIA 731 Success of the Software CMM® (SW-CMM) caused development of other CMMs.

The CMMI Product Line Approach SE SW IPPD Assess Industry SEI Government • Team of Teams • Modeling and Discipline Experts • Collaborative Process CMMISE/SW CMMISE/SW/ IPPD CMMISE/SW/ IPPD/A 12 ... Training CMMI Product Suite Acquisition ... .

830. 730. SPC quag14d: 5 June 1998 IEEE Stds.9 EQA Trillium DOD IPPD AF IPD Guide TickIT Q9000 ISO 10011 EIA 632* Also see www.828 829.1012.1063 MIL-STD-1679 DODSTDDOD-STD 2168 -2167A DOD-STD -7935A FAAiCMM CMMI SE-CMM IPDCMM* SECM (EIA/IS 731) SECAM Baldrige DO178B MIL-STD498 ISO/IEC 12207 BS 5750 EIA/IEEE J-STD-016 SSECMM MIL-STD -499B* IEEE 1220 EIA/IS 632 ISO 9000 Series IEEE 1074 IEEE/EIA 12207 ISO 15288* * Not yet released 13 .software.The Frameworks PSP People CMM SA-CMM SW-CMM SCE ISO 15504* (SPICE) SDCCR SDCE MIL-Q -9858 NATO Courtesy Sarah Sheard.1058.1016 1028.4.

The CMMI Product Team's initial mission was to combine three source models:    The Capability Maturity Model for Software (SWCMM) v2.0 draft C [SEI 1997b] The Systems Engineering Capability Model (SECM) [EIA 1998]5 The Integrated Product Development Capability Maturity Model (IPDCMM) v0.98 [SEI 1997a] .

costs.What is CMMI?  CMMI is:  a model that provides a set of best practices that address productivity. CMMI focuses on the total software intensive system problem and integrates multiple disciplines into one process-improvement framework that eliminates inconsistencies and reduces duplication  . Software Engineering or Systems Engineering). enduring framework that accommodates new initiatives.e. restricted to a single discipline (I. CMMI provides a consistent. and stakeholder satisfaction a model which provides a structured view of process improvement across an organization set process improvement goals and priorities provide guidance for quality processes provide a yardstick for appraising current practices  CMMI can help:     CMMI is NOT:  a set of "bolt-on processes" that last only as long as the wheel is squeaking.  performance.

1. consistent method for both internal assessments and external evaluations Reduces cost of a SW and SE appraisal   .Value of CMMI  Better incorporates engineering principles that are critical to software intensive systems – and "systems of systems" Integrated Appraisal Method (Ver.1) will provide a single.

The Concept of Software Organization Capability Maturity Model SW-CMM The fundamental concept of CMM .

Optimizing Focus on process improvement 4. Repeatable Disciplined Integrated Can repeat previously Process Engineering mastered tasks Process 1.The Five Levels of Software Process Maturity (SW-CMM) Continuously Improving Process Predictable Process 5. Managed Managing Process Change measured and Standard. Initial Project Unpredictable and Management poorly controlled 18 . Process Process Quality fairly well understood 2. 3. Defined controlled Consistent Product and Process characterized.

SEI juga telah membuat kuesioner-kuesioner untuk melakukan assessment pada tingkat mana suatu organisasi berada. 19 . SEI telah menyiapkan sekumpulan Key Process Area (KPA) sebagai acuan untuk naik ke tingkat berikutnya.Key Process Area – KPA   Untuk setiap tingkat maturity (kematangan) organisasi.

Levels/ Process Categories Management Organizational Technology Change Management Process Change Management Engineering 5 Optimizing Defect Prevention 4 Managed 3 Defined Quantitative Software Management Integrated Software Management Intergroup Coordination Requirements Management Software Project Planning Software Project Tracking and Oversight Software Subcontract Management Software Quality Assurance Software Configuration Management Ad Hoc Processes Organization Process Focus Organization Process Definition Training Program Software Quality Management Software Product Engineering Peer Reviews 2 Repeatable 1 Initial 20 .

The Challenge SW-CMM Size Characteristics Maturity Level Key Process Areas (KPA) Process change management Technology change management Defect prevention Software quality management Quantitative process management Peer reviews Intergroup coordination Software product engineering Integrated software management Training program Organization process definition Organization process focus Software configuration management Software quality assurance Software subcontract management Software project tracking and oversight Software project planning Requirements management No. of Goals per KPA 3 3 3 3 3 2 3 2 2 3 2 3 4 4 4 3 3 2 TOTALS Subtotal No.KPA . of Key Practices per KPA 19 19 18 13 18 9 17 20 19 16 11 16 21 17 22 24 25 12 TOTALS Subtotal 5 4 3 9 Subtotal 56 Subtotal 6 31 Subtotal Subtotal 17 108 2 Subtotal Subtotal 20 121 52 316 21 .

The CMM Structure Maturity Levels 2 PP PT SM QA CM 3 4 5 Key Process Areas Goals RM Common Features Key Practices Activities Performed Commitment to Perform Ability to Perform Measurement and Analysis Verifying Implementation 22 .

processes.Common Features: Factors in Implementation and Institutionalization    Activities Performed: Implementation Are effective activities performed to satisfy the goals? Commitment to Perform: Institutionalization Are the activities supported by the organization through documented policies. or procedures? Ability to Perform: Institutionalization Are the activities supported by adequate training and resources? 23 .

..Common Features: Factors in Implementation and Institutionalization.   Measurement and Analysis: Institutionalization Are measurements used to determine the status of activities. and can those measurements be used to analyze the process for improvement? Verifying Implementation: Institutionalization Are there processes or mechanisms for verifying that the activities are being performed? 24 .

Project Performance Expectations (1) Level 5 Level 4 Level 3 Level 2 Performance •Cost •Schedule •Quality Expected Trend Level 1 Successive Projects 25 .

000 baris dengan menggunakan data dari 1300 proyek. Usenet-posting on comp.0 97 37 5 1 $392.440.5 143.5 15.000 $1.0 42.000 (S.0 79.000 $ March 1.311.000 Level 4 Level 5 12.5 9.2 593.000 $728.5 1.8 16. 1993) 26 .8 18.348 328 182 61 12 7 $5.Project Performance Expectations (2)  Rifkin melakukan model prediksi untuk program 200. CMM Level Duration (Calendar Months) Effort (Person Months) Faults Detected during Development Faults Delivered to Client and Installed Total Cost of Development Level 1 Level 2 Level 3 29.Rifkin.

no sound software engineering practices: without formal procedure. cost estimates. project plan & schedules Enough of this design stuff!! We're behind schedule!! Let's start coding 27 .CMM: Initial Level (1)  Characterized as:  Ad hoc process.

and disciplined process for developing software.CMM: Initial Level (2)  Characterized as:     Tools. Usually time and cost overruns No sound engineering process: ditandai dengan lack of a managed. are not planned and well integrated. Change control is nonexistent. defined. 28 . if they exist. planned.

estimasi budget dan waktu pengembangan  Mudah dikenali.  Krisis sering tejadi akibat tidak ada jadwal dan prioritas serta membuat segala sesuatu sebagai kejutan. 29 . Disebut sebagai kejutan karena tidak ada planning.CMM .Initial Level (3)   Tidak ada perencanaan. jadi pencapaian maupun krisis tidak bisa diprediksi. cost dan deadline). Analogi: pergi ke luar kota dengan mobil (speed vs progress). karena pada umumnya tidak memenuhi komitmen (kwalitas. Tanpa tujuan yang jelas serta kapan harus sampai.

Planning to produce Activity Results input to Evaluation to improve 30 .Level 1: Just do it. and think after you act. just to make sure you did it right. Activity to produce Results Level 2: Think before you act.

Level 3 – Defined  Key areas. etc.) Inter-group coordination Peer reviews   Estimating curve Process diagram 31 . Level 2. plus…        Organization-wide process focus Organization-wide process definition Training program in above Integrated software management (above applied per project) Software product engineering (coding.

32 .Level 3 input to Planning to produce Standards input to Activity Results input to Evaluation to improve Use your lessons learned.

Level 4 – Managed  Key areas. plus…   Quantitative process management (data gathering) Quality management (data-driven quality improvement)   Estimating curve Process diagram 33 . Level 3.

Level 4 input to Planning to forecast to produce Standards input to Activity Results input to Evaluation to improve Predict the results you need and expect and then create opportunities to get those results 34 .

Level 5 – Optimizing  Key areas. plus…    Defect prevention Technology change management (bring in new methods) Process change management (improve processes)   Estimating curve Process diagram 35 . Level 4.

Level 5 input to Planning to forecast to produce Standards input to Activity Results input to Evaluation to improve to improve Create lessons learned.. and use lessons learned to create more lessons learned.. and use more lessons learned to create even more lessons learned. and use even more lessons learned to create. etc. 36 .

Software Quality Assurance is the biggest obstacle for organizations trying to move from level 1 to level 2.5 months to move from level 3 to 4 37 . it takes an organization:  25 months to move from level 1 to 2  22 months to move from level 2 to 3  36.Interesting CMM Facts     The number of companies using CMM to assess their software management practices more than doubles every five years (since 1987). Organization Process Definition is one of the biggest obstacles for organization trying to move from level 2 to level 3. On average.

or 5. 21% are at CMM levels 3. About a third of companies engaged in CMM are located overseas (primarily India). 4 or 5. About 80% of companies engaged in CMM have IT departments with less than over 300 employees.More interesting facts…     Only 1. Of these large companies. Only about 23% of organizations surveyed eventually move from level 2 to level 3 or higher. 4.2% of companies engaged in CMM have IT departments with over 2000 employees. and are 3 times more likely to reach CMM level 4 or 5 than US organizations. 40% are at CMM levels 3. Oh these smaller companies. 38 .

Quantifiable Benefits    Cost of development goes down Better level of control on project changes Project metrics at enterprise level controls impact of change   Process consistency across all agencies allows benchmarking and best practices to be shared at the enterprise level Reduced time to market has a positive impact on business and IT 39 .

Quantifiable Benefits (cont.)    Better resource allocation Mitigates single point of failure Increases percentage of projects on-time and on-budget    Better project forecasts based on historical project data Systems Development Lifecycle (SDLC) will lend itself to Level 3 compliance (Defined) A better product 40 .

p.600 x 450 = $720K rework 700 600 500 400 300 200 100 0 Level 3 $360K rework Level 4 $180K rework 1 2 3 4 5 *MAELOC = million assembly-equivalent lines of code Software CMM Level Level 5 $90K rework • A defect is a bug or error that escapes the phase in which it was introduced • SLOC = software lines of code M. "How Software Process Improvement Helped Motorola." IEEE Software.Quality vs. 76. Sligo. CMM Level 1000 900 800 In-Process Defects/MAELOC Defect rate halved per maturity level Consider 500K SLOC Level 2 450 defects.September/October 1997. rework equals 16 hrs/defect estimated at $100/hr $1. Diaz and J. 41 .

and Productivity Software Estimates 20% 0% -145% Level 1 & 2 (Without historical data) Level 3 (With historical data) • Accuracy of project estimates improved 87% • Software quality improved 130% • Cycle time reduced 36% • Productivity improved 62% • Employee satisfaction increased 22% Staffing Requirements 15 10 5 0 Post Release Defects Level 1 Level 2 Level 3 100 75 50 25 0 -12% -26% Productivity -38% -62% Level 1 Level 2 Level 3 42 Based on data from 120 projects in Boeing Information Systems. when an organization maturity increased from SW-CMM Level 1 to 3 Source: SEPG 2000 Keynote Briefing by Scott Griffen . Quality.Improvements in Cost.