24
Q A S SQA / V & V May 15, 2009

Sqa V And V Share

Embed Size (px)

DESCRIPTION

Introduction to Software Quality Assurance and Verification & Validation

Citation preview

Page 1: Sqa V And V Share

QQAASSSQA / V & V

May 15, 2009

Page 2: Sqa V And V Share

QQAASSQuestions you have…

• So what is SQA?

• What do I need to know about it?

• Why is it important to me?

• What is V & V and how does it fit with SQA?

• Who will be impacted by the intro of SQA/V&V?

• How will SQA / V&V effect the next release of SDLC, EPIP, ExPIP?

• What is being added to our capital/expense processes that I need to know about?

Page 3: Sqa V And V Share

QQAASSSimple definitions• Quality testing – process of planning and executing

tests to identify defects, failures, and incompatibilities • Quality control – measured degree of conformance to

functional requirements, standards (according to Good Software Engineering Practices – GSEP) e.g. inspections, audits, KPIs)

• Quality Assurance (aka. SQA) – activities planned (process) and conformance

established in (requirements, standards, budget) provide adequate confidence in software development for business solutions.

– it is the implementation of policies and procedures intended to prevent defects from occurring in the first place.

Page 4: Sqa V And V Share

QQAASSQuality Software

Portability

Product

transition

Reusability

Inte

rope

rabi

lity

Correctness

Pro

du

ct

op

erat

ion

Rel

iabi

lity

Eff

icie

ncy

Integrity

Usability

Product revisionMaintainability

Flexibility

Testability

Source: McCall’s factor model tree

Page 5: Sqa V And V Share

QQAASSWhat do I need to know about SQA?

• Brief history of Quality’s history

• The exponential cost of defects

• Everyone has the responsibility for quality

• Measuring quality will help us better manage quality

• Sound requirements are key…we build code and maintain code, when we build requirements, we should maintain requirements

Page 6: Sqa V And V Share

QQAASSHeritage of Software Quality Assurance

• Early 50’s software procured by Dept of Defense (DoD) – Behind schedule– Over budget– Had many technical problems– Software never worked as intended– Projects cancelled after before anything of value could

be delivered– Lacked visibility of software development projects

• From this evolved from base principles of Independent Verification & Validation (IV&V)

Page 7: Sqa V And V Share

QQAASSBirth of IV & V• For Atlas Missile Program

– “independent software tester” was established hired to perform unbiased software testing

– Role of “IV&V contractor” was born– During the 70’s, software development expanded and

companies experienced the same thing the DoD experienced

– Even into the 80’s many projects in development became “disasters”

– Usage today of IV&V contractors is quite comprehensive

– Additionally, from this “software crisis”, the emergence of Software Quality Assurance (SQA) was born

Page 8: Sqa V And V Share

QQAASSSQA, the Early Years• Initially, SQA struggled to show value

– In 1990’s software complexity increased significantly– Competitive business pressures existed– Professionals performing SQA functions lacked formal

training– Many learned SQA practices on-the-job– Learning institutions failed to recognize SQA as a

legitimate discipline

• SQA eventually matured and was recognized and now provides exponential value in today’s complex software development process environment

Page 9: Sqa V And V Share

QQAASSSo, What is SQA?• Pillars of SQA (Quality starts at the beginning)

– Product• Solid requirements

• Project Dev plans and Quality plans

• Configuration management plans

• Software quality metrics and KPIs

– Process• Formal design reviews

• Peer reviews, Inspections and Audits

• Comprehensive Software testing

• Quality training and participation

• Project, process, & quality standards and compliance

Page 10: Sqa V And V Share

QQAASSIEEE/ISO 9000 Definition of SQA

• Software Quality Assurance is: a systematic, planned set of actions necessary to provide adequate confidence that the software development process or the maintenance process of a software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operation within the budgetary confines.

Page 11: Sqa V And V Share

QQAASSWhy is SQA important to me?

• Provides a framework for each participant to be responsible for quality

• Enables empowerment as each participant engages in product delivery

• Shared accountability for meeting our customer expectations and delivering quality solutions.

Page 12: Sqa V And V Share

QQAASS

Software defects identified early in the development lifecycle, translates into a significant cost savings over the duration of the project

Exponential Cost of a Defect

0

2000

4000

6000

Definition Elaboration Implementation Transition Production

