System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture...

26
Software Quality Management System Alicia Marinache Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure components Management SQA components SQA Standardization components Human components Considerations constructing SQA systems Documentation control Summary Software Quality Management System SE 3S03 - Tutorial 1 Alicia Marinache Department of Computer Science McMaster University Week of Jan 12, 2015 Acknowledgments: The material of these slides is based on [1] (chapters 4 & 19)

Transcript of System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture...

Page 1: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Software Quality Management SystemSE 3S03 - Tutorial 1

Alicia Marinache

Department of Computer ScienceMcMaster University

Week of Jan 12, 2015

Acknowledgments: The material of these slides is based on [1]

(chapters 4 & 19)

Page 2: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Outline

Introduction

SQA system architecturePre-project quality componentsSoftware project life cycle componentsInfrastructure componentsManagement SQA componentsSQA Standardization componentsHuman components

Considerations constructing SQA systems

Documentation control

Page 3: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Why SQA?

Page 4: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Introduction

I Testing vs QA

I Software Tester role:

find bugs and ensure they get fixed

I Software QA role: prevent bugs

I Uniqueness of Software QA vs Manufacturing

I Product complexity

I Product (in) visibility

I Product development and production process

Page 5: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Introduction

I Testing vs QA

I Software Tester role: find bugs and ensure they get fixed

I Software QA role:

prevent bugs

I Uniqueness of Software QA vs Manufacturing

I Product complexity

I Product (in) visibility

I Product development and production process

Page 6: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Introduction

I Testing vs QA

I Software Tester role: find bugs and ensure they get fixed

I Software QA role: prevent bugs

I Uniqueness of Software QA vs Manufacturing

I Product complexity

I Product (in) visibility

I Product development and production process

Page 7: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Introduction (cont-ed)

I Main characteristics of SQA environment

1. Contractual conditions: requirements, budget, schedule2. Customer-supplier relationship: request for changes,

approval etc.3. Required teamwork: schedule, variety of expertise,

support and review4. Cooperation and coordination with other teams:

software or hardware teams in same organization,supplier teams, customer teams

5. Interfaces with other software systems: input / outputinterfaces to the system or the machine’s control board

6. Carrying out a project while the team changes: theshow must go on

7. Maintaining the software system for years

Page 8: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

SQA system architecture

I Pre-project components: project commitments,development and quality plans

I Software life-cycle components: reviews, expertopinions, testing & maintenance

I Quality Infrastructure components: eliminate / reducethe rate of errors

I Quality Management components: development andmaintenance activities, managerial support

I Standards and certification components: internationalprofessional knowledge, achievements of QA

I Human components: initiate and support, detectdeviations

Page 9: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

SQA system architecture

Figure: SQA Architecture

Page 10: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Pre-project components

I Contract review

I Customer requirements

I Project schedule and resource estimates

I Staff’s capacity to carry out the project

I Customer’s capacity to fulfill obligations

I Development risks

Page 11: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Pre-project components

I Development planI SchedulesI Required resourcesI Development RisksI Organizational issuesI Project methodologyI Software reuse

I Quality planI Quality GoalsI Criteria for each stage start / endI List of reviews, tests etc.

Page 12: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Software project life cycle components

I ReviewsI Formal design reviews: mandatory; approval to proceed

to next phaseI Peer reviews: voluntarily; detecting design and

programming faults

I Expert opinions: external professionals

I Software testing: test cases, regression tests

I Software maintenance: corrective, adaptive,functionality improvement

I QA of external-supplied parts: effective controls overexternal work

Page 13: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Infrastructure components

I Procedures and work instructions: define performance ofdevelopment activities; how to perform a process, a task

I Templates and checklists: define documents’ structure,ensure completeness, improve communication

I Staff training, instruction & certification: newemployees, existing employees, updating staff

Page 14: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Infrastructure components

I Preventive and corrective actions: prevent and correctsimilar failures, repeat successes

I Configuration management: control the change processfor corrections, adaptations, improvements

