capability maturity model introduction by basker george email: [email protected]

80
Capability Maturity Model INTRODUCTION By Basker George Email: [email protected]

Upload: erica-owens

Post on 16-Jan-2016

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Capability Maturity Model

INTRODUCTION

By

Basker George

Email: [email protected]

Page 2: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Introduction

Software Organizations employs 7million engineers & generate > $600 billion revenue

Growing at an annual rate of > 25% The software Industry is viewed as the promising

Industry segments having tremendous future potentials.

Hence executing software projects efficiently is of paramount importance to the software Industry.

Page 3: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Introduction

The processes used for executing software projects have major effect on the Quality & Productivity.

Hence we need to Evaluate & Improve the processes used in organization

The CMM(Capability Maturity Model) for software developed by SEI(Software Engineering Institute) is a FRAMEWORK that can be used for improving Quality & Productivity.

Page 4: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

What is the Software Process?

• A process is a systematic approach performed to achieve a specific purpose.

• A software process is the set of activities, methods, practices, and transformations used to develop software and associated products that are released with it.

• (e.g., project plans, design documents, code, test cases, and user manuals).

• As an organization matures, the software process becomes better defined and more consistently implemented throughout the organization.

Page 5: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

CMM

Capability Maturity Model (CMM)– Developed by Software Engineering Institute (SEI) of

Carnegie-Mellon University, first introduced in 1987– Goal

To provide a means by which organizations can appraise their ability to perform their software process successfully, and to provide guidance to improve their process capability

– Initially seen as a valuable approach, but questioned over ability to deliver business results. Now supported by body of published results:

Page 6: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level of CMM

Page 7: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

CMM Industry Feedback of Raytheon

Raytheon Company is a world leader in developing defense technologies and converting those technologies for use in commercial markets. ...

Raytheon began a CMM-based improvement effort in 1988. In 1990, they estimated that they saved $4.48M for an investment of $0.58M giving a return on investment of 7.7. Over a period of four and a half years, mid-1988 to the end of 1992, the company estimated that they had eliminated $15.8M in re-work costs. Over a six year period, 1988 to 1994, they saw a 2.7 times increase in productivity and an improvement in budget accuracy (target/actual) from 40% overruns to +/-3%.

Page 8: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

CMM Industry Feedback Motorola

Motorola is a global leader in providing integrated communications solutions andembedded electronic solutions.

Motorola estimate that an organization moving from CMM Level 2 to CMM Level 5 will see an eightfold reduction in defects, an eightfold improvement in cycle time and a threefold increase in productivity

Page 9: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

CMM Industry Feedback of HP

Hewlett-Packard’s Software Engineering Systems Division achieved a reduction in cycle time of 46%, a 60% reduction in shipped defects and schedule estimation error reduced to zero over two years May 1994 to May 1996.

Page 10: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Hughes Aircraft

Hughes Aircraft– 1987 level 2, 1990 level 3– 45K Assessment cost, 400K improvement cost,

2M cost savings, 2 % increased overhead– 5x improvement in estimation

Page 11: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

CMM….More Feedback…

In addition, a number of less tangible benefits are reported:– Increased customer focus– Improved ability to react flexibly to change– Increased job satisfaction amongst engineers

– Decrease in variability of schedule and cost performance

Page 12: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Global Software Group (GSG) China GSG China is the first organization to implement SEI

CMM in software engineering in Mainland China. It achieved Level 5 in 2000, making China the 3rd

country receiving CMM Level 5 after the US and India. GSG China has set its goal to become the chosen

software solution provider to customers and achieve total customer satisfaction.

Currently there are about 700 R&D staff working in three software centers located in Beijing, Nanjing and Chengdu.

Page 13: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

CMM at Infosys

Infosys is a highly successful software company assessed at Level 5 based at Bangalore India, with worldwide development center.

This course describes the processes used for project execution at Infosys & one possible way of implementing CMM

This Course deals with CMM & PROCESS that are used for project execution at Infosys.

