You are on page 1of 19

What is CMM (SEI Capability Maturity Model)?

According to the Carnegie Mellon University Software Engineering Institute, CMM is a common-
sense application of software or business process management and quality improvement concepts
to software development and maintenance. Its a community-developed guide for evolving towards a
culture of engineering excellence, model for organizational improvement. The underlying structure
for reliable and consistent software process assessments and software capability evaluations.
The Capability Maturity Model for Software (CMM) is a framework that describes the key
elements of an effective software process. There are CMMs for non software processes as well, such
as Business Process Management (BPM). The CMM describes an evolutionary improvement path
from an ad hoc, immature process to a mature, disciplined process. The CMM covers practices for
planning, engineering, and managing software development and maintenance. When followed,
these key practices improve the ability of organizations to meet goals for cost, schedule,
functionality, and product quality. The CMM establishes a yardstick against which it is possible to
judge, in a repeatable way, the maturity of an organization's software process and compare it to the
state of the practice of the industry. The CMM can also be used by an organization to plan
improvements to its software process. It also reflects the needs of individuals performing software
process, improvement, software process assessments, or software capability evaluations; is
documented; and is publicly available.

The Five Maturity Levels described by the Capability Maturity Model can be characterized as per
their primary process changes made at each level as follows:

1) Initial The software process is characterized as ad hoc, and occasionally even chaotic. Few
processes are defined, and success depends on individual effort and heroics.
2) Repeatable Basic project management processes are established to track cost, schedule, and
functionality. The necessary process discipline is in place to repeat earlier successes on projects with
similar applications.
3) Defined The software process for both management and engineering activities is documented,
standardized, and integrated into a standard software process for the organization. All projects use
an approved, tailored version of the organization's standard software process for developing and
maintaining software.
4) Managed Detailed measures of the software process and product quality are collected. Both the
software process and products are quantitatively understood and controlled.
5) Optimizing Continuous process improvement is enabled by quantitative feedback from the
process and from piloting innovative ideas and technologies.

The structure of the Capability Maturity model is as shown below:


At the Optimizing Level or the CMM level5, the entire organization is focused on continuous
Quantitative feedback from previous projects is used to improve the project management, usually
using pilot projects, using the skills shown in level 4. The focus is on continuous process
improvement.
Software project teams in SEI CMM Level 5 organizations analyze defects to determine their causes.
Software processes are evaluated to prevent known types of defects from recurring, and lessons
learned are disseminated to other projects. The software process capability of Level 5 organizations
can be characterized as continuously improving because Level 5 organizations are continuously
striving to improve the range of their process capability, thereby improving the process performance
of their projects. Improvement occurs both by incremental advancements in the existing process
and by innovations using new technologies and methods.

Previously known as Key Process Area (KPA)


A process area (PA) contains the goals that must be reached in order to improve a software process.
A PA is said to be satisfied when procedures are in place to reach the corresponding goals. A
software organization has achieved a specific maturity level once all the corresponding PAs are
satisfied. The process areas (PA's) have the following features:
1) Identify a cluster of related activities that, when performed collectively, achieve a set of goals
considered important for enhancing process capability.
2) Defined to reside at a single maturity level.
3) Identify the issues that must be addressed to achieve a maturity level.

The different maturity levels have different process areas pre-defined as shown in the figure above.
The SEI CMMI Level 5 has 3 PA's defined:

• Process change management: To identify the causes of defects and prevent them from recurring.
• Technology change management: To identify beneficial new technology and transfer them in an
orderly manner
• Defect prevention: To continually improve the process to improve quality, increase productivity,
and decrease development time.

The purpose of Process Change Management is to continually improve the software processes used
in the organization with the intent of improving software quality, increasing productivity, and
decreasing the cycle time for product development. When software process improvements are
approved for normal practice, the organization's standard software process and the projects' defined
software processes are revised as suited.

The goals sought to achieve are as follows:


• Continuous process improvement is planned.
• Participation in the organization's software process improvement activities is organization wide.
• The organization's standard software process and the projects defined software processes are
improved continuously.

These defined standards give the organization a commitment to perform because:

• The organization follows a written policy for implementing software process improvements.
• Senior management sponsors the organization's activities for software process improvement.

The ability of the organization to perform transpires because:

• Adequate resources and funding are provided for software process improvement activities.
• Software managers receive required training in software process improvement.
• The managers and technical staff of the software engineering group and other software-related
groups receive required training in software process improvement.
• Senior management receives required training in software process improvement.

