You are on page 1of 4

Capability Maturity Model (CMM)

 Capability Maturity Model (CMM) is an industry standard model. This model


is used to develop and refine processes of an organization.
 This model is organized into the five levels of maturity.
 Each level ranks the organization as per standardization of process assessed
in the subject area.
 The subject area can be software engineering, system engineering, project
management, risk management, system acquisition, information technology
services etc.
 A maturity model is a structured collection of element and explains the
characteristics of effective processes.
 It is used as benchmark for accessing various organizations for equivalent
comparison.

Following are the five levels of maturity:

i) Initial
ii) Repeatable
iii) Defined
iv) Managed
v) Optimizing

i) Initial
 The software processes at this level are ad hoc and do not give a stable
environment.
 The success of project depends on the capability and braveness of the
people in the organization.
 There are no actual applications required to adopt planning, monitoring or
controlling the process.
 It is not possible to estimate the time and cost to develop the software.

ii) Repeatable

 The software development processes are repeatable. They are not repeated
for all the projects in the organization.
 An organization may use basic and constant project management processes
to track cost, schedule and functionality.
 The minimum process discipline is used to repeat earlier success of project
with same applications.

iii) Defined

 In defined level of maturity model, common engineering and management


activities are standardized and documented.
 These standards are adapted and accepted for use on various projects.
 Test documents and plans are reviewed and accepted before testing starts.
 The groups of testers are independent from the developers.
 The test outputs are used to determine when the software is ready.

iv) Managed

 In managed level of maturity, detailed measure of the software process and


product quality is gathered.
 The software process and product are quantitatively understood and
controlled.
v) Optimizing

 This level show continuous improvement from previous levels and hence it is
called as Optimizing.
 The processes and new technologies are attempted, the outputs are
measured and the evolutionary and incremental changes are achieved for
better quality levels.

ISO 9000 standard


 ISO 9000 is a family of standard for quality management and quality
assurance.
 This standard is maintained by ISO i.e International Standards Organization.
 A family of standard defines the basic set of practices which helps a
company consistently deliver the product, meeting customer's quality
requirements.
 ISO 9000 deals with the ISO 9001 and ISO 9000-3.

Requirements of ISO 9001:

 ISO 9001 covers all the key processes in business i.e design, develop,
create, install, service and product.
 Processes are observed to verify that they are effective.
 The records which are satisfactory are kept for further use.
 The results are checked for defects. Proper and corrective action is taken, as
necessary.
 Separate process are reviewed regularly and quality process for the
effectiveness. It makes continual improvement easier.

The Artifact Sets

To make the development of a complete software system manageable,


distinct collections of information are organized into artifact sets. Each set
comprises related artifacts that are persistent and in a uniform
representation format (such as English text, C++, Visual Basic, Java, a
standard document template, a standard spreadsheet template, or a UML
model). While a set represents a complete aspect of the system, an
artifact represents cohesive information that typically is developed and
reviewed as a single entity.
The artifact sets are shown in Figure 6-1; their purposes and notations
are described next.

Implementation
Requirements Set Design Set Deployment Set
Set

1. Vision 1. Design 1. Integrated


1. Source code
document model(s) product

2. Requirements 2. Test model baselines executable

3. Software 2. Associated baselines


model(s)
architecture compile-time 2. Associated

Software Economics

Most software cost models can be abstracted into a function of five basic
parameters: size, process, personnel, environment, and required quality.

1. The size of the end product (in human-generated components), which is


typically quantified in terms of the number of source instructions or the number
of function points required to develop the required functionality

2. The process used to produce the end product, in particular the ability of the
process to avoid non-value-adding activities (rework, bureaucratic delays,
communications overhead)

The capabilities of software engineering personnel, and particularly their


experience with the computer science issues and the applications domain issues
of the project

The environment, which is made up of the tools and techniques available to


support efficient software development and to automate the process

The required quality of the product, including its features, performance,


reliability, and adaptability

The relationships among these parameters and the estimated cost can be written
as follows:

Effort = (Personnel) (Environment) (Quality)(SizeProcess)

You might also like