You are on page 1of 27

SOFTWARE PROCESS

IMPROVEMENT and CMMI

Dr.V.S.R.Krishnaiah
vsrk@nic.in

Outline

Essential attributes of good software


Definition of Software Process
SPI Framework
CMMI -Maturity Levels
CMMI- Key Process Areas (KPAs)
CMMI- Overall Benefits

Dr.V.S.R.Krishnaiah

Essential attributes of good


software
Product characteristic

Description

Maintainability

Software should be written in such a way so that it can evolve to meet the
changing needs of customers. This is a critical attribute because software
change is an inevitable requirement of a changing business environment.

Dependability and security

Software dependability includes a range of characteristics including


reliability, security and safety. Dependable software should not cause
physical or economic damage in the event of system failure. Malicious
users should not be able to access or damage the system.

Efficiency

Software should not make wasteful use of system resources such as


memory and processor cycles. Efficiency therefore includes
responsiveness, processing time, memory utilisation, etc.

Acceptability

Software must be acceptable to the type of users for which it is designed.


This means that it must be understandable, usable and compatible with
other systems that they use.
Dr.V.S.R.Krishnaiah

Software Engineering

A Layered Technology
tools
methods
process model
a quality focus

Any engineering approach must rest on organizational commitment to quality which fosters a
continuous process improvement culture.
Process layer as the foundation defines a framework with activities for effective delivery of
software engineering technology. Establish the context where products (model, data, report, and
forms) are produced, milestone are established, quality is ensured and change is managed.
Method provides technical how-tos for building software. It encompasses many tasks including
communication, requirement analysis, design modeling, program construction, testing and
support.
Tools provide automated or semi-automated support for the process and methods.
Dr.V.S.R.Krishnaiah

UNDERLYING PREMISE OF
PROCESS IMPROVEMENT
The quality of a product is largely
determined by the quality of the
process that is used to develop and
maintain it.
Based on TQM principles as taught by Shewhart, Juran,
Deming and Humphrey.

Dr.V.S.R.Krishnaiah

Software Process

A process is a collection of activities, actions and


tasks that are performed when some work product
is to be created. It is not a rigid prescription for
how to build computer software. Rather, it is an
adaptable approach that enables the people doing
the work to pick and choose the appropriate set
of work actions and tasks.
Purpose of process is to deliver software in a
timely manner and with sufficient quality to satisfy
those who have sponsored its creation and those
who will use it.
Dr.V.S.R.Krishnaiah

Why Focus on Software Process


Improvement (SPI)?

Because processes are the foundation for


all other business improvements, and
critical for:
Lasting improvements & success
Successful technology insertion
Getting rid of fire fighting mode

Dr.V.S.R.Krishnaiah

What is SPI?
SPI implies that
elements of an effective software process can be defined in
an effective manner
an existing organizational approach to software
development can be assessed against those elements, and

a meaningful strategy for improvement can be defined.


The SPI strategy transforms the existing approach to
software development into something that is more focused,
more repeatable, and more reliable (in terms of the quality
of the product produced and the timeliness of delivery)

Dr.V.S.R.Krishnaiah

SPI Framework

a set of characteristics that must be present if an effective


software process is to be achieved
a method for assessing whether those characteristics are
present
a mechanism for summarizing the results of any
assessment, and
a strategy for assisting a software organization in
implementing those process characteristics that have been
found to be weak or missing.

An SPI framework assesses the maturity of an organizations


software process and provides a qualitative indication of a maturity
level.
Dr.V.S.R.Krishnaiah

Elements of a SPI Framework

The SPI Process - Five activities


Assessment and Gap Analysis- Assessment examines a wide range of
actions and tasks that will lead to a high quality process.

Consistency - Are important activities, actions and tasks applied


consistently across all software projects and by all software teams?

Sophistication- Are management and technical actions performed with


a level of sophistication that implies a thorough understanding of best
practice?

Acceptance- Is the software process and software engineering practice