I Documentation control: define document types, format,review and approval processes, archive methods

Page 15: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Management SQA components

I Project progress control: detect situations that mayinduce deviations from plans

I Resource usageI SchedulesI Risk managementI The budget

I Software quality metrics: measure functional quality,productivity, organizational aspects

I Quality of software development and maintenanceI Development teams’ productivityI Maintenance teams’ productivityI Software fault densityI Schedule deviations

Page 16: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Management SQA components

I Software quality costs: analysis of costs shows areaswhere improvements can be made

I Costs of controlI Prevention costs

I Appraisal costs

I Managerial preparation and control costs

I Costs of failureI Internal failure costs

I External failure costs

I Managerial failure costs

Page 17: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

SQA standards, system certification, andassessment components

I Objectives:I Use of international professional knowledgeI Improvement of coordination with other organizations

quality systems.I Objective evaluations and measurement of achievements

I Quality management standards: focus on what isrequired

I SEI CMM assessment standardI ISO 9001 and ISO 9000-3 standards

I Project process standards: focus on how therequirements are achieved

I IEEE 1012 standardI ISO/IEC 12207 standard

Page 18: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

SQA Standards - the ISO 9000 process

Page 19: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Organizing for SQA the human components

I ManagementI Definition of policyI Follow-up of policy implementationI Resource allocationI Follow-up of compliance of procedures

I SQA UnitI Preparation of QA programsI Consultation with expert on QA issuesI Conduct of QA AuditsI Support of QA Infrastructure components

I SQA trustees, committees and forumsI Solving team QA problemsI Detecting deviations from proceduresI Initiating improvements in SQA components

Page 20: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Considerations guiding construction of anorganization’s SQA system

I Organizational considerationsI Type of software development clienteleI Range of software productsI Size of the organizationI Degree of cooperation with other organizations

I Project and maintenance service considerationsI Level of complexity and difficultyI Degrees of experience with the project technologyI Extent of software reuse in the new projects

I Professional staff considerationsI Professional qualificationsI Level of acquaintance with team members

Page 21: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Documentation control

I Controlled documents & quality records

Controlled DocumentA document that is currently vital or may become vital for thedevelopment and maintenance of software systems as well as for themanagement of current and future relationships with the customer.

Quality RecordA customer-targeted document that may be required to demonstratefull compliance with customer requirements and effective operation ofthe software quality assurance system throughout the development andmaintenance processes.

Page 22: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Documentation control

I Controlled document preparationI Structure: free or template

I Identification method: (unique) software code ornumber, document type code, version & revisionnumber

I Standard orientation and reference information: author,date, who approved it, date of approval, descriptions ofchanges, list of versions etc.

I Controlled document approvalI Position of person(s) who can approve a document

I The approval process

Page 23: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Documentation control

I Controlled document storage

I Applies to paper, email, intranet, Internet documents

I Document storage: number of copies, unit responsible,medium

I Circulation and retrieval: instructions for circulating newdocuments, efficient and accurate retrieval of copies

I Document security: restricted access, preventunauthorized changes, back-up, storage period

Page 24: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Controlled documents

Page 25: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Introduction

SQA systemarchitecture

Pre-project qualitycomponents

Software project lifecycle components

Infrastructurecomponents

Management SQAcomponents

SQA Standardizationcomponents

Human components

Considerationsconstructing SQAsystems

Documentationcontrol

Summary

Summary

I SQA systems combine a large variety of SQAcomponents, to challenge the sources of softwarefailures and achieve an acceptable level of softwarequality

I Controlled documents are managed to ensure theirquality, completeness, availability, to supportinvestigation of failure causes

Page 26: System Alicia Marinache Introduction Software Quality ... · Introduction SQA system architecture Pre-project quality components Software project life cycle components Infrastructure

Software QualityManagement

System

Alicia Marinache

Appendix

References

References I

D. Galin.Software Quality AssuranceFrom theory to implementation.Addison Wesley, 1998.

R. Patton.Software Testing.Sams Publishing, 2006.