Page 14: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Process Based Approach for Project Execution

Main characteristic of a PROJECT are:– Cost, Schedule & Quality

Project is initiated after ESTIMATION of the above Project is Successful if it meets or Exceeds above

expectation But Analysis of project data shows that

– 1/3 rd of projects have cost & schedule overrun of 125% Possible reasons for project failure are :

– Improper Estimation, Loose requirement Management, weak project management, improper risk management, poorly engineered solutions..etc..

Page 15: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Cont…

Other possible reason could be Unclear objective, Bad planning, No project Management methodology, insufficient staff..

That is, We can call it PROCESS FAILURE Therefore for a project to be successful, the key parameter is the

set of processes followed in the project Hence if suitable process model are chosen for the project, the

chances of project success is extremely high. Therefore High Q & P should be the twin aim of any Projects The Organization should also have predictable Q & P Also Organization should desires continuous improvement in Q&P

Page 16: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Quality & Productivity

Depends on Process, People & Technology– This is known as Quality Triangle or Iron Triangle

Therefore to increase Q&P, we have to Improve Process used by the organization.

The CMM for software deals with Process used in an Organization .

Page 17: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Software Process

They Encapsulate the collective experience (Success & Failure) of an organization.

Use this experience in future projects Thus the process allows the experience gained to be

conferred even to a newcomer Therefore it is important for an Organization to take

considerable effort to capture the experience of the process & improve the process.

Learning & Leveraging experience with process constitute an important aspect of CMM level 3.

Page 18: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Cont..

If Quantitative information is available about the process capability, then Q&P can be determined unambiguously

Quantitatively managing the process is the focus of LEVEL 4 of CMM

Page 19: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SEI’s Fundamental concepts

• Software Process Capability is the range of expected results that are achievable by following the software process.

• Software process performance is the actual result achieved in the development of software by following a software process.

• Software Process Maturity is the extent to which a Software Process is defined, managed, controlled, measured and effective.

Page 20: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

CMM for software

What are the desirable characteristic of an organization processes for executing software?

How can the organization improve the processes for improving the Q&P?

What are the desirable characteristic of the improved processes?

The answer to the above questions is : “PROCESS FRAMEWORK”

Page 21: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

PROCESS FRAMEWORK

CMM for software is a framework that focuses on processes for software development.

Framework provide guidance regarding the improvements needed to move from one maturity level to another.

CMM framework describes the key elements of software processes at different levels of maturity.

Specifies the characteristic that the process must have to “qualify” as a process of maturity.

The maturity of the process may be classified into different levels. Many framework are available for software process

– ISO 9001, CMM, Trillium, SPICE & BOOTSTRAP

Page 22: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Why a CMM?

“Silver Bullets” failed Process, not technology is the key Projects grossly over schedule/budget Early 1980s, US DoD misjudged software

contractors and suffered.– How can we tell a good contractor from a bad

one?

Page 23: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Whence CMM?

The CMM is based on knowledge acquired from software process assessments and extensive feedback from both industry and government

By Dept Of Defence and SEI (Research & Development center at Carnegie

mellon University) Mark Paulk (project lead for CMM) Bill Curtis Mary Beth Chrisis Charles Weber

Page 24: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

What is CMM?

Assessment / Evaluation What to do not How to do Determine maturity through 5 levels:

– Initial -1– Repeatable – 2– Defined – 3– Managed – 4– Optimizing - 5

Page 25: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

CMM Overview

SEI’s Vision:To bring engineering discipline to the development and maintenance of software products

Desired Result:Higher quality -- better products for a better pricePredictability -- function/quality, on time, within budget

Methodology to Achieve that Desired Result:

1. Identify Current State:Know your current Capability Maturity Level

2. Identify Desired State:Understand the description of the next Level

3. Reduce the Gap:Plan, implement, and institutionalizethe key practices of the next Level.Repeat until continuous optimization is part of the culture.

Page 26: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

The CMM Levels

1

2

3

4

5

Process Maturity