Phase

Co

st

Cost

Page 13: Sqa V And V Share

QQAASSNine major causesof software errors

• Faulty requirements definition• Business – IT communication failures• Deliberate deviations from software requirements• Logical design errors• Coding errors• Non-compliance with documentation and coding

instructions• Shortcomings of the testing process• User interface procedure errors• General documentation errors

Source: Software Quality Assurance by Daniel Galin

Page 14: Sqa V And V Share

QQAASSWhere will I see SQA and how will I recognize it?

Analysis• Requirements Development and Management• Change Impact Analysis• Requirements Walk-throughs & Peer Reviews

Design• Requirements Traceability and Repository• Design Document review• Design Walk-throughs & Peer Reviews• BRD & FSD Reconciliation• Functional Decomposition

Coding• Code Walk-throughs, Inspections and Audits• Peer Reviews• Software Configuration Mgmt Plan

Testing• Test Plan Walk-throughs • Causal Analysis• KPIs & Metrics• Separation of QA Testing and UAT testing

Page 15: Sqa V And V Share

QQAASS

It must be understood that quality cannot be the assigned function of any one person or organization; rather, it must be the primary responsibility of every person involved in the development of the product.

Page 16: Sqa V And V Share

QQAASSWhat is V & V and how does it fit with SQA?

• Verification ensures that “you built it right.”

• Validation ensures that “you build what the customer asked for.”

• V & V laid the foundation for SQA

Page 17: Sqa V And V Share

QQAASSBRD’s

FSD’s

DDD’sReviews

Walk-throughsAudits

Integration& SmokeTesting

Functional& Regression

Testing

UAT & BetaTesting

Verification &Validation Model

Page 18: Sqa V And V Share

QQAASSV & V Practices

• Design Reviews – participants are project leads and business sponsors and are charged with formally ensuring the design documents are reviewed and approved before the project development begins

• Peer Reviews: Walk-throughs – informal review of designs and constructed code which includes an overview of the objective and developed artifacts

• Peer Reviews: Inspections – formal review of designs and constructed code with an objective focused on corrective action – contribute more significantly to overall SQA

• Software Audits – evaluation of conformance of software products to standards, guidelines, plans and procedures

• Traceability – mapping of requirements, specifications, and tests to ensure complete coverage

Page 19: Sqa V And V Share

QQAASSMetrics & KPIs• In-process QA Metrics

– M1: Test Execution Progress– M2: Test Execution by Functional Areas– M3: Open Defects in Release by Status– M4: Test Design Coverage by Modules– M5: Code Stability by Builds

• Testing Effectiveness Metrics– M6: Defect Leakage– M7: Defect Removal Efficiency (DRE)– M8: DRE Trend by Releases

• Production Stability Metrics– M9: Production Defects by Severity– M10: Trend of Production Defects (weekly, monthly)

Page 20: Sqa V And V Share

QQAASSSample SQA Dashboard

views

92%

1%7%

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

QA BETA PROD

7%

93%

Prod

QA

Defect Removal Efficiency - M7

Defect Leakage – M6 Code Stability by Release

0102030405060

Release

Def

ects

Defects addressedin Release Notes

Defects foundin Release

M5

Page 21: Sqa V And V Share

QQAASSBenefits of SQA

• SQA activities provide independent and objective assessments of the processes and quality of the product with time to react.

• The further along a project is within the development lifecycle; the more costly it becomes to resolve defects.

• Requirements management greatly enhances processes, which provide a clear goal of complete and testable requirement specifications.

• Design and code inspections, as well as post mortems, assist in improving process performance and better efficiencies for future projects.

Page 22: Sqa V And V Share

QQAASSCritical Success factors of SQA

• Senior Management support of SQA initiative and process enhancements

• Establish teams’ commitments to follow and comply with SQA process

• Monitor and analyze the SQA process adoption (KPIs, PPQA)

Page 23: Sqa V And V Share

QQAASSQuotes

• “To change the quality of your software, you need to change the process used to create it” – Watts Humphrey

• “We can’t manage what you can’t measure” – W. Edwards Deming

Page 24: Sqa V And V Share

QQAASSIn summary • This presentation was to introduce you to

Software Quality Assurance

• We defined the differences between verification and validation (V & V)

• Highlighted benefits and critical success factors for SQA

• Thank you

• Questions ?