You are on page 1of 25

The Software Quality Challenge's

WEEK -2
 The uniqueness of software quality assurance

 The environments for which SQA methods are developed

Zafar Iqbal Khan 3 Software Quality Assurance


Introduction
• Why Quality Assurance?
• With all the methodology wars, numerous processes, huge
number of tools to assist in software development, why this
separate topic?
• What makes it important that it deserves separate
treatment?
• Why do so many companies add disclaimers to their
software?
– Don’t warranty the documentation…
– Not responsible for direct, indirect, consequential, loss?

Zafar Iqbal Khan 4 Software Quality Assurance


What we are after; that is, we
want to be able to:
1. Identify the unique characteristics of software as a product
and as process that justify separate treatment of its quality
issues.

2. Recognize the characteristics of the software environment


where professional software development and maintenance take
place

Zafar Iqbal Khan 5 Software Quality Assurance


• High complexity
– The potential ways in which a software product can be
used with different data / data paths reflecting different
incoming data is almost infinite.
– Manner in which industrial products can be used are
usually well-defined.
– Think about software: every loop with different values of
data reflects a different opportunity to see software fail.

Zafar Iqbal Khan 6 Software Quality Assurance


• Invisibility of the product
– In an industrial product, missing parts are obvious.
• Something missing? Easily identified.
– Not so in software products.
• May not be noticeable for years – if at all!
• Cite: phantom paths product at AFDSDC!

Zafar Iqbal Khan 7 Software Quality Assurance


• Opportunities to detect defects (“bugs”)??
• Consider:
– Product Development
– Product Planning
– Product Manufacturing

Zafar Iqbal Khan 8 Software Quality Assurance


• Product Development:
– Industrial: test product; voltages; performance;
strength; size; ….ready to distribute to markets
– Computer Software: once prototype and system testing
are concluded, product is ready for deployment
• About the same approach
• Arguable: equal chance to discover defects?
– What do YOU think??

Zafar Iqbal Khan 9 Software Quality Assurance


Product Production Planning:
– Industrial: Often need new tooling approaches, assembly
lines, new manufacturing processes.
• Results in additional ‘looks’ at products
• One could say that there is a better chance to discover
defects
– Computer Software: No real additional ‘look-see.’
• Packages shrink-wrapped, printed, distributed to
public
• No real chance to discover additional defects.

Zafar Iqbal Khan 10 Software Quality Assurance


Product Manufacturing:
– Industrial: Usually defects uncovered here; easily fixed.
• Typical burn-in problems; another view of product;
stabilizes.
• These represent additional opportunities to discover
defects.
– Computer Software:
• We merely copyright, print copies of software and
manuals
• No real chance for additional quality views
• No real chance for discovering additional defects
Zafar Iqbal Khan 11 Software Quality Assurance
Only Chance to Discover Defects:
• Best chance to really detect defects occurs during the
software development process itself!

• “The need for special tools and methods for the software industry is
reflected in the professional publications as well in special standards
devoted to SQA, such as ISO 9000-3, “Guidelines for the application of
ISO 9001 to the development, supply, and maintenance of software.”
• Another: ISO 9004-2: “Quality Management and Quality Systems
Elements: Guidelines for the Services.”

• These characteristics of software – complexity, invisibility, and limited


opportunity to detect bugs has led to the development of the ISO
Guidelines and an awareness of real SQA methodology.

Zafar Iqbal Khan 12 Software Quality Assurance


• Important to note that quality issues seem to center around
software development professional activities undertaken by
development and maintenance organizations vice an individual.
• Quality issues govern professional software development.
• This is our focus: large scale development rather than individual
application development

• Here are some of our main environmental issues:

Zafar Iqbal Khan 13 Software Quality Assurance


• Being contracted
• Subjection to customer-supplier relationship
• Requirement for teamwork
• Need for cooperation and coordination with other development teams
• Need for interfaces with other software systems
• Need to continue carrying out a project while the team changes
• Need to continue maintaining the software system for years

Zafar Iqbal Khan 14 Software Quality Assurance


SQA Environment
• Being Contracted:
– Professional software development is almost always
contracted.
• Have requirements / supplied requirements (hopefully)
– But may have in-house customer representatives.
– Or, customer representatives available…
• Budget
• Time schedule

Zafar Iqbal Khan 15 Software Quality Assurance


SQA Environment
• Subject to Customer-Supplier Relationship
– In professional software development, there is a
constant (hopefully) oversight between customer and
developer.
• Changes will occur;
• Criticisms will arise.
• Cooperation is critical to overall project success.

– Customer availability / relationship is essential and


often problematic whether reps are in-house or not.
Zafar Iqbal Khan 16 Software Quality Assurance
SQA Environment
• Required Teamwork
– We need teams due to
• Time required for development.
– Workload is too much for a single person
• A frequent variety of experts needed
– Database; networking; algorithms; …
• Need ‘independent’ reviews to ensure quality (me)

– Who is ‘on the team?’


• Developers
• Clients / customers
• Others???

Zafar Iqbal Khan 17 Software Quality Assurance


SQA Environment
• Cooperation and Coordination with Other Software Teams
– May be partially outsourced thus requiring cooperation
• Outsourced  overseas?
• Many potential problems here … and benefits.
– Laision?
– May be that specialized hardware requires cooperation.
– Other teams may have developed similar software for the client and
can offer tremendous help.

Zafar Iqbal Khan 18 Software Quality Assurance


Zafar Iqbal Khan 19 Software Quality Assurance
SQA Environment
• Interfaces with Other Systems
– Interface, link to, import, include other packages containing,
say, libraries of perhaps classes / packages to assist in
development.
– Standardization considerations in interfaces
– May need to cooperate with inputs coming from other systems
and outputs requiring special formats that serve as inputs to
other systems…
– Do you think Billing, Payroll, Accounts Payable are all distinct
systems???

Zafar Iqbal Khan 20 Software Quality Assurance


Attendance
control
system

Input interface Monthly attendance report,


including overtime calculations
Salary
processing
system

Output interface Money transfers to employees’


bank account accounts
Bank
information
systems

Zafar Iqbal Khan 21 Software Quality Assurance


SQA Environment
• Need to Continue Project despite Team Changes
– Team members leave, are hired, fired, take
unexpected vacations, transferred within the
company, and more.
– Maddening truism, but the development must
continue.
– You can count on disruption!

Zafar Iqbal Khan 22 Software Quality Assurance


SQA Environment
• Need to continue Software Maintenance for an
Extended Period
– Whether external customers or in-house customers,
follow-on maintenance is typical and for many
years!!
– Highly desirable from management/enterprise
perspective
• SQA must address development, operations,
and maintenance! (next chapter)

Zafar Iqbal Khan 23 Software Quality Assurance


Textbooks for Reading

Software Quality Assurance: From Theory to Implementation,


2012

This book covers several issues related to software quality assurance.


Some important chapters are: software quality challenge, what is
software quality, software quality factors, and software testing

Metrics and Models in Software Quality Engineering, 2010

This book is a reference in software metrics. It covers a comprehensive


breadth of measurement theory and software quality metrics

Zafar Iqbal Khan 24 Software Quality Assurance

You might also like