widely accepted by management and technical staff?

Commitment Has management committed the resources required to


achieve consistency, sophistication and acceptance?
Gap analysisThe difference between local application and best practice
represents a gap that offers opportunities for improvement.

Dr.V.S.R.Krishnaiah

11

SPI- Critical Success Factors


The top five CSFs are:
Management commitment and support
Staff involvement
Process integration and understanding
A customized SPI strategy
Solid Management of the SPI project

Dr.V.S.R.Krishnaiah

12

Maturity Models

A maturity model is applied within the context of


an SPI framework.
The intent of the maturity model is to provide an
overall indication of the process maturity
exhibited by a software organization.
an indication of the quality of the software
process, the degree to which practitioners
understand and apply the process,
the general state of software engineering practice.
Dr.V.S.R.Krishnaiah

13

The CMMI

a comprehensive process meta-model that is predicated on


a set of system and software engineering capabilities that
should be present as organizations reach different levels of
process capability and maturity
defines each process area in terms of specific goals and
the specific practices required to achieve these goals.
Specific goals establish the characteristics that must exist if
the activities implied by a process area are to be effective.
Specific practices refine a goal into a set of process-related
activities.
Dr.V.S.R.Krishnaiah

14

CMMI Maturity Levels

Dr.V.S.R.Krishnaiah

15

CMMI Maturity Levels


Process performance
continually improved
through incremental and
innovative technological
improvements.

Level 5
Optimizing
Level 4
Quantitatively
Managed
Level 3
Defined
Level 2
Managed
Level 1
Initial

Processes are controlled using


statistical and other quantitative
techniques.
Processes are well characterized and
understood. Processes, standards,
procedures, tools, etc. are defined at the
organizational (Organization X ) level.
Proactive.

Processes are planned, documented, performed,


monitored, and controlled at the project level.
Often reactive.
Processes are unpredictable, poorly controlled, reactive.
Dr.V.S.R.Krishnaiah

16

Stages of Process Maturity


Level

Focus

5 Optimizing

Continuous
Process
Improvement

4 Quantitatively
Managed

Quantitative
Management

3 Defined

2 Managed

Process
Standardization

Basic
Project
Management

Process Areas
Organizational Innovation and Deployment
Causal Analysis and Resolution

Quality
Productivity

Organizational Process Performance


Quantitative Project Management
Requirements Development
Technical Solution
Product Integration
Verification
Validation
Organizational Process Focus
Organizational Process Definition
Organizational Training
Integrated Project Mgmt (with IPPD extras)
Risk Management
Decision Analysis and Resolution
Integrated Teaming (IPPD only)
Org. Environment for Integration (IPPD only)
Integrated Supplier Management (SS only)
Requirements Management
Project Planning
Project Monitoring and Control
Supplier Agreement Management
Measurement and Analysis
Process and Product Quality Assurance
Configuration Management

1 Initial
Dr.V.S.R.Krishnaiah

Risk
Rework
17

Maturity Level 1 -Initial

Maturity Level 1 deals with performed processes.

Processes are unpredictable, poorly controlled, reactive.

The process performance may not be stable and may not


meet specific objectives such as quality, cost, and schedule,
but useful work can be done.

Dr.V.S.R.Krishnaiah

18

CMMI Level 2: Managed


7 Process Areas
CLARIFY REQUIREMENTS
Baseline the product requirements
DOCUMENT PLANS
Estimate project parameters,
Develop plans and processes
TRACK PROGRESS
Measure actual progress to enable
timely corrective action
Measure for mgmt. info needs
Verify adherence of processes
and products to requirements
CONTROL PRODUCTS
Identify and control products,
changes, problem reports
Select qualified suppliers / vendors;
manage their activities

Requirements Management (REQM)

Project Planning
Project Monitoring

and Control
Measurement & Analysis
Process & Product
Quality Assurance
Configuration

Management
Supplier Agreement
Management

Dr.V.S.R.Krishnaiah

