PROCESS AND PRODUCT QUALITY - Moodle @...

28
1 QUALITY: PRODUCT VS PROCESS QUALITY: PRODUCT VS PROCESS PROCESS AND PRODUCT QUALITY PROCESS AND PRODUCT QUALITY Fernando Brito e Abreu Fernando Brito e Abreu FCT/UNL FCT/UNL 3/18/2005 © Fernando Brito e Abreu 2 ABSTRACT ABSTRACT PRODUCT OR PROCESS? PRODUCT OR PROCESS? INSIDE INSIDE - - OUT VERSUS OUTSIDE OUT VERSUS OUTSIDE - - IN IN PRODUCT PRODUCT QUALITY MODELS QUALITY MODELS PRODUCT PRODUCT EVALUATION PROCESS EVALUATION PROCESS PROCESS PROCESS QUALITY QUALITY - - Q.M.S. Q.M.S. QUALITY META QUALITY META - - MANUAL EXAMPLES MANUAL EXAMPLES SOFTWARE QUALITY ORGANIZATIONS SOFTWARE QUALITY ORGANIZATIONS

Transcript of PROCESS AND PRODUCT QUALITY - Moodle @...

Page 1: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

1

QUALITY: PRODUCT VS PROCESSQUALITY: PRODUCT VS PROCESS

PROCESS AND PRODUCT QUALITYPROCESS AND PRODUCT QUALITY

Fernando Brito e AbreuFernando Brito e Abreu

FCT/UNLFCT/UNL

3/18/2005© Fernando Brito e Abreu

2

ABSTRACTABSTRACTPRODUCT OR PROCESS?PRODUCT OR PROCESS?

INSIDEINSIDE--OUT VERSUS OUTSIDEOUT VERSUS OUTSIDE--ININ

PRODUCTPRODUCT QUALITY MODELSQUALITY MODELS

PRODUCTPRODUCT EVALUATION PROCESSEVALUATION PROCESS

PROCESSPROCESS QUALITY QUALITY -- Q.M.S.Q.M.S.

QUALITY METAQUALITY META--MANUAL EXAMPLESMANUAL EXAMPLES

SOFTWARE QUALITY ORGANIZATIONSSOFTWARE QUALITY ORGANIZATIONS

Page 2: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

2

3/18/2005© Fernando Brito e Abreu

3

PRODUCT OR PROCESS?PRODUCT OR PROCESS?

•• Increasing competition on the global market Increasing competition on the global market makes the evaluation of software product quality makes the evaluation of software product quality characteristics more relevant.characteristics more relevant.

•• Two approaches to achieve that:Two approaches to achieve that:

–– InsideInside--out (product centered)out (product centered)

–– OutsideOutside--in (process centered)in (process centered)

3/18/2005© Fernando Brito e Abreu

4

INSIDEINSIDE--OUT APPROACHOUT APPROACH

•• Internal structure is a necessary, but not Internal structure is a necessary, but not sufficient, condition for product quality!sufficient, condition for product quality!

•• Evaluating the Evaluating the quality of the finalquality of the final productproduct and and do the required corrections iteratively until it do the required corrections iteratively until it exhibits the required quality level.exhibits the required quality level.

•• Drawbacks:Drawbacks:•• Agreement on which quality characteristicsAgreement on which quality characteristics

•• Agreement on how to measure themAgreement on how to measure them

•• Effort involvedEffort involved

Page 3: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

3

3/18/2005© Fernando Brito e Abreu

5

OUTSIDEOUTSIDE--IN APPROACHIN APPROACH

•• Organization of the software process is a Organization of the software process is a necessary, but not sufficient, condition for product necessary, but not sufficient, condition for product quality!quality!

•• Focus on Focus on quality of the development processquality of the development process, , because that potentially leads to obtaining quality because that potentially leads to obtaining quality products.products.

•• Drawbacks:Drawbacks:•• An illAn ill--defined process, when followed strictly, will defined process, when followed strictly, will

probably lead to the systematic production of probably lead to the systematic production of bad products!bad products!

3/18/2005© Fernando Brito e Abreu

6

QUALITY OF PRODUCTQUALITY OF PRODUCT

•• ISO/IEC 9126 standard proposes a framework ISO/IEC 9126 standard proposes a framework with a set of characteristics that allows to with a set of characteristics that allows to characterize product quality.characterize product quality.

•• The proposed characteristics were chosen with the The proposed characteristics were chosen with the concern of minimum overlap.concern of minimum overlap.

•• Those characteristics are decomposed in subThose characteristics are decomposed in sub--characteristics according to the following characteristics according to the following schemas:schemas:

Page 4: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

4

3/18/2005© Fernando Brito e Abreu

7

ISO9126 Software ISO9126 Software Internal and External Quality ModelInternal and External Quality Model