The Process Area Activities performed include:


* A software process improvement program is established which empowers the members of the
organization to improve the processes of the organization.
* The group responsible for the organization's software process activities coordinates the software
process improvement activities.
* The organization develops and maintains a plan for software process improvement according to a
documented procedure.
* The software process improvement activities are performed in accordance with the software
process improvement plan.
* Software process improvement proposals are handled according to a documented procedure.
* Members of the organization actively participate in teams to develop software process
improvements for assigned process areas.
* Where appropriate, the software process improvements are installed on a pilot basis to determine
their benefits and effectiveness before they are introduced into normal practice.
* When the decision is made to transfer a software process improvement into normal practice, the
improvement is implemented according to a documented procedure.
* Records of software process improvement activities are maintained.
* Software managers and technical staff receive feedback on the status and results of the software
process improvement activities on an event-driven basis.
The primary purpose of periodic reviews by senior management is to provide awareness of, and
insight into, software process activities at an appropriate level of abstraction and in a timely
manner. The time between reviews should meet the needs of the organization and may be lengthy,
as long as adequate mechanisms for exception reporting are available.
The Capability Maturity Model has been criticized in that, that it does not describe how to create an
effective software development organization. The traits it measures are in practice very hard to
develop in an organization, even though they are very easy to recognize. However, it cannot be
denied that the Capability Maturity Model reliably assesses an organization's sophistication about
software development.
The CMM was invented to give military officers a quick way to assess and describe contractors'
abilities to provide correct software on time. It has been a roaring success in this role. So much so
that it caused panic-stricken salespeople to clamor for their engineering organizations to "implement
CMM" with CMM level 5 being the ultimate.
Six Sigma Definition - What Is Six Sigma ?
Six Sigma stands for Six Standard Deviations (Sigma is the Greek letter used to represent
standard deviation in statistics) from mean. Six Sigma methodology provides the techniques and
tools to improve the capability and reduce the defects in any process.
It was started in Motorola, in its manufacturing division, where millions of parts are made using the
same process repeatedly. Eventually Six Sigma evolved and applied to other non manufacturing
processes. Today you can apply Six Sigma to many fields such as Services, Medical and Insurance
Procedures, Call Centers.
Six Sigma methodology improves any existing business process by constantly reviewing and re-
tuning the process. To achieve this, Six Sigma uses a methodology known as DMAIC (Define
opportunities, Measure performance, Analyze opportunity, Improve performance, Control
performance).
Six Sigma methodology can also be used to create a brand new business process from ground up
using DFSS (Design For Six Sigma) principles. Six Sigma Strives for perfection. It allows for only
3.4 defects per million opportunities for each product or service transaction. Six Sigma relies
heavily on statistical techniques to reduce defects and measure quality.
Six Sigma experts (Green Belts and Black Belts) evaluate a business process and determine ways to
improve upon the existing process. Six Sigma experts can also design a brand new business process
using DFSS (Design For Six Sigma) principles. Typically its easier to define a new process with DFSS
principles than refining an existing process to reduce the defects.
Sponsored Link: Check out our Manufacturing Software Directory
Six Sigma incorporates the basic principles and techniques used in Business, Statistics, and
Engineering. These three form the core elements of Six Sigma. Six Sigma improves the process
performance, decreases variation and maintains consistent quality of the process output. This
leads to defect reduction and improvement in profits, product quality and customer satisfaction.
Six Sigma methodology is also used in many Business Process Management initiatives these days.
These Business Process Management initiatives are not necessarily related to manufacturing. Many
of the BPM's that use Six Sigma in today's world include call centers, customer support, supply
chain management and project management.
Customer requirements, design quality, metrics and measures, employee involvement and
continuous improvement are main elements of Six Sigma Process Improvement.

The three key elements of Six Sigma are:

Customer Satisfaction

Defining Processes and defining Metrics and Measures for Processes


• Using and understanding Data and Systems

• Setting Goals for Improvement

Team Building and Involving Employees


Involving all employees is very important to Six Sigma. The company must involve all employees.
Company must provide opportunities and incentives for employees to focus their talents and ability
to satisfy customers.
Defining Roles: This is important to six sigma. All team members should have a well defined role
with measurable objectives.