Process Capability

Process Performance

Low

High

Risk

High

Low

Page 27: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 1 Initial

Chaotic(not organized) May still deliver quality software Dependent on “HERO” Processes are ad hoc(not planned) Just get it done mentality Minimal data collected or evaluated

Page 28: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 2 Repeatable

Policies for planning and management established

Basic management controls established Process is stable, results can be repeated Identified inputs, outputs, constraints Management needs to be in control first, then

technology

Page 29: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 3 Defined

Activities with definitions, entry and exit conditions for software and management processes in organization

SEPG – group established to oversee process in organization

Organization process tailored for specific projects Software quality is tracked Activities include peer reviews, CASE tool usage,

testing standards, and full lifecycle configuration management

Page 30: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 4 Measured

Organization sets quantitative quality goals Productivity and quality are measured Organization-wide database maintained for planning

and evaluation of projects Processes measure control and variation Processes predict trends in quality and schedule Detailed time, cost, and other metrics are collected and

used to quantitatively manage software development. The organization has a quality focus, with tools and

training to support development.

Page 31: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 5 Optimizing

Entire organization focused on improvement of processes Organization has mechanisms to identify and correct

weaknesses. Statistical data used to prevent defects Process improvements may be incremental or innovative Continuous process improvement is achieved through

quantitative management. Processes such as software inspection, code walkthroughs,

automatic metrics collection, and technology review are part of the standard development methodology.

Page 32: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com
Page 33: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com
Page 34: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Definitions

KPA- Key Process or Performance Area KPA – Cluster of related activities that when

met,achieve a set of goals for a level. Goals – signify the scope, boundary and

intent of a KPA Key Practices – satisfy goals of the KPA

Page 35: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

KPA’s at different levels

The KPA’s can be considered as the requirement for achieving that maturity

Every KPA’s specifies a group of activities, called key practices, which satisfy the goal of that KPA.

Key practices are organized into various groups called:

– Commitment to perform– Ability to perform– Activities performed– Measurement analysis– Verifying implementation

Page 36: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com
Page 37: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

The Key Process Areas for Level 2: Repeatable

Requirements Management(RM)– The purpose of Requirements Management is to

establish a common understanding between the customer and the customer's requirements that will be addressed by the software project.

The customer may be interpreted as System Engineering group,Marketing Group or External customer

Goal 1 System requirements allocated to software are controlled to establish a baseline for software engineering and management use.

Goal 2 Software plans, products, and activities are kept consistent with the system requirements allocated to software.

Page 38: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 2 KPA : Software project planning(SPP)

The purpose of Software Project Planning is to establish reasonable plans for performing the software engineering and for managing the software project.

Software Project Planning involves developing estimates for the work to be performed, establishing the necessary commitments, and defining the plan to perform the work.

Page 39: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SPP cont…

The software planning begins with a statement of the work to be performed and other constraints and goals that define and bound the software project (those established by the practices of the Requirements Management key process area).

The software planning process includes steps to estimate the size of the software work products and the resources needed, produce a schedule, identify and assess software risks, and negotiate commitments.

Page 40: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SPP Cont…

Iterating through these steps may be necessary to establish the plan for the software project (i.e., the software development plan).

This plan provides the basis for performing and managing the software project's activities and addresses the commitments to the software project's customer according to the resources, constraints, and capabilities of the software project.

Page 41: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SPP Goals…

Goal 1 Software estimates are documented for use in planning and tracking the software project.

Goal 2 Software project activities and commitments are planned and documented.

Goal 3 Affected groups and individuals agree to their commitments related to the software project.

Page 42: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 2 : Software Project Tracking and Oversight(SPTO)

The purpose of Software Project Tracking and Oversight is to provide adequate visibility into actual progress, so that management can take effective actions when the software project's performance deviates significantly from the SPP.

Software Project Tracking and Oversight involves tracking and reviewing the software accomplishments and results against documented estimates, commitments, and plans, and adjusting these plans based on the actual accomplishments and results.

