software quality assurance (sqa) swe 333

28
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan [email protected] Capability Maturity Level (CMMi)

Upload: javan

Post on 23-Feb-2016

42 views

Category:

Documents


1 download

DESCRIPTION

Software Quality assurance (SQA) SWE 333. Capability Maturity Level ( CMMi ). Dr Khalid Alnafjan [email protected]. What is a CMMi ?. A Capability Maturity Model ( CMMi ) is a reference model of mature practices in a specified discipline, used to improve PROCESS at work - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software Quality assurance (SQA)  SWE 333

OHT 2.1

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Software Quality assurance (SQA) SWE 333

Dr Khalid Alnafjan

[email protected]

Capability Maturity Level (CMMi)

Page 2: Software Quality assurance (SQA)  SWE 333

OHT 2.2

Galin, SQA from theory to implementation © Pearson Education Limited 2004

What is a CMMi?

• A Capability Maturity Model (CMMi) is a reference model of mature practices in a specified discipline, used to improve PROCESS at work

• The results of adopting CMMi is a much better product or process quality.

• Before we focus on CMMi we need to understand the meaning of a PROCESS

so What is a PROCESS ?

Page 3: Software Quality assurance (SQA)  SWE 333

OHT 2.3

Galin, SQA from theory to implementation © Pearson Education Limited 2004

What is a process• A process is a series of actions or steps taken in order to

achieve a particular end in the form of a product or service•  We may not realize it, but processes are everywhere and

in every aspect of our leisure and work. A few examples of processes might include:

•     Preparing breakfast•     Placing an order•     Developing a budget•     Writing a computer program•     Obtaining application requirements• And so on

Page 4: Software Quality assurance (SQA)  SWE 333

OHT 2.4

Galin, SQA from theory to implementation © Pearson Education Limited 2004

• The quality of a system is highly influenced by the quality of the process used to acquire, develop, and maintain it.

• even our finest people can’t perform at their best when the process is not understood or operating at its best.”

• Everyone realizes the importance of having a motivated, quality work force and the latest technology, but even the finest people can’t perform at their best when the process is not understood or operating at its best

• This premise implies a focus on processes as well as on products.

Process Improvement

Page 5: Software Quality assurance (SQA)  SWE 333

OHT 2.5

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Commitments consistently missed Late delivery Last minute crunches Increasing costs

No management visibility into progressYou’re always being surprised.Quality problems

Too much reworkFunctions do not work correctly.Customer complaints after delivery

Poor moralePeople frustratedIs anyone in charge?

Symptoms of Process Failure

Page 6: Software Quality assurance (SQA)  SWE 333

OHT 2.6

Galin, SQA from theory to implementation © Pearson Education Limited 2004

CMMI for Process ImprovementThe aim of CMMi is to improve processes so they can be performed in

the best manner with least costUse CMMI in process improvement activities as a • collection of best practices• framework for organizing and prioritizing activities• support for the coordination of multi-disciplined activities that might

be required to successfully build a product• means to emphasize the alignment of the process improvement

objectives with organizational business objectives

Page 7: Software Quality assurance (SQA)  SWE 333

OHT 2.7

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Processes are ad hoc and improvised by practitioners and their managementProcess describes are not rigorously followed or enforced Performance is highly dependent on current practitionersUnderstanding of the current status of a project is limitedImmature processes result in fighting fires:• There is no time to improve – instead, practitioners are constantly reacting• Firefighters get burned• Embers might rekindle later

Ad Hoc Processes (Not using CMMi)

Page 8: Software Quality assurance (SQA)  SWE 333

OHT 2.8

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Process descriptions are consistent with the way work actually is done

They are defined, documented and continuously improved

Processes are supported visibly by management and others

They are well controlled – process fidelity is evaluated and enforced

There is constructive use of product and process enforced

There is constructive use of product and process measurement

Technology is introduced in a disciplined manner

Improved Processes (Using CMMi)

Page 9: Software Quality assurance (SQA)  SWE 333

OHT 2.9

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Process Improvement and Football - an example

• Let us take football as an example to show how process improvement can increase the quality of football game.

• We will compare how play is performed between a little league team and a professional football team

Page 10: Software Quality assurance (SQA)  SWE 333

OHT 2.10

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Process Improvement and Football - an example

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.

10

Page 11: Software Quality assurance (SQA)  SWE 333

OHT 2.11

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Process Improvement and Football - an example

• A professional football 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

11

Page 12: Software Quality assurance (SQA)  SWE 333

OHT 2.12

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Process Improvement and Football - an example

• What happens when the team loses a star player?– 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. 12

Page 13: Software Quality assurance (SQA)  SWE 333

OHT 2.13

Galin, SQA from theory to implementation © Pearson Education Limited 2004

… So what is CMMI?

• In the same way, high-quality software organizations are different from low-quality organizations.

• CMMI tries to capture and describe these differences.

• CMMI strives to create software development organizations that are “mature”, or more mature than before applying CMMI.