Internal andExternalquality

functionality

suitabilityaccuracy

interoperabilitysecurity

compliance

reliability

maturityfault tolerancerecoverabilitycompliance

usability

understandabilitylearnabilityoperability

attractivenesscompliance

efficiency

timebehaviourresourceutilisation

compliance

maintainability

analysabilitychangeability

stabilitytestabilitycompliance

portability

adaptabilityinstallabilityco-existence

replaceabilitycompliance

3/18/2005© Fernando Brito e Abreu

8

ISO9126 Software ISO9126 Software Internal and External Quality ModelInternal and External Quality Model

FunctionalityFunctionality -- capability of the software product to capability of the software product to provide functions which meet stated and implied needs provide functions which meet stated and implied needs when the software is used under specified conditions.when the software is used under specified conditions.

ReliabilityReliability -- capability of the software product to maintain capability of the software product to maintain a specified level of performance when used under specified a specified level of performance when used under specified conditions conditions

UsabilityUsability -- capability of the software product to be capability of the software product to be understood, learned, used and attractive to the user, when understood, learned, used and attractive to the user, when used under specified conditions.used under specified conditions.

Page 5: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

5

3/18/2005© Fernando Brito e Abreu

9

ISO9126 Software ISO9126 Software Internal and External Quality ModelInternal and External Quality Model

EfficiencyEfficiency -- capability of the software product to provide capability of the software product to provide appropriate performance, relative to the amount of appropriate performance, relative to the amount of resources used, under stated conditions.resources used, under stated conditions.

MaintainabilityMaintainability -- capability of the software product to be capability of the software product to be modified. Modifications may include corrections, modified. Modifications may include corrections, improvements or adaptation of the software to changes in improvements or adaptation of the software to changes in environment, and in requirements and functional environment, and in requirements and functional specifications. specifications.

PortabilityPortability -- capability of the software product to be capability of the software product to be transferred from one environment to another.transferred from one environment to another.

3/18/2005© Fernando Brito e Abreu

10

ISO9126 Software ISO9126 Software Quality in Use ModelQuality in Use Model

quality inuse

effectiveness productivity safety satisfaction

Page 6: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

6

3/18/2005© Fernando Brito e Abreu

11

ISO9126 Software ISO9126 Software Quality in Use ModelQuality in Use Model

EffectivenessEffectiveness -- capability to enable users to achieve capability to enable users to achieve specified goals with accuracy and completeness in a specified goals with accuracy and completeness in a specified context of use.specified context of use.

ProductivityProductivity -- capability to enable users to expend capability to enable users to expend appropriate amounts of resources in relation to the appropriate amounts of resources in relation to the effectiveness achieved in a specified context of use.effectiveness achieved in a specified context of use.

SafetySafety -- capability capability to to achieveachieve acceptable acceptable levelslevels ofof riskrisk ofofharmharm to to peoplepeople, software, , software, equipmentequipment or or thethe environmentenvironmentin a specified context of usein a specified context of use..

SatisfactionSatisfaction -- capability to satisfy users in a specified capability to satisfy users in a specified context of use.context of use.

3/18/2005© Fernando Brito e Abreu

12

Other Quality ModelsOther Quality Models•• J.A. J.A. McCall,McCall, General ElectricGeneral Electric / / Rome Air Develop. Rome Air Develop.

CenterCenter (USAF) [McCall77; Cavano78; McCall94](USAF) [McCall77; Cavano78; McCall94]•• Barry Barry Boehm,Boehm, TRW, creator ofTRW, creator of COCOMO model COCOMO model

[Boehm78][Boehm78]•• Lowell Lowell ArthurArthur [Arthur85][Arthur85]•• Robert Robert Grady, Grady, HewlettHewlett--Packard,Packard, [Grady87][Grady87]•• Bertrand Bertrand Meyer,Meyer, Interactive Software EngineeringInteractive Software Engineering, ,

creator of Eiffel language [Meyer95; Meyer97]creator of Eiffel language [Meyer95; Meyer97]

•• Conclusion: More than 2 decades of software Conclusion: More than 2 decades of software quality models proposals! More to come ...quality models proposals! More to come ...

Page 7: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

7

3/18/2005© Fernando Brito e Abreu

13

Representation of Product QualityRepresentation of Product Quality

We can obtain a suggestive perception of the quality We can obtain a suggestive perception of the quality characteristics set by using a characteristics set by using a KiviatKiviat diagram :diagram :

Functionality

Reliablity

UsabilityMaintainability

Efficiency

Portability

Good

Excelent

Weak

Reasonable

3/18/2005© Fernando Brito e Abreu

14Relative importance of product quality Relative importance of product quality characteristicscharacteristics

•• Software controlling Software controlling critical systems:critical systems:–– Nuclear power plantNuclear power plant