Page 43: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SPTO Cont…

A documented plan for the software project (SPP) is used as the basis for tracking the software activities, communicating status, and revising plans. Software activities are monitored by the management.

Progress is primarily determined by comparing the actual software size, effort, cost, and schedule with the SPP when selected software work products are completed or a milestone is reached.

Page 44: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SPTO Cont…

When it is determined that the software project's plans goals are not being met…

corrective actions are taken. These actions may include revising the SPP to reflect the actual

accomplishments re-planning the remaining work or taking actions to improve the performance

Page 45: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SPTO Goals

Goal 1 Actual results and performances are tracked against the software plans.

Goal 2 Corrective actions are taken and managed to closure when actual results and performance deviate significantly from the software plans.

Goal 3 Changes to software commitments are agreed to by the affected groups and individuals.

Page 46: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 2: Software Subcontract Management(SSM)

The purpose of Software Subcontract Management is to select qualified software subcontractors and manage them effectively.

Software Subcontract Management involves selecting a software subcontractor, establishing commitments with the subcontractor, and tracking and reviewing the subcontractor's performance and results.

These practices cover the management of a software (only) subcontract, as well as the management of the software component of a subcontract that includes software, hardware, and possibly other system components.

Page 47: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SSM Cont…

The subcontractor is selected based on its ability to perform the work.

Many factors contribute to the decision to subcontract a portion of the prime contractor's work.

Subcontractors may be selected based on strategic business alliances, as well as technical considerations.

The practices of this KPA address the traditional acquisition process associated with subcontracting a defined portion of the work to another organization.

Page 48: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SSM Cont…

When subcontracting, a documented agreement covering the technical and nontechnical (e.g., delivery dates) requirements is established and is used as the basis for managing the subcontract.

The work to be done by the subcontractor and the plans for the work are documented.

The standards that are to be followed by the subcontractor should be compatible with the prime contractor's standards.

Page 49: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SSM Cont…

The software planning, tracking, and oversight activities for the subcontracted work are performed by the subcontractor.

The prime contractor ensures that these planning, tracking, and oversight activities are performed appropriately and that the software products delivered by the subcontractor satisfy their acceptance criteria.

The prime contractor works with the subcontractor to manage their product and process interfaces.

Page 50: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SSM Goals

Goal 1 The prime contractor selects qualified software subcontractors.

Goal 2 The prime contractor and the software subcontractor agree to their commitments to each other.

Goal 3 The prime contractor and the software subcontractor maintain ongoing communications.

Goal 4 The prime contractor tracks the software subcontractor's actual results and performance against its commitments

Page 51: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 2 KPA: Software Quality Assurance(SQA)

The purpose of SQA is to provide management with appropriate visibility into the process being used by the software project and products being built.

SQA involves reviewing and auditing the software products and activities to verify that they comply with the applicable procedures and standards

and providing the software project and other appropriate managers with the results of these reviews and audits.

Page 52: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SQA Cont…

The software quality assurance group works with the software project during its early stages to establish plans, standards, and procedures that will add value to the software project and satisfy the constraints of the project and the organization's policies.

By participating in establishing the plans, standards, and procedures, the software quality assurance group helps ensure they fit the project's needs and verifies that they will be usable for performing reviews and audits throughout the software life cycle.

Page 53: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SQA Cont…

The software quality assurance group reviews project activities and audits software work products throughout the life cycle and provides management with visibility as to whether the software project is adhering to its established plans, standards, and procedures.

Compliance issues are first addressed within the software project and resolved there if possible.

For issues not resolvable within the software project, the software quality assurance group escalates the issue to an appropriate level of management for resolution.

Page 54: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SQA Cont…

This key process area covers the practices for the group performing the software quality assurance function.

The practices identifying the specific activities and work products that the software quality assurance group reviews and/or audits are generally contained in the Verifying Implementation common feature of the other key process areas.

Page 55: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SQA Goals

Goal 1 SQA activities are planned. Goal 2 Adherence of software products and