Even though Six Sigma was initially implemented at Motorola to improve the manufacturing
process, all types of businesses can profit from implementing Six Sigma.
Businesses in various industry segments such as Services industry (Example: Call Centers,
Insurance, Financial/Investment Services), Ecommerce industry (Example: B2B/B2C websites),
Education can definitely use Six Sigma principles to achieve higher quality. Many big businesses
such as GE and Motorola have successfully implemented Six Sigma but the adaptation by smaller
businesses has been very slow.
GE is a pioneer in using Six Sigma. This article on Six Sigma GE Experiences explains how various
GE divisions adopted and benefited from Six Sigma.
Here are some of the reasons to consider:

• Bigger companies have resources internally who are trained in Six Sigma and also have 'Train the
Trainer' programs using which they churn out many more Six Segma instructors. Also many
bigger companies encourage the employees to learn Six Sigma process by providing Green
Belts/Black Belts as mentors.
• Effectively applying the Six Sigma techniques is difficult compared to actually learning the
techniques in a class.
• Big companies make Six Sigma as part of the Goals for employees and provide incentives for
employees who undergo training and mentor colleagues.
• Many assume that that Six Sigma works for bigger companies only as they produce in volumes
and have thousands of employees. This notion is not true and Six Sigma can be effectively
applied for small businesses and even companies with fewer than 10 employees.

• A Six Sigma Engineer develops efficient and cost effective processes to improve the quality and
reduce the number of defects per million parts in a Manufacturing/Production environment.
• Six Sigma Engineers determine and fine tune manufacturing process. Once a process is
improved, they go back and re-tune the process and reduce the defects. This cycle is continued
till they reach 3.4 or less defects per million parts.
• Six Sigma is all about knowledge sharing. If a company has more than one manufacturing
unit/plant, its more than likely that one of the plants produces better quality than others. The Six
Sigma team should visit this higher quality plant and learn why its performing better than others
and implement the techniques learned across all other units.
• Research/Design department within a company can use the above techniques to learn from
another R&D departments in the same company or affiliate companies and implement those
techniques.
• Motorola developed a five phase approach to the Six Sigma process called DMAIC.

DMAIC

• Define opportunities
• Measure performance
• Analyze opportunity
• Improve performance
• Control performance

Six Sigma uses a variety of statistics to determine the best practices for any given process.
Statisticians and Six Sigma consultants study the existing processes and determine the methods
that produce the best overall results.

Combinations of these methods will be tested and upon determining that a given combination can
improve the process, it will be implemented.
Six Sigma stands for "Six Standard deviations from the arithmetic mean".

Six Sigma statistically ensures that 99.9997% of all products produced in a process are of
acceptable quality.
Six Sigma allows only 3.4 defects per million opportunities.

If a given process fails to meet this criteria, it is re-analyzed, altered and tested to find out if there
are any improvements.
If no improvement is found, the process is re-analyzed, altered and tested again.

This cycle is repeated until you see an improvement.


Once an improvement is found, its documented and the knowledge is spread across other units in
the company so they can implement this new process and reduce their defects per million
opportunities.

Confidence intervals are very important to Six Sigma methodology.


To understand Confidence Intervals better, consider this scenario:
Acme Nelson, a leading market research firm conducts a survey among voters in USA asking them
whom would they vote if elections were to be held today. The answer was a big surprise! In addition
to Democrats and Republicans, there is this surprise independent candidate, John Doe who is
expected to secure 22% of the vote.
We asked Acme, how sure are you? In other words how accurate is this prediction?
Their answer: "Well, we are 95% confident that John Doe will get 22% (plus or minus 2%) vote"
In the statistical world, they are saying that John Doe will get a vote between 20% to 24% (also
known as Confidence Range) with a probability of 95% (Confidence Level).

Definition of Confidence Interval


According to University of Glasgow Department of Statistics, Confidence Interval is defined as:
A confidence interval gives an estimated range of values which is likely to include an unknown
population parameter, the estimated range being calculated from a given set of sample data. If
independent samples are taken repeatedly from the same population, and a confidence interval
calculated for each sample, then a certain percentage (confidence level) of the intervals will include
the unknown population parameter. Confidence intervals are usually calculated so that this
percentage is 95%, but we can produce 90%, 99%, 99.9% (or whatever) confidence intervals for
the unknown parameter.
In our Acme Nelson survey example

• The confidence interval is the range 20 to 24