–– PacePace--makermaker

–– AirAir--traffic controltraffic control

–– Railway switchingRailway switching

Functionality

Reliability

UsabilityMaintainability

Efficiency

Portability

Good

Excelent

Weak

Reasonable

Page 8: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

8

3/18/2005© Fernando Brito e Abreu

15Relative importance of product quality Relative importance of product quality characteristicscharacteristics

•• Software controlling realSoftware controlling real--time systems:time systems:–– Telecom switchingTelecom switching

–– CommunicCommunic. protocols. protocols

–– Operating systemsOperating systems

–– DBMSDBMS

Functionality

Reliability

UsabilityMaintainability

Efficiency

Portability

Good

Excelent

WeakReasonable

3/18/2005© Fernando Brito e Abreu

16Relative importance of product quality Relative importance of product quality characteristicscharacteristics

•• FrontFront--office systems:office systems:–– Word processorWord processor

–– Accounts currentAccounts current

–– Tourist informationTourist information

–– Entertainment packageEntertainment package

Functionality

Reliability

UsabilityMaintainability

Efficiency

Portability

Good

Excelent

WeakReasonable

Page 9: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

9

3/18/2005© Fernando Brito e Abreu

17Relative importance of product quality Relative importance of product quality characteristicscharacteristics

•• Long lifecycle system:Long lifecycle system:–– Banking systemBanking system

–– Air reservation systemAir reservation system

–– Assurances systemAssurances system

•• Project manager must consider a weighted blend!Project manager must consider a weighted blend!

Functionality

Reliability

UsabilityMaintainability

Efficiency

Portability

Good

Excelent

Weak

Reasonable

3/18/2005© Fernando Brito e Abreu

18

Interdependent CharacteristicsInterdependent Characteristics

Functionality Reliability Usability Efficiency Maintainability Portability

Functionality ↑↓ ↓

Reliability

Usability

Efficiency ↓ ↓

Maintainability ↑

Portability ↓

Page 10: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

10

3/18/2005© Fernando Brito e Abreu

19Evaluation of Product Quality according Evaluation of Product Quality according to Standard ISO14598to Standard ISO14598

2. Planning andManagement

6. Documentationof Evaluation

Modules

3. Process forProducers

4. Process forPurchasers

5. Process forEvaluators

EvaluationSupport

Evaluation Process

Legend – Relation among the parts relative to the evaluation processand those of evaluation support

3/18/2005© Fernando Brito e Abreu

20

Establishevaluation

requirements

Specify theevaluation

Design theevaluation

Execute theevaluation

Establish the evaluation scope

Establish evaluation criteria

Produce the evaluation plan

Establish metric levels

Specify the quality model

Identify the product types

Metrics selection

Evaluate results

Comparation with criteria

Measure the characteristics

9126-1 Quality Characteristics

9126-2 External quality metrics9126-3 Internal quality metrics14598-6 Evaluation modules

EvaluationEvaluation of Product of Product Quality according to Quality according to ISO14598 standardISO14598 standard

Page 11: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

11

3/18/2005© Fernando Brito e Abreu

21Evaluation of Product Quality according Evaluation of Product Quality according to Standard ISO14598to Standard ISO14598

•• MetaMeta--guide (guide (““templatetemplate””) for the construction of a ) for the construction of a Plan of Quantitative EvaluationPlan of Quantitative Evaluation

Chapter1. Introduction2. Evaluation Objectives3. Applicable quality characteristics4. List of priorities5. Quality objectives6. Schedule7. Definition of responsibilities8. Categories of measurement9. Data analysis

10. Results disclosure11. Other requirements

3/18/2005© Fernando Brito e Abreu

22RelationshipRelationship betweenbetween ISO/IEC 9126 ISO/IEC 9126 and 14598 standardsand 14598 standards

14598-314598-4

14598-5

9126-1

14598-1

9126-2 9126-49126-3

Resourcesand

environment

Evaluation process

Effect of the software product

Software product

Evaluation support

14598-2

14598-6

Evaluation process

Internalmetrics

Externalmetrics

Quality inuse metrics

Page 12: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

12

3/18/2005© Fernando Brito e Abreu

23

PROCESS QUALITYPROCESS QUALITY

•• OutsideOutside--in approach to Software in approach to Software Quality (revisited...) :Quality (revisited...) :–– Organization of the software process Organization of the software process

is a necessary, but not sufficient, is a necessary, but not sufficient, condition for product quality!condition for product quality!

–– Process quality has a big influence on Process quality has a big influence on product quality ...product quality ...

3/18/2005© Fernando Brito e Abreu

24

PROCESS QUALITYPROCESS QUALITY•• Development process quality depends on the adoption of Development process quality depends on the adoption of