(PP)

(PMC)
(M&A)
(PPQA)
(CM)
(SAM)

19

Maturity Level 2Managed at the Project Level

Maturity Level 2 deals with managed processes.


A managed process is a performed process that is also:

Planned and executed in accordance with policy


Employs skilled people
Adequate resources are available
Controlled outputs are produced
Stakeholders are involved
The process is reviewed and evaluated for adherence to
requirements

Processes are planned, documented, performed, monitored,


and controlled at the project level. Often reactive.
The managed process comes closer to achieving the specific
objectives such as quality, cost, and schedule.
Dr.V.S.R.Krishnaiah

20

CMMI Level 3: Defined


ENGINEER THE PRODUCT

Clarify customer requirements


Solve design requirements; develop
implementation processes
Assemble product components, deliver
Ensure products meet requirements
Ensure products fulfill intended use
Analyze decisions systematically

MANAGE THE PROCESSES

Follow integrated, defined processes


Identify and control potential problems

PROVIDE ORG. INFRASTRUCTURE

Establish org. responsibility for PI


Define the orgs best practices
Develop skills and knowledge

11 Process Areas*

Requirements Definition
Technical Solution

Product Integration
Verification
Validation
Decision Analysis
& Resolution

(RD)
(TS)
(PI)
(Ver)
(Val)
(DAR)

Integrated Project Mgmt (IPM)


Risk Management
(RSKM)
Org. Process Focus
Org. Process Definition
Org. Training

(OPF)
(OPD)
(OT)

21

Maturity Level 3Defined at the Organization Level

Maturity Level 3 deals with defined processes.


A defined process is a managed process that:

Well defined, understood, deployed and executed across


the entire organization. Proactive.
Processes, standards, procedures, tools, etc. are defined at
the organizational (Organization X ) level. Project or local
tailoring is allowed, however it must be based on the
organizations set of standard processes and defined per
the organizations tailoring guidelines.
Major portions of the organization cannot opt out.

Dr.V.S.R.Krishnaiah

22

CMMI Level 4: Quantitatively


Managed
2 Process Areas

MANAGE PROJECTS QUANTITATIVELY


Statistically manage the projects
processes and sub-processes

Quantitative Project

MANAGE THE ORGANIZATION


QUANTITATIVELY
Understand process performance;
quantitatively manage
the organizations projects

Organizational

Management

Process Performance

Dr.V.S.R.Krishnaiah

(QPM)

(OPP)

23

CMMI Level 5: Optimizing


2 Process Areas

OPTIMIZE PERFORMANCE
Identify and eliminate
the cause of defects early

Causal Analysis

ADOPT IMPROVEMENTS
Identify and deploy new tools and
process improvements to meet needs
and business objectives

Organizational Innovation

and Resolution

and Deployment

Dr.V.S.R.Krishnaiah

(CAR)

(OID)

24

Behaviors at the Five Levels


Maturity Level Process Characteristics

Behaviors

Focus on "fire prevention";


Focus is on continuous
Optimizing quantitative improvementimprovement anticipated and
desired, and impacts assessed.

QuantitativelyProcess is measured
Managed and controlled

Greater sense of teamwork and interdependencies

Defined

Process is characterized Reliance on defined process.


for the organization and People understand, support and
follow the process.
is proactive

Managed

Process is characterized
for projects and is often
reactive

Initial

Process is unpredictable, Focus on "fire fighting";


effectiveness low frustration high.
poorly controlled, and
reactive

Over reliance on experience of good


people when they go, the process
goes. Heroics.

Dr.V.S.R.Krishnaiah

25

Overall Benefits

Defect rates have dropped


Defect detection occurs earlier
User requirements are documented, controlled,
and managed

Especially important when users change their minds!

Estimating improves and becomes more precise


Risk management is a practice
Development processes remain agile!
Dr.V.S.R.Krishnaiah

26

Thanks

Dr.V.S.R.Krishnaiah

27

You might also like