PROCESS AND PRODUCT QUALITY - Moodle @...
Transcript of PROCESS AND PRODUCT QUALITY - Moodle @...
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
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
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:
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.
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
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 ...
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
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
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 ↓
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
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
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)!
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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"
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"