a set of systematized activities a set of systematized activities -- the the QualityQualityManagement System Management System (QMS)(QMS)

•• The QMS must:The QMS must:–– be perfectly defined and documented be perfectly defined and documented -- QualityQuality ManualManual..

–– clearly identify the management commitmentclearly identify the management commitment

–– include a definition of strategies to developinclude a definition of strategies to develop

–– detailing the steps to fulfildetailing the steps to fulfil

•• Commitment Commitment vsvs Involvement (bacon with eggs)!Involvement (bacon with eggs)!

Page 13: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

13

3/18/2005© Fernando Brito e Abreu

25

What must be in a Quality Manual?What must be in a Quality Manual?

•• Any Software Quality Manual must include, at Any Software Quality Manual must include, at least, the following themes:least, the following themes:–– Definition of Definition of development lifedevelopment life--cyclecycle and documents to and documents to

produce in each phaseproduce in each phase

–– Organizational structure of projectsOrganizational structure of projects

–– Tasks distribution (responsibility assignment)Tasks distribution (responsibility assignment)

–– Execution schedules and resource managementExecution schedules and resource management

–– Configuration managementConfiguration management

–– Risks identification and contingency plans Risks identification and contingency plans

–– Mechanisms of Mechanisms of verification and validation (V&V)verification and validation (V&V)

3/18/2005© Fernando Brito e Abreu

26

What is Verification and Validation (V&V) ?What is Verification and Validation (V&V) ?

•• VerificationVerification -- ""Do the Job Right"Do the Job Right"–– evaluation of correction and consistency of a product, evaluation of correction and consistency of a product,

in a given phase, face to the products and standards in a given phase, face to the products and standards that are an input to that phase.that are an input to that phase.

•• ValidationValidation -- ""Do the Right Job"Do the Right Job"–– evaluation of conformity of a given product with the evaluation of conformity of a given product with the

requirements specified for it.requirements specified for it.

•• Two basic techniques of V&V:Two basic techniques of V&V:–– ReviewsReviews

–– TestsTests

Page 14: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

14

3/18/2005© Fernando Brito e Abreu

27

What is Configuration Management?What is Configuration Management?

•• Set of mechanisms and activities to identify and Set of mechanisms and activities to identify and organize the software components as well as the organize the software components as well as the development environment. development environment.

•• These components can be:These components can be:–– requirements specification documents, requirements specification documents,

–– source code modulessource code modules

–– test batteriestest batteries

–– user or installation manuals user or installation manuals

–– executable programsexecutable programs

–– ......

3/18/2005© Fernando Brito e Abreu

28

What is What is Config.ManagementConfig.Management?? (continued)(continued)

•• The main mechanisms are:The main mechanisms are:–– IdentificationIdentification Mechanisms Mechanisms -- explicit naming explicit naming

convention (may be automated) for:convention (may be automated) for:•• componentscomponents

•• product versionsproduct versions

•• components versionscomponents versions

–– VersionsVersions Control Control -- mechanism that turns the mechanism that turns the modification of components (creation of new versions) modification of components (creation of new versions) a controlled activitya controlled activity

Page 15: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

15

3/18/2005© Fernando Brito e Abreu

29

What is a SW LifeWhat is a SW Life--cycle Model?cycle Model?•• It is a model of the generic activities associated with a given It is a model of the generic activities associated with a given

software product throughout its lifetimesoftware product throughout its lifetime

•• It usually includes the definition of deliverables such as:It usually includes the definition of deliverables such as:–– requirements specificationrequirements specification

–– design modeldesign model

–– source code modulesource code module

–– test batterytest battery

–– user manualuser manual

–– executable programexecutable program

–– installation guidelinesinstallation guidelines

–– ......

3/18/2005© Fernando Brito e Abreu

30

SW LifeSW Life--cycle: Waterfall Modelcycle: Waterfall Model

Requirements

Analysis

Design

Implementation

Test

Maintenance

Page 16: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

16

3/18/2005© Fernando Brito e Abreu

31

SW LifeSW Life--cycle: V Modelcycle: V Model

[Schultz89] [Schultz89] ArnoArno Schultz, Schultz, ““SoftwareSoftware--Lifecycle und Lifecycle und VorgehensmodelleVorgehensmodelle””, , AngewandteAngewandte InformatikInformatik, n.4, 1989., n.4, 1989.

Requirements

Analysis

Design

Implementation

Release

Acceptance

Integration

3/18/2005© Fernando Brito e Abreu

32

SW LifeSW Life--cycle: W Modelcycle: W Model

Requirements

Analysis

Design

Implementation

Release

Acceptance

Integration

AnalysisReview

DesignReview

CodeReview

System Testing

AcceptanceTesting

Integration Testing

RequirementsReview

Page 17: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

17