activities to the applicable standards, procedures, and requirements is verified objectively.

Goal 3 Affected groups and individuals are informed of SQA activities and results.

Goal 4 Noncompliance issues that cannot be resolved within the software project are addressed by senior management.

Page 56: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 2 KPA: Software Configuration Management(SCM)

The purpose of Software Configuration Management is to establish and maintain the integrity of the products of the software project throughout the project's software life cycle.

SCM involves identifying the configuration of the software work products at given points in time

systematically controlling changes to the configuration, and maintaining the integrity and traceability of the configuration throughout the software life cycle.

Page 57: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SCM Cont…

The work products placed under SCM include the software products that are delivered to the customer and the items that are identified with these software products.

A software baseline library is established containing the software baselines as they are developed.

Changes to baselines and the release of software products built from the software baseline library

are systematically controlled via the change control and configuration auditing functions of SCM

Page 58: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SCM Cont…

This KPA covers the practices for performing the SCM function.

The practices identifying specific configuration items/units are contained in the KPA that describe the development and maintenance of each configuration item/unit.

Page 59: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

SCM Goals

Goal 1 SCM activities are planned. Goal 2 Selected software work products are

identified, controlled and made available. Goal 3 Changes to identified software work

products are controlled. Goal 4 Affected groups and individuals are

informed of the status and content of software baselines

Page 60: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 3 KPA: Organization Process Focus(OPF)

The purpose of Organization Process Focus is to establish the organizational responsibility for software process activities that improve the organization's overall software process capability.

Organization Process Focus involves developing and maintaining an understanding of the organization's and projects' software processes and coordinating the activities to assess, develop, maintain, and improve these processes.

Page 61: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

OPF Cont…

The organization provides the long-term commitments and resources to coordinate the development and maintenance of the software processes across current and future software projects via a group such as a SEPG

This group is responsible for the organization's software process activities.

It is specifically responsible for the development and maintenance of the organization's standard software process and related process assets (as described in the Organization Process Definition KPA

it coordinates the process activities with the software projects

Page 62: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

OPF Goals

Goal 1 Software process development and improvement activities are coordinated across the organization.

Goal 2 The strengths and weaknesses of the software processes used are identified relative to a process standard.

Goal 3 Organization-level process development and improvement activities are planned.

Page 63: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 3 KPA: Organization Process Definition(OPD)

The purpose of Organization Process Definition is to develop and maintain a usable set of software process assets that improve process performance across the projects and provide a basis for cumulative, long-term benefits to the organization.

Organization Process Definition involves developing and maintaining the organization's standard software process, along with related process assets, such as descriptions of software life cycles, process tailoring guidelines and criteria, the organization's software process database, and a library of software process-related documentation.

Page 64: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

OPD Cont…

These assets may be collected in many ways, depending on the organization's implementation of Organization Process Definition.

For example, the descriptions of the software life cycles may be an integral part of the organization's standard software process or parts of the library of software process-related documentation may be stored in the organization's software process database.

The organization's software process assets are available for use in developing, implementing, and maintaining the projects' defined software processes.

The practices related to the development and maintenance of the project's defined software process are described in the Integrated Software Management KPA

Page 65: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

OPD Goals

Goal 1 A standard software process for the organization is developed and maintained.

Goal 2 Information related to the use of the organization's standard software process by the software projects is collected, reviewed, and made available.

Page 66: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Level 3 KPA: Training Program(TP)

The purpose of the Training Program KPA is to develop the skills and knowledge of individuals so that they can perform their roles effectively and efficiently.

Training Program involves first identifying the training needed of the – Organization– projects– and individuals– then developing or procuring training to address the

identified needs.

Page 67: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

TP Cont…

Each software project evaluates its current and future skill needs and determines how these skills will be obtained.

Some skills are effectively and efficiently imparted through informal vehicles (e.g., on-the-job training and informal mentoring)

whereas other skills need more formal training vehicles (e.g., classroom training and guided self-study) to be effectively and efficiently imparted. The appropriate vehicles are selected and used.

