48
SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 1 Software Project Management Sixth Edition Chapter 13.2 Software process quality

Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 1

Software Project ManagementSixth Edition

Chapter 13.2

Software process quality

Page 2: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

Product and Process QualityA good process is usually required to produce a good product.

For manufactured goods, process is the principal quality determinant.

For design-based activity, other factors are also involved:

For example, the capabilities of the designers.

SPM (6e) Product quality© The McGraw-Hill Companies, 2017 2

Page 3: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 3

BS EN ISO 9001:2000 and quality management systems

ISO 9001 is one of a family of standards that specify the characteristics of a good quality management system (QMS)

Can be applied to the creation of any type of product or service, not just IT and software

Does NOT set universal product/service standards

DOES specify the way in which standards are established and monitored

Page 4: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 4

ISO 9001:2000 principles

1. Understanding the requirements of the customer

2. Leadership to provide unity of purpose and direction to achieve quality

3. Involvement of staff at all levels

4. Focus on the individual which create intermediate and deliverable products and services

Page 5: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 5

ISO 9001:2000 principles

5. Focus on interrelation of processes that deliver products and services

6. Continuous process improvement

7. Decision-making based on factual evidence

8. Mutually beneficial relationships with suppliers

Page 6: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017

6

ISO 9001:2000 cycle

Establish requirements + acceptance criteria + quality levels

Design product

Design production process+ quality process

build quality control

processimprovement

customer

1

2

3

6

78

9

Page 7: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

ISO 9001 Requirements

Management responsibilityQuality systemContract reviewDesign ControlDocument and data controlPurchasing

Control of customer supplied productProduct identification and traceabilityProcess controlInspection and testingControl of inspection, measuring and test equipment

SPM (6e) Product quality© The McGraw-Hill Companies, 2017 7

Page 8: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 8

The need to improvecan everything be improved at one?

no, must tackle the most important things first

‘poor companies are poor at changing’

some later improvements build on earlier ones

but there are problems

improvement takes up time and money

‘improvement’ may simply be more bureaucracy!

Page 9: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 9

Capability maturity model (CMM)Created by Software Engineering Institute, Carnegie Mellon UniversityCMM developed by SEI for US government to help procurementThe rationale was:

Include likely contractor performance as a factor in contract awards.

Watts S. Humphrey ‘Managing the software process’ Addison WesleyAssessment is by questionnaire and interview

Page 10: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (5e) Software process quality© The McGraw-Hill Companies, 2009 10

Capability maturity model 2

Different versions have been developed for different environments e.g. software engineeringNew version CMMI tries to set up a generic model which can be used for different environments

Page 11: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SEI Capability Maturity Model

Can be used in two ways:

Capability evaluation

Software process assessment.

SPM (6e) Product quality© The McGraw-Hill Companies, 2017 11

Page 12: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

Capability Evaluation

Provides a way to assess the software process capability of an organization:

Helps in selecting a contractorIndicates the likely contractor performance.

SPM (6e) Product quality© The McGraw-Hill Companies, 2017 12

Page 13: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

Software Process Assessment

Used by an organization to assess its current process:

Suggests ways to improve the process capability.

This type of assessment is for purely internal use.

SPM (6e) Product quality© The McGraw-Hill Companies, 2017 13

Page 14: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

What is CMM?

Describes an evolutionary improvement path for software organizations from an ad hoc immature process :

To a mature, disciplined one.

Provides guidance on:

How to control the process

How to evolve the process

SPM (6e) Product quality© The McGraw-Hill Companies, 2017 14

Page 15: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

CMM Maturity LevelsFive maturity levels:

Stages are ordered so that improvements at one stage provide foundations for the next.

Based on the pioneering work of Philip Crosby.

SPM (6e) Product quality© The McGraw-Hill Companies, 2017 15

Initial (1)

Repeatable (2)

Defined (3)

Managed (4)

Optimizing (5)

Page 16: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (56) Software process quality© The McGraw-Hill Companies, 2017 16

Process maturity levels

1. initial

2. repeatable

3. defined

4. managed

5. optimizing

basic managementcontrol

process definition

processmanagement

processcontrol

A company is at level 1 bydefault i.e. there is no levelzero

Page 17: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