3/18/2005© Fernando Brito e Abreu

33

Example 4: Spiral ModelExample 4: Spiral Model

[Boehm88] Barry W. Boehm, [Boehm88] Barry W. Boehm, ““A Spiral Model of A Spiral Model of Software Development and EnhancementSoftware Development and Enhancement””, IEEE , IEEE Computer, 21(5), May 1988.Computer, 21(5), May 1988.

Determine Objectives, Alternatives and

Constraints

Evaluate Alternatives:Identify andReduce Risk

Plan NextPhases

Develop and VerifyNext-Level Product

3/18/2005© Fernando Brito e Abreu

34

Example 5: The RUP ModelExample 5: The RUP Model

Page 18: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

18

3/18/2005© Fernando Brito e Abreu

35A Q.M.S. Framework: A Q.M.S. Framework: the ISO 9000the ISO 9000--3 Standard3 Standard

•• "Guidelines for the Application of ISO 9001 to the "Guidelines for the Application of ISO 9001 to the Development, Supply and Maintenance of Development, Supply and Maintenance of Software":Software":–– ScopeScope

–– Related standardsRelated standards

–– Quality System Quality System -- FrameworkFramework•• Management responsibilitiesManagement responsibilities

•• Quality SystemQuality System

•• Internal Audits to the Quality SystemInternal Audits to the Quality System

•• Corrective actionsCorrective actions

3/18/2005© Fernando Brito e Abreu

36

ISO 9000ISO 9000--3 Standard (continued)3 Standard (continued)•• "Guidelines for the Application of ISO 9001 to the "Guidelines for the Application of ISO 9001 to the

Development, Supply and Maintenance of Software":Development, Supply and Maintenance of Software":

–– Quality System Quality System --Activities of the lifeActivities of the life--cyclecycle•• Contractual revisionsContractual revisions

•• Purchaser requirements specificationPurchaser requirements specification

•• Development planingDevelopment planing

•• Quality planingQuality planing

•• Design and ImplementationDesign and Implementation

•• Test and ValidationTest and Validation

•• AcceptationAcceptation

•• MaintenanceMaintenance

Page 19: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

19

3/18/2005© Fernando Brito e Abreu

37

ISO 9000ISO 9000--3 Standard (continued)3 Standard (continued)•• "Guidelines for the Application of ISO 9001 to the "Guidelines for the Application of ISO 9001 to the

Development, Supply and Maintenance of Software":Development, Supply and Maintenance of Software":

–– Quality System Quality System --Support activitiesSupport activities•• Configuration ManagementConfiguration Management•• Documentation Control Documentation Control •• Quality Registers Quality Registers •• MeasurementMeasurement•• Rules, Practices and ConventionsRules, Practices and Conventions•• Tools and TechniquesTools and Techniques•• AcquisitionsAcquisitions•• Included Software Products (third party)Included Software Products (third party)•• TrainingTraining

3/18/2005© Fernando Brito e Abreu

38

1st Example of a Quality Meta1st Example of a Quality Meta--ManualManual

"MSQH"MSQH--Modeling a SW Quality Handbook"Modeling a SW Quality Handbook"

•• Work funded by the Nordic Fund for Technologic and Work funded by the Nordic Fund for Technologic and Industrial Development Industrial Development

•• Developed by the InterDeveloped by the Inter--Nordic Normalization Group in Nordic Normalization Group in Information Technologies:Information Technologies:–– Icelandic Council for Normalization (STRIcelandic Council for Normalization (STRÍÍ) ) -- IcelandIceland

–– DanskDansk StandardiseringsradStandardiseringsrad (DS) (DS) -- DenmarkDenmark

–– Finnish Standards Organization (SFS) Finnish Standards Organization (SFS) -- FinlandFinland

–– NorskNorsk VerkstadindustriVerkstadindustri StandardiseringStandardisering (NVS) (NVS) -- NorwayNorway

–– InformationsteknologiskInformationsteknologisk StandardiseringStandardisering (SIS(SIS--ITS) ITS) -- SwedenSweden

Page 20: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

20

3/18/2005© Fernando Brito e Abreu

39

MSQH (continued)MSQH (continued)•• ObjectiveObjective: help : help small to medium sized softwaresmall to medium sized software--

houseshouses to introduce (or reorganize) a Quality to introduce (or reorganize) a Quality Management SystemManagement System

•• Based in standards ISO9001 and ISO 9000Based in standards ISO9001 and ISO 9000--3, ISO9004 3, ISO9004 (services), ISO9126 and ISO10011 (auditing).(services), ISO9126 and ISO10011 (auditing).

•• Includes cross references to paragraphs of ISO9000Includes cross references to paragraphs of ISO9000--3 and 3 and ISO9001.ISO9001.

