1
The Software
Quality
Challenge
Software Quality Assurance:
From Theory to Implementation
Daniel Galin
Software Quality Assurance: From Theory to Implementation Daniel 1
Galin
Chapter Outline
• The uniqueness of Software Quality
Assurance
• The environments for which SQA
methods are developed
Software Quality Assurance: From Theory to Implementation 2
Daniel Galin
Chapter Objectives
• Identify the unique characteristics of
software
• Recognize the characteristics of the
environment where professional
software development and maintenance
take place.
• Explain the main environmental
difficulties faced by software
development and maintenance teams
Software Quality Assurance: From Theory to Implementation 3
Daniel Galin
Case study
The opening of the new Denver International Airport
(DIA) in February 1995 was a day of celebration for
Colorado citizens but it was certainly the end of a
traumatic period for the information technology industry.
DIA was planned to be the largest airport in the United
States, to serve 110 million passengers annually by 2020,
to handle 1750 flights daily through 200 gates and 12
operating runways.
Software Quality Assurance: From Theory to Implementation Daniel 4
Galin
Case study
Operations at DIA were delayed by 16 months, mainly due to
the failure of the software-based baggage handling system,
causing estimated total losses of $2 billion.
Moreover, the baggage handling system finally put into service
was substantially downscaled in comparison to the system
originally specified.
Although several other enormous failures of software systems
unfortunately have been recorded since 1995, the failure of IT
technology at DIA was especially traumatic to the profession,
whether due to the scale of the losses or the public interest and
criticism it raised.
Software Quality Assurance: From Theory to Implementation Daniel 5
Galin
Conclusion
– Many SQA professionals, including the
author, believe that if appropriate software
quality assurance systems had been applied to
the project at its start,
– a failure of this scale would not have occurred
– or, at least, its losses would have been
dramatically reduced.
Software Quality Assurance: From Theory to Implementation Daniel 6
Galin
Uniqueness of SQA
The fundamental differences between software
products (including firmware) and other products
are caused by the higher product complexity,
by the invisibility of software and by the
nature of the product development and
production process.
Software Quality Assurance: From Theory to Implementation 7
Daniel Galin
Uniqueness of SQA
• Product Complexity
– Product complexity can be measured by the
number of operational modes the product
permits.
• Product Visibility
– Defects in software products are invisible
• Product Development and
Production Progress
– The only phase when defects can be
detected is the development phase.
Software Quality Assurance: From Theory to Implementation 8
Daniel Galin
Uniqueness of SQA
Software Quality Assurance: From Theory to Implementation 9
Daniel Galin
SQA Environment
• Software development fulfills
variety of needs
– Students as part of their education
– Software amateurs as a hobby
– Professionals in engineering, economics,
management, and other fields to assist
them in their work
– Software development professionals as a
professional career objective
Software Quality Assurance: From Theory to Implementation 10
Daniel Galin
SQA Environment
1. Contractual Conditions
• List of functional requirements
• Project budget
• Project timetable
2. Subjection to customer–supplier
relationship
• Change requests->Feedback->Approval
3. Required teamwork
• Timetable requirements
• Need for specializations
• Professional mutual support
Software Quality Assurance: From Theory to Implementation 11
Daniel Galin
SQA Environment
4. Cooperation and coordination of
software teams
Software Quality Assurance: From Theory to Implementation 12
Daniel Galin
SQA Environment
5. Interfaces with other software
systems
• Input interfaces
• Output interfaces
6. The need to continue carrying out a
project despite team member
changes
7. The need to continue carrying out
software maintenance for an
extended period
Software Quality Assurance: From Theory to Implementation 13
Daniel Galin
SQA Environment
Software Quality Assurance: From Theory to Implementation 14
Daniel Galin
Chapter Summary
• Uniqueness of SQA
• SQA Environment
Software Quality Assurance: From Theory to Implementation 15
Daniel Galin