CMM Level 1 (Initial)Organization operates Without any formalized process or project plansAn organization at this level is characterized by Ad hoc and chaotic activities. Software development processes are not defined, Different developers follow their own process The success of projects depend on individual efforts and heroics.

SPM (6e) Product quality© The McGraw-Hill Companies, 2017 17

Page 18: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

Level 2 (Repeatable)

Basic project management practices are followedSize and cost estimation techniques: Function point analysis, COCOMO, etc. Tracking cost, schedule, and functionality.

Development process is ad hoc:Not formally definedAlso not documented.

SPM (6e) Product quality© The McGraw-Hill Companies, 2017 18

Page 19: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

Level 3 (Defined)

All management and development activities: Defined and documented.Common organization-wide understanding of activities, roles, and responsibilities.

The process though defined:Process and product qualities are not measured.

SPM (6e) Product quality© The McGraw-Hill Companies, 2017 19

Page 20: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

Level 4 (Managed)Quantitative quality goals for products are set.

Software process and product quality are measured:

The measured values are used to control the product quality.

Results of measurement used to evaluate project performance:

Rather than improve process.

Detailed measures of the software process and product quality are collected.

Both the software process and products are quantitatively understood and controlled.

SPM (6e) Product quality© The McGraw-Hill Companies, 2017 20

Page 21: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

Level 5 (Optimizing)

Statistics collected from process and product measurements are analyzed:

Continuous process improvement based on the measurements.

Known types of defects are prevented from recurring by tuning the processLessons learned from specific projects incorporated into the process

SPM (6e) Product quality© The McGraw-Hill Companies, 2017 21

Page 22: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 22

Key process areas

The KPAs of a level indicate the areas that an organization at the lower maturity level needs to focus to reach this level. KPAs provide a way for an organization to gradually improve its quality of over several stages. KPAs for each stage has been carefully designed such that one stage enhances the capability already built up.

Trying to focus on some higher level KPAs without achieving the lower level KPAs would be counterproductive.

Page 23: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 23

A repeatable modelinputs

(requirements)

control (budget,schedule, standards)

resources(staff, tools)

construct thesystem

outputs (code, documentation)

Page 24: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 24

Repeatable model KPAs

To move to this level concentrate on:Configuration managementQuality assuranceSub-contract managementProject planningProject tracking and oversightMeasurement and analysis

Page 25: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 25

A defined process

design & define

code & unittest

integrate/system test

requirements

design methods

tools, staff etc

system design

tested modulesinspectioncriteria

tools, staff etc.test plans

tools, staff etc.systemsoftware

Page 26: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 26

Repeatable to defined KPAsConcentrate on

Requirements development and technical solutionVerification and validationProduct integrationRisk managementOrganizational trainingOrganizational process focus (function)Decision analysis and resolutionProcess definitionIntegrated project management

Page 27: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 27

a managed process

design & define

code & unittest

integrate/system test

requirements

design methods

tools, staff etc

system design

tested modulesinspectioncriteria

tools, staff etc.test plans

tools, staff etc.systemsoftware

managedirectives

design defects

syst

em e

rror

s

Page 28: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 28

Defined to managed KPAs

Concentrate on:Organizational process performanceQuantitative project management

Page 29: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (5e) Software process quality© The McGraw-Hill Companies, 2009 29

design & define

code & unittest

integrate/system test

requirements

design methods

tools, staff etc

system design

tested modulesinspectioncriteria

tools, staff etc.test plans

tools, staff etc.systemsoftware

manage

directives

design defects

syst

em e

rror

s

Optimize

old control/development system

new control/development system

Optimizing

Page 30: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 30

Managing to optimizing: KPAs

Concentrate on:Causal analysis and resolution

Organizational innovation and deployment

Page 31: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (5e) Software process quality© The McGraw-Hill Companies, 2009 31

CMMI (Capability Maturity Model Integration)

CMMI is the successor of the Capability Maturity Model (CMM). After CMMI was first released in 1990:

It became popular in many other domains Human Resource Management (HRM).: people management (PCMM) software acquisition (SA-CMM) systems engineering (SE-CMM)

Page 32: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 32

Some questions about CMMISuitable only for large organizations?

e.g. need for special quality assurance and process improvement groups

Defining processes may not be easy with new technology

how can we plan when we’ve not used the development method before?

Higher CMM levels easier with maintenance environments?Can you jump levels?