•• Stresses that the introduction of a Quality System is only Stresses that the introduction of a Quality System is only possible with management commitment.possible with management commitment.

3/18/2005© Fernando Brito e Abreu

40

MSQH (continued)MSQH (continued)•• For each of the activities of the lifeFor each of the activities of the life--cycle it describes: cycle it describes:

–– tasks involvedtasks involved

–– objectivesobjectives

–– responsibilitiesresponsibilities

–– documents to produce.documents to produce.

•• The MSQH includes a set of recommendations, that must The MSQH includes a set of recommendations, that must be tailored for each company in particular.be tailored for each company in particular.

•• Is written in Is written in englishenglish and can be obtained through:and can be obtained through:

–– Icelandic Council for Standardization (STRIcelandic Council for Standardization (STRÍÍ))

–– IontIontææknistofnunknistofnun ÍÍslandsslands, , KeldnaholtiKeldnaholti, IS, IS--112 Reykjav112 Reykjavíík, Icelandk, Iceland

–– TelefaxTelefax: +354: +354--11--687409687409

Page 21: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

21

3/18/2005© Fernando Brito e Abreu

41

MSQH (continued)MSQH (continued)

–– Basic activitiesBasic activities ::

•• ContractContract

•• Requirements Requirements specificationspecification

•• Plan of development and Plan of development and of qualityof quality

•• DesignDesign

•• ImplementationImplementation

•• Test and validationTest and validation

•• Acceptation planAcceptation plan

•• MaintenanceMaintenance

•• ServicesServices

–– Complementary support Complementary support activitiesactivities ::

•• Configuration Configuration managementmanagement

•• Control of Control of documentationdocumentation

•• Quality registersQuality registers

•• Measurement of Measurement of software qualitysoftware quality

•• Evaluation and Evaluation and incorporation of third incorporation of third party software party software

•• TrainingTraining

The required activities of the lifeThe required activities of the life--cycle are:cycle are:

3/18/2005© Fernando Brito e Abreu

42

2nd Example of a Quality Meta2nd Example of a Quality Meta--ManualManual

""RecomendacionesRecomendaciones parapara la la PreparaciPreparacióónn de de Planes de Planes de CalidadCalidad del Software del Software parapara laslasIndustriasIndustrias de de DefesaDefesa""

http://http://www.aec.eswww.aec.es

Page 22: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

22

3/18/2005© Fernando Brito e Abreu

43"... "... PreparaciPreparacióónn de Planes de de Planes de CalidadCalidad del del Software...Software...”” (continued)(continued)•• Based in standards:Based in standards:

–– AQAP 150, "Requirements for Quality Management of Software AQAP 150, "Requirements for Quality Management of Software Development", Allied Quality Assurance Publication, May 1990Development", Allied Quality Assurance Publication, May 1990

–– PECALPECAL--13, "13, "ExigenciasExigencias parapara un un SistemaSistema de Control Total de la de Control Total de la CalidadCalidaddel Software", del Software", PublicacionesPublicaciones EspaEspaññolasolas de de CalidadCalidad

•• Objective: help companies that develop military Objective: help companies that develop military software to prepare Quality Plans:software to prepare Quality Plans:–– to achieve contractual compromises (PECALto achieve contractual compromises (PECAL--13)13)

–– to improve the quality of their processes de development and to improve the quality of their processes de development and final productsfinal products

–– make the work of the quality assurance responsible easier, make the work of the quality assurance responsible easier, through the systematic control of the required activitiesthrough the systematic control of the required activities

3/18/2005© Fernando Brito e Abreu

44"... "... PreparaciPreparacióónn de Planes de de Planes de CalidadCalidad del del Software...Software...”” (continued)(continued)Distinct Quality Plan / Manual for each project to develop. Distinct Quality Plan / Manual for each project to develop. The proposed structure is the following:The proposed structure is the following:

–– IntroductionIntroduction•• ObjectiveObjective

•• ScopeScope

•• Revision of the Quality PlanRevision of the Quality Plan

•• Applicable and reference documentationApplicable and reference documentation

•• Relation with other plansRelation with other plans

•• DefinitionsDefinitions

•• Identifiers and AbbreviatorsIdentifiers and Abbreviators

Page 23: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

23

3/18/2005© Fernando Brito e Abreu

45"... "... PreparaciPreparacióónn de Planes de de Planes de CalidadCalidad del del Software...Software...”” (continued)(continued)The proposed structure (continued) ...The proposed structure (continued) ...

–– Description of the projectDescription of the project•• Overview of the projectOverview of the project

•• ConstraintsConstraints

•• Products to deliverProducts to deliver

–– Development of the projectDevelopment of the project•• Organizational structure of the projectOrganizational structure of the project

•• Task distributionTask distribution

•• Schedule of executionSchedule of execution

•• Project resourcesProject resources

