What is quality? Who is the customer? What kind of, and how much quality do most customers
want? There may be multiple customers for a software product - the end-users, the eventual product maintainers, the business
process owners, etc. Often when these customers and / or developers make an attempt to define quality, it is narrowly defined.
Usually it is defined as reliability - the absence of product defects, or the
absence of product failures during critical moments of system operation. Reliability is one of the more important elements
of quality, but not the only one customers expect. Even though they may not be able to define them, customers also expect
the following applicable requirements to be addressed in the product:
· Functional and data requirements - customers expect the system to have all of the features and handle all of the associated data
required by the business function being automated.
System and design constraints - constraints imposed by customer or industry standards, hardware limitations, site standards,
etc. For example, the mandate to use previously written or purchased software modules or packages to perform certain system
Security, audit and regulatory
requirements - constraints mandated by data sensitivity, economic and legal requirements,
and by government or industry regulations.
Integrity requirements - constraints imposed to ensure data and system integrity. They may also specify the level of
system error detection / tolerance. They are generally defined by specifying the validity and accuracy of system input / output
and the formulas and processes used to manipulate the data.
Hardware and software platform
and communications requirements - special requirements regarding existing hardware
or communication needs or third party vendor software. These often include requirements for interfacing systems.
User interface requirements - user interface requirements that affect the system design. For example, ease of use may be a requirement for the delivered product. This requirement might direct the developers in the
subsequent Design phase to pursue the utilization of a graphical interface or touch screen technology. Or, the users may be
physically challenged, so only certain hardware and software can be considered in the Design phase.
System interface and conversion
requirements - special requirements for data conversion and system interfaces
such as data validation/scrubbing, real time data handling, querying/updating of remote databases, etc.
Operation and performance requirements - special requirements pertaining to the amount of data, hardware, software, training, system
availability and system throughput / responsiveness needed to support the operational system.
In summary, systems quality means: meeting all customer expectations, explicit
and implicit. It pays for a project to explicitly define all applicable quality requirements very early in the project
and then employ quality assurance methods to ensure the requirements are being incorporated into the system design and built
into the delivered product.
What is quality assurance? Quality assurance includes more than just testing the product
at the end of the development lifecycle - it includes activities performed during every phase of the lifecycle to ensure the
deliverables of each phase meet specified requirements and that they are sufficient to perform the work of the next phase.
It also includes activities to measure and tune the product development process as the project is being executed. Since this
service is much more comprehensive than testing, it will not only help to ensure the quality of the product delivered, but
also (through a reduction of project rework) ensure that the product is delivered on schedule and within cost constraints.
a concept called Verification & Validation (V&V) as an encompassing framework for the lifecycle quality assurance
activities that will be performed for you. Within this V&V framework, testing will be one of the key product validation
activities performed. The scope of the project Quality Assurance service will include: (1) V&V planning - producing a
Software Verification & Validation Plan (including a product test plan), (2) V&V team formation, (3) Project lifecycle
V&V execution (including reviews, inspections, testing, metrics collection and evaluation, etc.), problem identification
and resolution, and (4) V&V reporting - producing a product Software Verification & Validation Report (including a
product test report) and making recommendations for product release.