Page 33: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 33

ISO/IEC 15504 IT process assessment

To provide guidance on the assessment of software development processesProcess Reference Model: Needs a defined set of processes that represent good practice to be the benchmarkISO 12207 is the default reference modelCould use others in specific environments

Page 34: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 34

ISO 15504 performance attributes

CMMI level ISO 15504

0. incomplete

initial 1.1.process performance – achieves defined outcome

repeatable 2.1 process management – it is planned and monitored

2.2 work product management – control of work products

Page 35: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 35

ISO 15504 performance attributes -contd

CMMI ISO 15504

Defined 3.1. Process definition

3.2. Process deployment

Managed 4.1. Process measurement

4.2. Process control

Optimizing 5.1. Process innovation

5.2. Process optimization

Page 36: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 36

Process Reference Model

A defined standard approach to developmentReflects recognized good practiceA benchmark against which the processes to be assessed can be judgedISO 12207 is the default model

Page 37: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 37

IS0 15504 Process Assessment

For each process in the relevant Process Reference ModelFor each set of attribute level criteria

Assess whether:N: not achieved 0-15%P: partially achieved >15%-50%L: largely achieved >50%-85%F: fully achieved >85%

Page 38: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 38

ISO 15504 performance indicators

This is just an example of how indicators for each level might be identified

1.PerformanceDescriptions of maximum and minimum expected input

values exist2.1 Performance managementA plan of how expected input variable ranges are to be

obtained exists which is up to date

Page 39: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 39

ISO 15504 performance indicators 2

2.2 Work product managementThere are minutes of a meeting where the input requirements document was reviewed and corrections were mandated

3.1 Process definitionA written procedure for input requirements gathering exists

3.2 Process deploymentA control document exists that is signed as each part of the procedure is completed

Page 40: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 40

4.1. Process measurementCollected measurement data can be collected

e.g. number of changes resulting from review4.2. Process controlMemos relating to management actions taken in

the light of the above

ISO 15504 performance indicators 2

Page 41: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 41

5.1 Process innovationExistence of some kind of ‘lessons learnt’ report at

the end of project5.2. Process optimizationExistence of documents assessing the feasibility of

suggested process improvements and which show consultation with relevant stakeholders

ISO 15504 performance indicators 3

Page 42: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 42

Techniques to improve quality -Inspections

When a piece of work is completed, copies are distributed to co-workersTime is spent individually going through the work noting defectsA meeting is held where the work is then discussedA list of defects requiring re-work is produced

Page 43: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 43

Inspections - advantages of approach

An effective way of removing superficial errors from a piece of softwareMotivates the software developer to produce better structured and self-descriptive codeSpreads good programming practiceenhances team-spiritThe main problem maintaining the commitment of participants

Page 44: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 44

‘Clean-room’ software development

Ideas associated with Harlan Mills at IBM

Three separate teams:

1. Specification team – documents user requirements and usage profiles (how much use each function will have)

2. Development team – develops code but does not test it. Uses mathematical verification techniques

3. Certification team – tests code. Statistical model used to decide when to stop

Page 45: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 45

Formal methodsUse of mathematical notations such as VDM and Z to produce unambiguous specifications

Can prove correctness of software mathematically (cf. geometric proofs of Pythagoras’ theorem)

Newer approach use Object Constraint Language (OCL) to add detail to UML models

Aspiration is to be able to generate applications directly from UML+OCL without manual coding –Model Driven Architectures (MDA)

Page 46: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 46

Quality plans

quality standards and procedures should be documented in an organization’s quality manual

for each separate project, the quality needs should be assessedselect the level of quality assurance needed for the project and document in a quality plan

Page 47: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 47

Typical contents of a quality plan

scope of planreferences to other documentsquality management, including organization, tasks, and responsibilitiesdocumentation to be producedstandards, practices and conventionsreviews and audits

Page 48: Software project managementjmpcollege.org/Adminpanel/AdminUpload/Studymaterial/Ch13_2_Soft… · Software Project Management Sixth Edition Chapter 13.2 Software process quality. Product

SPM (6e) Software process quality© The McGraw-Hill Companies, 2017 48

more contents of a quality plan

testingproblem reporting and corrective actiontools, techniques, and methodologiescode, media and supplier controlrecords collection, maintenance and retentiontrainingrisk management