1
The Concept of Software Organization Capability Maturity Model (SW-CMM / CMMI-Dev)
Magister Teknologi Informasi
Fakultas Ilmu Komputer
Universitas Indonesia
Semester Genap 2012/2013
2
Take a look to a Softball Gamea 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.
3
Take a look to a Softball Game
What happens when the team loses a starplayer?
Little League team gets much worse.
Professional team often has someone waiting to fill in.
Self-improvement after a bad play…
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."
4
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, of course a high-quality SW
organizations are different from low-quality orgs.
CMM tries to capture and describe these
differences.
CMM strives to create software development
organizations that are "mature", or more mature
than before applying CMM.
Describes five levels of SW process maturity.
6
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, because the cause
of our problems is how we manage the software
process.
CMM assists an organizations in providing
the infrastructure for a disciplined and
mature software process.
7
The Five Levels of Software Process
Maturity (SW-CMM)
4. Managed
Continuously
Improving
ProcessFocus on process
improvement
5.Optimizing
Unpredictable and
poorly controlled
Project
Management
2. Repeatable
1. Initial
Disciplined
Process Can repeat previously
mastered tasks
Integrated
Engineering
Process
3. DefinedStandard,
Consistent
Process Process characterized,
fairly well understood
Product and
Process Quality
Predictable
ProcessProcess
measured and
controlled
Managing
Change
8
CMM levels related to Productivity, Quality & Risk
Initial (1)
Repeatable (2)
Defined (3)
Managed (4)
Optimizing (5)
Basic Mgt Control:
Disciplined
Process
Process Definition:
Standard, consistent
process
Process Measurement:
Predictable Process
Process Control:
Continuosly improving
process
Productivity
& Quality
RiskAd hoc process
9
Management Visibility Process Capability
OutIn1
2
3
4
5
Probability
Time/$/...
Target
N
N+a
N-x
N-y
N-z
Levels
10
How to use CMM Hire an officially certified CMM Assessor to conduct
a formal evaluation. To win government software contracts.
To find high-quality software subcontractors. (SA-CMM)
For pure development shops, to impress clients with your quality. (India)
Send your own people to official CMM training, then conduct internal assessments. For a large organization where software process
improvements have a big payoff.
Use CMM as a set of suggestions and apply as you see fit. Every other software development organization, of all
sizes.
11
Multiple Process Models
SoftwareCMM
SystemsSecurity
Engr CMM
SystemsEngrCMM
PeopleCMM
IPDCMM
SoftwareAcqCMM
EIA 731Success of the Software CMM®
(SW-CMM) caused development of other CMMs, but they
• Have different structures, formats, terms, ways of measuring maturity
• Cause confusion, especially when more than one are used
• Are difficult to integrate into a combined improvement program
• Are difficult to use in supplier selection
12
The CMMI Product Line Approach
Industry
SEI
Government
• Team of Teams
• Modeling and Discipline Experts
• Collaborative Process
SWSE
IPPD
Assess
Training
...
Acquisition
CMMI
Product Suite
CMMI-
SE/SW
CMMI-
SE/SW/
IPPD
...CMMI-
SE/SW/
IPPD/A
13
SW-CMM
Also see www.software.org/quagmire
MIL-Q -9858
Trillium Baldrige
IEEE Stds. 730,828829, 830,1012,1016
1028,1058,1063ISO 15504*(SPICE)
People CMM
IPD-CMM*
DODIPPD
SECAMAF IPD Guide
SDCCR
SCE
NATO AQAP1,4,9
BS5750
MIL-STD-498
DOD-STD-2167A
DOD-STD -7935A
MIL-STD-499B*
ISO/IEC12207
IEEE1220
ISO 10011
SDCE
SE-CMMSECM(EIA/IS 731)
EIA/IS632
ISO 9000Series
EIA/IEEEJ-STD-016
IEEE/EIA12207
EIA 632*
MIL-STD-1679
IEEE 1074
TickITSSE-CMM
ISO 15288*
EQA
* Not yet released
CMMI
PSP
SA-CMM
Q9000
DOD-STD-2168
quag14d: 5 June 1998
FAA-iCMM
DO-178B
SW-CMM
Courtesy Sarah Sheard, SPC
The Frameworks
The CMMI Product Team's initial mission was to combine three source models:
The Capability Maturity Model for Software (SW-CMM) v2.0 draft C [SEI 1997b]
The Systems Engineering Capability Model (SECM) [EIA 1998]5
The Integrated Product Development Capability Maturity Model (IPD-CMM) v0.98 [SEI 1997a]
What is CMMI? CMMI is:
a model that provides a set of best practices that address productivity, performance, costs, and stakeholder satisfaction
a model which provides a structured view of process improvement across an organization
CMMI can help:
set process improvement goals and priorities
provide guidance for quality processes
provide a yardstick for appraising current practices
CMMI is NOT:
a set of "bolt-on processes" that last only as long as the wheel is squeaking. CMMI provides a consistent, enduring framework that accommodates new initiatives.
restricted to a single discipline (I.e. Software Engineering or Systems Engineering). CMMI focuses on the total software intensive system problem and integrates multiple disciplines into one process-improvement framework that eliminates inconsistencies and reduces duplication
Value of CMMI
Better incorporates engineering principles that are critical to software intensive systems – and "systems of systems"
Integrated Appraisal Method (Ver. 1.1) will provide a single, consistent method for both internal assessments and external evaluations
Reduces cost of a SW and SE appraisal
The Concept of Software Organization Capability Maturity Model SW-CMM
The fundamental concept of CMM
18
The Five Levels of Software Process
Maturity (SW-CMM)
4. Managed
Continuously
Improving
ProcessFocus on process
improvement
5.Optimizing
Unpredictable and
poorly controlled
Project
Management
2. Repeatable
1. Initial
Disciplined
Process Can repeat previously
mastered tasks
Integrated
Engineering
Process
3. DefinedStandard,
Consistent
Process Process characterized,
fairly well understood
Product and
Process Quality
Predictable
ProcessProcess
measured and
controlled
Managing
Change
19
Key Process Area – KPA
Untuk setiap tingkat maturity (kematangan)
organisasi, SEI telah menyiapkan
sekumpulan Key Process Area (KPA)
sebagai acuan untuk naik ke tingkat
berikutnya.
SEI juga telah membuat kuesioner-kuesioner
untuk melakukan assessment pada tingkat
mana suatu organisasi berada.
20
Process
CategoriesManagement Organizational Engineering
Levels/
1 Initial
2 Repeatable
3 Defined
4 Managed
5 Optimizing
Ad Hoc Processes
Integrated Software Management
Intergroup Coordination
Requirements Management
Software Project Planning
Software Project Tracking and Oversight
Software Subcontract Management
Software Quality Assurance
Software Configuration Management
Organization Process Focus
Organization Process Definition
Training Program
Software Product Engineering
Peer Reviews
Software Quality Management
Quantitative Software Management
Technology Change Management
Process Change Management
Defect Prevention
21
Maturity
LevelKey Process Areas (KPA)
No. of Goals
per KPA
No. of Key
Practices per KPA
5
4
3
2
Process change managementTechnology change managementDefect prevention
Software quality management
Quantitative process management
Peer reviews
Intergroup coordinationSoftware product engineeringIntegrated software management
Training programOrganization process definition
Organization process focus
Software configuration managementSoftware quality assuranceSoftware subcontract managementSoftware project tracking and oversightSoftware project planningRequirements management
TOTALS TOTALS
Subtotal
Subtotal
Subtotal
Subtotal
Subtotal
Subtotal
Subtotal
Subtotal
333 9
3
36
2
3223
23 17
444
332 20
52
19
1918
13
18
9
17201916
1116
21172224
2512
56
31
108
121
316
KPA - The Challenge SW-CMM Size Characteristics
22
Maturity Levels
Key
Process
Areas
Goals
Common
Features
Key
Practices
23 4 5
The CMM Structure
RM PP PT SM CMQA
Commitment
to Perform
Ability to
Perform
Activities
Performed
Measurement
and Analysis
Verifying
Implementation
23
Common Features: Factors in Implementation and
Institutionalization
Activities Performed: ImplementationAre effective activities performed to satisfy the goals?
Commitment to Perform: InstitutionalizationAre the activities supported by the organization through documented policies, processes, or procedures?
Ability to Perform: InstitutionalizationAre the activities supported by adequate training and resources?
24
Common Features: Factors in Implementation and
Institutionalization...
Measurement and Analysis: InstitutionalizationAre measurements used to determine the status of activities, and can those measurements be used to analyze the process for improvement?
Verifying Implementation: InstitutionalizationAre there processes or mechanisms for verifying that the activities are being performed?
25
Project Performance Expectations (1)
Expected Trend
Successive Projects
Performance
•Cost
•Schedule
•QualityLevel 1
Level 2
Level 3
Level 4
Level 5
26
Project Performance Expectations (2)
Rifkin melakukan model prediksi untuk program 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)
27
CMM: Initial Level (1)
Characterized as:
Ad hoc process, 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
28
CMM: Initial Level (2)
Characterized as: Tools, if they exist, are not planned and well
integrated.
Change control is nonexistent.
Usually time and cost overruns
No sound engineering process: ditandai dengan
lack of a managed, defined, planned, and
disciplined process for developing software.
29
CMM - Initial Level (3)
Tidak ada perencanaan, estimasi budget dan waktu pengembangan
Mudah dikenali, karena pada umumnya tidak memenuhi komitmen (kwalitas, cost dan deadline).
Krisis sering tejadi akibat tidak ada jadwal dan prioritas serta membuat segala sesuatu sebagai kejutan. Disebut sebagai kejutan karena tidak ada planning, jadi pencapaian maupun krisis tidak bisa diprediksi.
Analogi: pergi ke luar kota dengan mobil (speed vs progress). Tanpa tujuan yang jelas serta kapan harus sampai.
30
Activity Resultsto produce
Level 1:
Just do it.
Activity Resultsto produce
Level 2:
Think before
you act,
and think after
you act, just to
make sure you
did it right.
Planning
Evaluation
input to
to improve
31
Level 3 – Defined
Key areas. 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, etc.)
Inter-group coordination
Peer reviews
Estimating curve
Process diagram
32
Standards Activity Resultsto produce
Level 3
Planning
Evaluation
input to
to improve
input to
input to
Use your lessons learned.
33
Level 4 – Managed
Key areas. Level 3, plus…
Quantitative process management (data
gathering)
Quality management (data-driven quality
improvement)
Estimating curve
Process diagram
34
Standards Activity Resultsto produce
Level 4
Planning
Evaluation
input to
to improve
input to
input to to forecast
Predict the results you need and expect and then
create opportunities to get those results
35
Level 5 – Optimizing
Key areas. Level 4, plus…
Defect prevention
Technology change management (bring in new
methods)
Process change management (improve
processes)
Estimating curve
Process diagram
36
Standards Activity Resultsto produce
Level 5
Planning
Evaluation
input to
to improve
input to
input to to forecast
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.
37
Interesting CMM Facts
The number of companies using CMM to assess their
software management practices more than doubles every
five years (since 1987).
Software Quality Assurance is the biggest obstacle for
organizations trying to move from level 1 to level 2.
Organization Process Definition is one of the biggest
obstacles for organization trying to move from level 2 to level
3.
On average, it takes an organization:
25 months to move from level 1 to 2
22 months to move from level 2 to 3
36.5 months to move from level 3 to 4
38
More interesting facts…
Only 1.2% of companies engaged in CMM have IT
departments with over 2000 employees. Of these large
companies, 40% are at CMM levels 3, 4 or 5.
About 80% of companies engaged in CMM have IT
departments with less than over 300 employees. Oh these
smaller companies, 21% are at CMM levels 3, 4, or 5.
About a third of companies engaged in CMM are located
overseas (primarily India), and are 3 times more likely to
reach CMM level 4 or 5 than US organizations.
Only about 23% of organizations surveyed eventually move
from level 2 to level 3 or higher.
39
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
40
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
41M. Diaz and J. Sligo, "How Software Process Improvement Helped Motorola," IEEE Software,September/October 1997, p. 76.
0
100
200
300
400
500
600
700
800
900
1000
1 2 3 4 5
Software CMM Level
In-P
roc
es
s D
efe
cts
/MA
EL
OC
*MAELOC = million assembly-equivalent lines of code
Defect rate
halved per
maturity level
• A defect is a bug or error that escapesthe phase in which it was introduced
• SLOC = software lines of code
Consider 500K SLOC
Level 2 450 defects, rework equals 16 hrs/defect
estimated at $100/hr
$1,600 x 450 = $720K rework
Level 3 $360K rework
Level 4 $180K rework
Level 5 $90K rework
Quality vs. CMM
Level
42
Level 1 & 2(Without historical data)
Level 3(With historical data)
-145%
0%
20%
Software Estimates
0
5
10
15
Level 1 Level 2 Level 3
Post Release Defects
0
25
50
75
100
Level 1 Level 2 Level 3
Staffing Requirements
-12%-26%
-38%
-62%
Productivity
Based on data from 120 projects in Boeing Information Systems, when an organization maturity increasedfrom SW-CMM Level 1 to 3 Source: SEPG 2000 Keynote Briefing by Scott Griffen
• Accuracy of project estimates improved 87%
• Software quality improved 130%• Cycle time reduced 36%• Productivity improved 62%• Employee satisfaction
increased 22%
Improvements in
Cost, Quality, and
Productivity