3/18/2005© Fernando Brito e Abreu

46"... "... PreparaciPreparacióónn de Planes de de Planes de CalidadCalidad del del Software...Software...”” (continued)(continued)The proposed structure (continued) ...The proposed structure (continued) ...

–– Control of subcontractingControl of subcontracting–– Risk managementRisk management–– Notifications of nonNotifications of non--conformities and corrective actions conformities and corrective actions –– Documentation of quality and support meansDocumentation of quality and support means

•• Methods, procedures, standards, techniquesMethods, procedures, standards, techniques•• Documentation of software developmentDocumentation of software development•• Library of software developmentLibrary of software development

–– Use, storage, reproduction, delivery and distribution of Use, storage, reproduction, delivery and distribution of softwaresoftware

–– Verification and validationVerification and validation–– Configuration managementConfiguration management

Page 24: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

24

3/18/2005© Fernando Brito e Abreu

47

QUALITY COSTS AND BENEFITS QUALITY COSTS AND BENEFITS •• Draw cost & benefit Draw cost & benefit

curves over time ...curves over time ...

3/18/2005© Fernando Brito e Abreu

48Quality Costs and Benefits:Quality Costs and Benefits:

Quality C

osts

X-Axis

Qua

lity

Ben

efits

Time

QMS benefits tend tostabilize after the full QMS

system is operational

Costs increase very fast in theinitial phases of the QMSimplementation (e.g. Staff

training, external consultants,tools selection and acquisition,

...).

The quality costs do not dropdown to 0. Instead they will be

approximatelly constant since theQMS has its costs to be kept

continuously in place (manpoweroverhead, tools maintenance, ...)

Benefits grow slowly since theQMS is being put in place

incrementally

Page 25: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

25

SOFTWARE QUALITY SOFTWARE QUALITY ORGANIZATIONSORGANIZATIONS

3/18/2005© Fernando Brito e Abreu

50

•• CriaCriaççãoão: 1993: 1993•• MissãoMissão: Promover e dinamizar a Qualidade no planeamento, : Promover e dinamizar a Qualidade no planeamento,

desenvolvimento e exploradesenvolvimento e exploraçção das ão das TICsTICs, designadamente ao , designadamente ao nníível dos processos, sistemas, produtos e servivel dos processos, sistemas, produtos e serviççosos

•• DirecDirecççãoão: um Presidente e dois Vice: um Presidente e dois Vice--PresidentesPresidentes•• MembrosMembros: mais de 30 organiza: mais de 30 organizaçções (ões (softwaresoftware--houseshouses, ,

operadores, consultoras, banca, servioperadores, consultoras, banca, serviçços, associaos, associaçções de ões de empresas, universidades, empresas, universidades, etcetc))

•• ReuniõesReuniões: mensais, no IPQ (Monte da Caparica): mensais, no IPQ (Monte da Caparica)•• RealizaRealizaççõesões: QUATIC: QUATIC’’94 e QUATIC94 e QUATIC’’95 (95 (LxLx), QUATIC), QUATIC’’98 98

(Guimarães), QUATIC(Guimarães), QUATIC’’2001 (2001 (LxLx), QUATIC), QUATIC’’2004 (Porto)2004 (Porto)

Page 26: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

26

3/18/2005© Fernando Brito e Abreu

51

SOFTWARE ENGINEERING INSTITUTESOFTWARE ENGINEERING INSTITUTE

•• Sponsored by the Department of Defense (Sponsored by the Department of Defense (DoDDoD))

•• Installed inside the Installed inside the CarnegieCarnegie--MellonMellon UniversityUniversity

•• Mission: promote the adoption of Mission: promote the adoption of ””good" Software good" Software Engineering techniques through:Engineering techniques through:–– production of pedagogic materials (books, manuals, production of pedagogic materials (books, manuals,

papers, technical reports, films)papers, technical reports, films)–– training, consulting and certification activitiestraining, consulting and certification activities–– promotion of events (conferences, workshops, ...)promotion of events (conferences, workshops, ...)

•• More information: More information: http://http://www.sei.cmu.eduwww.sei.cmu.edu

3/18/2005© Fernando Brito e Abreu

52

EUROPEAN SOFTWARE INSTITUTEEUROPEAN SOFTWARE INSTITUTE•• Financed by the E.C.Financed by the E.C.

•• Located in Located in BilbaoBilbao, Spain, Spain

•• Mission: promotion of best practices in Software Engineering (Mission: promotion of best practices in Software Engineering (europeaneuropeancounterpart to the S.E.I.)counterpart to the S.E.I.)

•• Founding members (around 20): Founding members (around 20): MatraMatra (France), Olivetti SPA (Italy), (France), Olivetti SPA (Italy), ESA, ...ESA, ...