• The confidence level is 95%
• The confidence limits are 20 (lower limit) and 24 (upper limit)
• The unknown population parameter is the 'percentage of the total vote' John Doe is expected to
Get

The width of the confidence interval, in our case 24-20=4 is a measure that is directly proportional
to the precision.

Consider this scenario..


What if Acme Nelson's survey predicted that John Doe will get 22% plus or minus 20% vote. In
other words Acme is saying John Doe will get between 2% and 42% of the vote.
How good is this number? Even a monkey can predict that. This is a very wide confidence range and
in order to reduce the Confidence Interval, Acme needs to collect more samples.

Confidence Limits
Confidence limits are the lower and upper boundaries of a confidence interval.
In our Acme example, the limits were 20 and 24.

Confidence Level
The confidence level is the probability value attached to a given confidence interval. It can be
expressed as a percentage (in our example it is 95%) or a number (0.95).

Confidence Interval for a Mean


A confidence interval for a mean is a range of values within which the mean (unknown population
parameter) may lie.
Examples of Confidence Interval for a Mean

• A Web master who wishes to estimate her mean daily hits on a certain webpage.
• An environmental health and safety officer who wants to estimate the mean monthly spills.

Confidence Interval for the Difference Between Two Means


A confidence interval for the difference between two means specifies a range of values within which
the difference between the means of the two populations may lie.
Examples of Confidence Interval for the Difference Between Two Means

• A Web master who wishes to estimate her difference in mean daily visitors between two websites.
• An environmental health and safety officer who wants to estimate the difference in mean monthly
spills between two production sites.

Confidence Intervals Summary


Confidence intervals are very crucial to Six Sigma. Confidence intervals provide crucial information
as they give us a range of possible values and attach a confidence level to the interval.

When we calculate a statistic for example, a mean, a variance, a proportion, or a correlation


coefficient, there is no reason to expect that such point estimate would be exactly equal to the true
population value, even with increasing sample sizes. There are always sampling inaccuracies, or
error.
In most Six Sigma projects, there are at least some descriptive statistics calculated from sample
data. In truth, it cannot be said that such data are the same as the population's true mean,
variance, or proportion value. There are many situations in which it is preferable instead to express
an interval in which we would expect to find the true population value.
This interval is called an interval estimate. A confidence interval is an interval, calculated from the
sample data that is very likely to cover the unknown mean, variance, or proportion.
For example, after a process improvement a sampling has shown that its yield has improved from
78% to 83%. But, what is the interval in which the population's yield lies? If the lower end of the
interval is 78% or less, you cannot say with any statistical certainty that there has been a significant
improvement to the process.
There is an error of estimation, or margin of error, or standard error, between the sample statistic
and the population value of that statistic. The confidence interval defines that margin of error.
The next page shows a decision tree for selecting which formula to use for each situation. For
example, if you are dealing with a sample mean and you do not know the population's true variance
(standard deviation squared) or the sample size is less than 30, than you use the t Distribution
confidence interval. Each of these applications will be shown in turn.
Decision Tree for selecting What Formula to use:

Six Sigma Z Confidence Intervals for Means


Z Confidence Interval for Means applies to a mean from a normal distribution of variable data. Use
the normal distribution for the confidence interval for a mean if the sample size n is relatively large
(≥ 30), and σ is known.
The confidence interval (C.I.) includes the shaded area under the curve in between the critical
values, excluding the tail areas (the α risk). The entire curve represents the most likely distribution
of population means, given the sample's size, mean, and the population's standard deviation.

Here we are making an assumption that the underlying data we are working with is distributed like
the bell curve shown.

The most common confidence interval used in industry is probably the 95% confidence interval. If
we were to use its formula on many sets of data from the population, then 95% of the intervals
would contain the unknown population mean that we are trying to estimate. And 5% of the intervals
would not contain the population mean. 2.5% of the time, the interval would be low, and 2.5% of
the time, the interval would be too high.
The probability is 95% that the interval contains the population parameter. The 95% value is the
confidence coefficient, or the degree of confidence. The end points of the interval are called the
confidence limits. In the graphic on the previous page, the endpoints are defined by

Example - Z Confidence Interval for Means

This interval represents the most likely distribution of population means, given the sample's size,
mean, and the population's standard deviation. 95% of the time, the population's mean will fall in
this interval.

Six Sigma t Confidence Interval for Means