Page 68: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

TP Goals

Goal 1 Training activities are planned. Goal 2 Training for developing the skills and

knowledge needed to perform software management and technical roles is provided.

Goal 3 Individuals in the SEPG and software-related groups receive the training necessary to perform their roles.

Page 69: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

KPA Level 3 ISM & SPE

Integrated Software Management(ISM)– Goal 1 The project's defined software process is a tailored

version of the organization's standard software process.– Goal 2 The project is planned and managed according to

the project's defined software process. Software Product Engineering(SPE)

– Goal 1 The software engineering tasks are defined, integrated, and consistently performed to produce the software.

– Goal 2 Software work products are kept consistent with each other.

Page 70: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

KPA Level 3

Intergroup Coordination(IC)– Goal 1 The customer's requirements are agreed to by all

affected groups. – Goal 2 The commitments between the engineering groups

are agreed to by the affected groups. – Goal 3 The engineering groups identify, track, and resolve

intergroup issues. Peer Reviews(PR)

– Goal 1 Peer review activities are planned.– Goal 2 Defects in the software work products are identified

and removed

Page 71: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

The Key Process Areas for Level 4: Managed

Quantitative Process Management(QPM)– Goal 1 The quantitative process management

activities are planned. – Goal 2 The process performance of the project's

defined software process is controlled quantitatively.

– Goal 3 The process capability of the organization's standard software process is known in quantitative terms.

Page 72: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

KPA Level 4

Software Quality Management(SQM)– Goal 1 The project's software quality

management activities are planned.– Goal 2 Measurable goals for software product

quality and their priorities are defined. – Goal 3 Actual progress toward achieving the

quality goals for the software products is quantified and managed.

Page 73: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

The Key Process Areas for Level 5: Optimizing

Defect Prevention(DP)– Goal 1 Defect prevention activities are planned.– Goal 2 Common causes of defects are sought out

and identified. – Goal 3 Common causes of defects are prioritized

and systematically eliminated

Page 74: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

KPA Level 5

Technology Change Management(TCM)– Goal 1 Incorporation of technology changes are

planned.– Goal 2 New technologies are evaluated to

determine their effect on quality and productivity. – Goal 3 Appropriate new technologies are

transferred into normal practice across the organization.

Page 75: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

KPA Level 5

Process Change Management(PCM)– Goal 1 Continuous process improvement is

planned.– Goal 2 Participation in the organization's

software process improvement activities is done organization wide.

– Goal 3 The organization's standard software process and the projects' defined software processes are improved continuously.

Page 76: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

CMM Assessment Method

The approach used by Organization for their process assessment & improvement is called CMM-based appraisal for internal process improvement(CBA-IPI)

The CBA-IPI is intended to improve its process The Organization is assessed by Assessment Team

– SEI – authorized lead assessor– Team 6-10 experienced members from organization

Looks at part or complete organization Occurs over 3-5 days Maturity Questionnaires (yes,no,don’t know, does not apply) Documentation & Interviews with FAR (functional area Rep) Project Examination

Page 77: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

Cont..

FAR( Functional Area Representative)– Project leaders– Middle Manager ( to whom PL’s reports)– Configuration Controller– SEPG members– Training Personnel– Developers– Testers– Analysts

Hence an Organization is considered to reach a LEVEL, if it satisfies all KPAs for that Level & all KPAs below it.

Page 78: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

CMM Problems

Wiggle room (interpretation) Emphasis on contractor evaluation No emphasis on customer focus Management oriented Emphasis on big, mission-critical projects All or nothing rating

Page 79: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

CMM, What’s coming

SW-CMM (Traditional) P-CMM (People) SA-CMM (Acquisition) SE-CMM (Systems Engineering) IPD-CMM (Integrated Product Development) CMM(I)

– Merges the above with ISO 15504

Page 80: Capability Maturity Model INTRODUCTION By Basker George Email: Basker.George@gmail.com

How do we know what level?