•• Partner in several initiatives :Partner in several initiatives :–– SPICE (ISO SC7/WG10) SPICE (ISO SC7/WG10) -- ISO/IEC 15504ISO/IEC 15504–– ESSI (European Software Systems Initiative) ESSI (European Software Systems Initiative) –– ESPRIT (European Strategic Program of Research on Information ESPRIT (European Strategic Program of Research on Information

Technologies).Technologies).

•• Offers access (to its members) to training courses, technical Offers access (to its members) to training courses, technical publications, etc.publications, etc.

•• More information: More information: http://http://www.esi.eswww.esi.es

Page 27: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

27

QUALITY STANDARDSQUALITY STANDARDS

3/18/2005© Fernando Brito e Abreu

54

ISO 9000 SERIES OF STANDARDS ISO 9000 SERIES OF STANDARDS ISO 9000ISO 9000 : "Quality Management and Quality Assurance Standards": "Quality Management and Quality Assurance Standards"

Part 1: Guidelines for selection and usePart 1: Guidelines for selection and usePart 2: Guidelines for the application of ISO 9001, 9002 and 900Part 2: Guidelines for the application of ISO 9001, 9002 and 90033Part 3: Guidelines for the application of ISO 9001 to the develoPart 3: Guidelines for the application of ISO 9001 to the development, supply and pment, supply and

maintenance of softwaremaintenance of software

ISO 9001ISO 9001 -- "Quality Systems "Quality Systems -- Model for Quality Assurance in Design / Development, Model for Quality Assurance in Design / Development, Production, Installation and Servicing"Production, Installation and Servicing"

ISO 9002ISO 9002 -- "Quality Systems "Quality Systems -- Model for Quality Assurance in Production and Model for Quality Assurance in Production and Installation"Installation"

ISO 9003ISO 9003 -- "Quality Systems "Quality Systems -- Model for Quality Assurance in Control and Final Tests"Model for Quality Assurance in Control and Final Tests"

ISO 9004ISO 9004 -- "Quality Management and Quality System Elements "Quality Management and Quality System Elements -- Guidelines"Guidelines"Part 2 : "Guidelines for Services"Part 2 : "Guidelines for Services"Part 6 : "Configuration ManagementPart 6 : "Configuration Management””

ISO9126ISO9126 : : ““Software Product Evaluation Software Product Evaluation -- Quality Characteristics and Guidelines for Quality Characteristics and Guidelines for Their UseTheir Use””

Part 1: "Quality Characteristics and SubPart 1: "Quality Characteristics and Sub--characteristics"characteristics"

Part 2: "External Metrics"Part 2: "External Metrics"

Part 3: "Internal Metrics"Part 3: "Internal Metrics"

Page 28: PROCESS AND PRODUCT QUALITY - Moodle @ FCTUNLmoodle.fct.unl.pt/pluginfile.php/16329/mod_resource/content/0/... · Relative importance of product quality Relative importance of product

28

3/18/2005© Fernando Brito e Abreu

55

OTHER RELEVANT STANDARDSOTHER RELEVANT STANDARDSANSI/IEEE Std 730 : "Standard for Software Quality Assurance PlaANSI/IEEE Std 730 : "Standard for Software Quality Assurance Plans"ns"

ANSI/IEEE Std 983 : "Guide for Software Quality Assurance PlanniANSI/IEEE Std 983 : "Guide for Software Quality Assurance Planning"ng"

ISO 8402 : "Quality ISO 8402 : "Quality -- VocabularyVocabulary””

ISO 10006 : ISO 10006 : ““Guidelines to Quality in Project ManagementGuidelines to Quality in Project Management””

ISO14598 : ISO14598 : ““Software Product EvaluationSoftware Product Evaluation””Part 1 Part 1 -- "General Overview / General Guide"General Overview / General Guide””Part 2 Part 2 -- "Planning and Management / Manager's Guide"Planning and Management / Manager's Guide””Part 3 Part 3 -- "Process for Developers / Developer's (and Maintainers) Guide"Process for Developers / Developer's (and Maintainers) Guide””

Part 4 Part 4 -- "Process for Acquirers / Buyer's Guide"Process for Acquirers / Buyer's Guide””Part 5 Part 5 -- "Process for Evaluators / Evaluator's Guide"Process for Evaluators / Evaluator's Guide””Part 6 Part 6 -- "Evaluation Modules""Evaluation Modules"

DoDDoD Mil Std 2168 : "Software Quality Program"Mil Std 2168 : "Software Quality Program"

NATO AQAP 13 : "Software Quality Control System Requirements"NATO AQAP 13 : "Software Quality Control System Requirements"

NATO AQAP 150 : "Requirements for Quality Management of SoftwareNATO AQAP 150 : "Requirements for Quality Management of Software Development"Development"