Use the t distribution for the confidence interval for a mean if the sample size n is relatively small
(< 30), and/or σ is not known.
The confidence interval (C.I.) includes the shaded area under the curve in between the critical
values, excluding the tail areas (the α risk). The entire curve represents the most likely distribution
of population means, given the sample's size, mean, and standard deviation.

Six Sigma t Confidence Interval for a Variance


Use the χ2 (chi-squared) distribution for the confidence interval for the variance

The confidence interval (C.I.) includes the area under the curve in between the critical values,
excluding the tail areas (the α risk). The entire curve represents the most likely distribution of
population variances (sigma squared), given the sample's size and variation.
Six Sigma t Confidence Interval for a Variance Example

Calculate a 95% C.I. on variance for a sample (n = 35) with an S of 2.3"

This interval represents the most likely distribution of population variances, given the sample's size
and variance. 95% of the time, the population's variance will fall in this interval

This Z Confidence Interval for Proportions applies to an average proportion (which is from a
binomial distribution).
Example - Z Confidence Interval for Proportions

DPO, DPMO, PPM, DPU Definitions - Six Sigma Defect Metrics

What Is DPO? What Is DPMO?

A unit of product can be defective if it contains one or more defects. A unit of product can have
more than one opportunity to have a defect.

• Determine all the possible opportunities for problems


• Pare the list down by excluding rare events, grouping similar defect types, and avoiding the trivial
• Define opportunities consistently between different locations

Proportion Defective (p):


p = Number Of Defective Units / Total Number of Product Units

Yield ( Y1st-pass or Yfinal or RTY)


Y=1-p
The Yield proportion can converted to a sigma value using the Z tables

Defects Per Unit - DPU, or u in SPC


DPU = Number Of Defects / Total Number Of Product Units

The probability of getting 'r' defects in a sample having a given dpu rate can be predicted with the
Poisson Distribution

Defects Per Opportunity - DPO

DPO = no. of defects / (no. of units X no. of defect opportunities per unit)

Defects Per Million Opportunities (DPMO, or PPM)


DPMO = dpo x 1,000,000
Defects Per Million Opportunities or DPMO can be then converted to sigma & equivalent Cp values
(see sigma table)

Six Sigma Capability Improvement


Defect Based Six Sigma Metrics - Example
If there are 9 defects among 150 invoices, and there are 8 opportunities for errors for every invoice,
what is the dpmo?

dpu = no. of defects / total no. of product units = 9/150 = .06 dpu

dpo = no. of defects / (no. of units X no. of defect oppurtunities per unit)
= 9/(150 X 8) = .0075 dpo
dmpo = dpo x 1,000,000 = .0075 X 1,000,000 = 7,500 dpmo

What are the equivalent Sigma and CP values? See Sigma Table.

Converting Yield to sigma & Cp Metrics - Example


Given: a proportion defective of 1%

• Yield = 1 - p = .990
• Z Table value for .990 = 2.32σ
• Estimate process capability by adding 1.5 σ to reflect the 'real-world' shift in the process mean

2.32σ + 1.5σ = 3.82σ

• This σ value can be converted to an equivalent CP by dividing it by 3σ :

CP = 3.82σ/3σ = 1.27

Note: Cpk cannot be estimated by this method


Six Sigma Capability Improvement

Sigma Table
Yield dpmo Sigma (σ) Cp Equiv. COPQ (Cost of Poor Quality)
.840 160,000 2.50 0.83 40%
.870 130,000 2.63 0.88
.900 100,000 2.78 0.93
.930 70,000 2.97 0.99
.935 65,000 3.01 1.00
.940 60,000 3.05 1.02
.945 55,000 3.10 1.03 30%
.950 50,000 3.14 1.05
.955 45,000 3.20 1.06
.960 40,000 3.25 1.08
.965 35,000 3.31 1.10
.970 30,000 3.38 1.13
.975 25,000 3.46 1.15
.980 20,000 3.55 1.18 20%
.985 15,000 3.67 1.22
.990 10,000 3.82 1.27
.995 5,000 4.07 1.36
.998 2,000 4.37 1.46
.999 1,000 4.60 1.53 10%
.9995 500 4.79 1.60
.99975 250 4.98 1.66 5%
.9999 100 5.22 1.74
.99998 20 5.61 1.87
.9999966 3.4 6.00 2.00

This Six Sigma Tutorial is work in progress. We are working on a comprehensive 50 page tutorial.
Please visit us again.

You might also like