13

Page 14: Software Quality assurance (SQA)  SWE 333

OHT 2.14

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Capability Maturity Model® Integration (CMMI®)

Capability Maturity Modeling, CMM, and CMMI are registered in the U.S. Patent andTrademark Office by Carnegie Mellon University.

Page 15: Software Quality assurance (SQA)  SWE 333

OHT 2.15

Galin, SQA from theory to implementation © Pearson Education Limited 2004

How CMMI Helps? CMMI provides guidance for improving an organization’s

processes and ability to manage the development, acquisition and maintenance of products or services.

CMMI places proven approaches into a structure that helps an organization:

- appraise its organizational maturity or process area capability - establish priorities for improvement - implement these improvements

Page 16: Software Quality assurance (SQA)  SWE 333

OHT 2.16

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Five levels of maturity …

16

Page 17: Software Quality assurance (SQA)  SWE 333

OHT 2.17

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Summary of levels

• Level 1 – Initial. Anything at all. Ad-hoc and chaotic. Will have some successes, but will also have failures and badly missed deadlines.

• Level 2 – Repeatable. SW processes are defined, documented, practiced, and people are trained in them. Groups across an organization may use different processes.

17

Page 18: Software Quality assurance (SQA)  SWE 333

OHT 2.18

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Summary of levelsLevel 3 – Defined. SW processes are consistent and

known across the whole organization.

Level 4 – Managed. SW processes and results are measured quantitatively, and processes are evaluated with this data.

Level 5 – Optimizing. Continuous process improvement. Experimenting with new methods and technologies. Change processes when find something that works better.

18

Page 19: Software Quality assurance (SQA)  SWE 333

OHT 2.19

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Level 1 – InitialTeam tackles projects in different ways each time

Can have strong successes, but may not repeat 

Some time/cost estimates are accurate, many far off

Success comes from smart people doing the right things

Hard to recover from good people leaving

Frequent crises and "firefighting.” (Many believe this is standard for SW development. CMM says NO.)

Most SW development organizations are Level 1.

19

Page 20: Software Quality assurance (SQA)  SWE 333

OHT 2.20

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Level 2 – Repeatable

• Key areas– Requirements management– Software project planning– Project tracking and oversight– Subcontracts management– Quality assurance– Configuration management

20

Page 21: Software Quality assurance (SQA)  SWE 333

OHT 2.21

Galin, SQA from theory to implementation © Pearson Education Limited 2004

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

21

Page 22: Software Quality assurance (SQA)  SWE 333

OHT 2.22

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Level 4 – Managed

• Key areas. Level 3, plus…

– Quantitative process management (data gathering)

– Quality management (data-driven quality improvement)

22

Page 23: Software Quality assurance (SQA)  SWE 333

OHT 2.23

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Level 5 – Optimizing

• Key areas. Level 4, plus…

– Defect prevention

– Technology change management (bring in new methods)

– Process change management (improve processes)

23

Page 24: Software Quality assurance (SQA)  SWE 333

OHT 2.24

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Level 5 – Optimizing

• The optimizing level (Level 5) is not the destination of process management.

• The destination is better products for a better price: economic survival

• The optimizing level is a foundation for building an ever-improving capability.

24

Page 25: Software Quality assurance (SQA)  SWE 333

OHT 2.25

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Example-Requirements Management

SG 1: Manage Requirements SP1.1 : Obtain an understanding of the requirements SP1.2 : Obtain commitment to requirements

SP1.3 :Manage Requirement Changes SP1.4 : Maintain bi- directional trace ability of

Requirements SP1.5 : Identify inconsistencies between project work and

requirements

Page 26: Software Quality assurance (SQA)  SWE 333

OHT 2.26

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Time required to progress to next level

26

Capability level transition

Mean time (months)

No. of organizations

Level 1 to level 2 24 125

Level 2 to level 3 21.5 124

Level 3 to level 4 33 18

Level 4 to level 5 18 19

Source: Based on Gartner Inc. (2001)

Page 27: Software Quality assurance (SQA)  SWE 333

OHT 2.27

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Project Resources distribution

27

Percentage of project resourcesCMM capability level

Original work Reworking Testing and quality assurance

1 34 41 25

2 55 18 27

3 67 11 22

4 76 7 17

Page 28: Software Quality assurance (SQA)  SWE 333

OHT 2.28

Galin, SQA from theory to implementation © Pearson Education Limited 2004

Versions of CMMI (capability maturity model integration)

CMMI-SE/SWSystem Engineering CMM (SE-CMM)Software engineering CMM (SW-CMM)

CMMI-SE/SW/IPPD/SSSystem Engineering CMM (SE-CMM)Software engineering CMM (SW-CMM) Integrated Product/Process Development (IPPD-CMM)Supplier Sourcing

CMMI-SE/SW/IPPDSystem Engineering CMM (SE-CMM)Software engineering CMM (SW-CMM) Integrated Product/Process Development (IPPD-CMM)

28