next_group up previous


Quality Management Initiative Overview

Louis Charbonneau

1. Introduction

Quality is the totality of product attributes that are important to our customers. This quality initiative addresses the topic of managing quality of a business application software product.

A business application software product is a documented set of tools to capture, validate and archive business transactions and to subsequently transform historical data into meaningful information for decision making and the guidance of an enterprise.

The first phase of this initiative defines the spectrum of quality attributes for such a product and propose a priority of importance (ranking) for these attributes.

Second phase will consist of gaining consensus about the proposed attributes and priorities.

Third phase will define the process of managing quality.

Fourth phase will address the measurement of quality.

2. Spectrum For Quality

Quality management is important.

  1. The definition, assessment and ranking of quality attributes are essential for the development of a first class software product.
  2. Project leaders will be aware of the most wanted attributes and consequently will devote more resources to these attributes.
  3. Quality Assurance team will know were to put the emphasis for testing.
  4. Marketing will use those attributes as selling arguments.
  5. Managing quality means to ensure that the most important quality attributes are met, and that the other attributes are optimized based on available time and resources.
The spectrum of quality attributes

There are four aspects of quality to consider when evaluating a business application software.

  1. Quality of conformance,
  2. Quality of design,
  3. Quality of documentation,
  4. Quality of performance.

2.1 Quality of Conformance

Definition

Quality of conformance is concerned with the customer needs and requirements. Quality of conformance is typically defined by the user/customer in terms of : accuracy, completeness, timeliness, ease of use, flexibility, uniformity, relevance, consistency, reliability and affordability.

Quality of design is concerned with the architecture/structure of the application.

Quality of documentation is concerned with training , learning, explaining how to use and how to access information about the product.

Quality of performance is concerned with speed of execution, throughput, productivity, efficiency, limitation, response time.

Attributes

Data integrity

Integrity is the state of being complete or undivided according to dictionary.

Data integrity is the first and foremost quality of a business application software. All others niceties are irrelevant if the application does not ensure data integrity.

Data integrity encompasses :

Data entirety : Do we capture all the relevant facts of all the business transactions ?

Data validity: Do we provide adequate means and method to make sure the captured data is valid data ?

Data security : Once data has been entered, validated and accepted by the end-user, is it store in a safe and secure place ?

Data authenticity : Once data has been entered, validated and accepted by the end-user, does it become inalterable or, if business practice allows for alterations to historical facts, do we properly trace them ? Does the system keep tabs on operator name, date and time of entry for all add/update transactions.

Data accuracy :

To what extent do the different procedures of the application compute, generate and store accurate data ?

This quality factor deals with internally generated data as opposed to user generated data (validity).

Information reliability :

To what extent does the information, derived from raw data, become dependable and trustworthy information ?

This quality factor deals with the precision of extracting, compiling, collocating, aggregating, analyzing, synthesizing, extrapolating, graphing and presenting decision making information.

Process

Usability :

What are the effort and ability required from the user, to operate, prepare input, and interpret output of a program ?

This quality factor could also be called the ease of use.

Usability encompasses :

The ergonomics of the human interface :

Do the data entry screens conforms to the actual way of doing things in the trade ?

Do we use the language of the trade ?

Consistency of human interface.

Does the application look and behave the same all across the different modules and procedures ?

Uniformity of menus, data entry screen, reports, procedures.

The ergonomics of the procedures :

Do our data processing procedures relate with the business practice of the trade ?

Do we have procedures that are a hindrance to the end-user?

Flexibility :

To what extent is the interface adaptable to the way of doing things of our user ?

Data accessibility :

What is the effort required and how long is it to access a specified set of historical data ?

Timeliness :

What is the effort required and how long is it to transform historical data into decision making information ?

Measurement

Correctness :

Extent to which an application satisfies its specifications and fulfills our customer mission objectives.

Correctness encompasses :

Completeness of required business functions.

Adherence of the application to business standards.

Relevance of product to task at hand.

Do we solve real problems of the trade or do we simply automate bad business practice ?

2.2 Quality of Documentation.

Usability :

What are the effort and ability required from the user, to learn the operation of a program and to find needed information ?

Usability of the documentation encompasses :

Intelligibility :

Good construction, good syntax , good orthography and the use of terms known to the experts of the trade. Avoidance of meaningless abbreviations.

Completeness : Does the documentation covers all the aspects of the application, beginning with the theory of operation for every module and every function ?

Does the documentation have a step by step procedure for every function ?

Does the documentation have a user understandable description of every table and every field ?

(in terms of what we want to achieve , objectives , benefits for the user )

Does the documentation have a quick tour chapter for every module ?

Does the documentation have a tutorial for every module ?

Accuracy : Does the documentation reflect exactly what the application does or does the application do what the documentation says ?

Does the documentation use the language of the trade ?

Conciseness :

The documentation does not have to say the obvious, the evident. To much documentation may be worst than not enough.

Accessibility :

Is the information available in a contextual manner ?

Does the documentation incorporate a full set of meta-documentation? Meta-documentation being defined as documentation about documentation. It includes :

Table of contents.

Standardized abbreviations list.

Typographical conventions.

Exhaustive alphabetical index.

Exhaustive list of acronyms.

Glossary of the trade (Explanatory vocabulary list).

List of business functions the application addresses.

List of features for every function.

A product brief for every module.

2.3 Quality of performance

Efficiency refers to the amount of computing resources and code required by a program to perform a function.

Efficiency is derived from the structure of the data base, the simplicity and scarcity of the procedures, the quality of the coding.

Throughput measures the number of business transactions, a given machine can capture, validate and store per unit of time. Throughput is dependent of the power of the machine, the operating system and the efficiency of the application.

Productivity measures the number of business transactions a given user can capture, validate and store per unit of time.

Productivity is derived from the ergonomics of the human interface and the efficiency of the application.

Limitations :

What are the limits of the application in terms of size of database and number of concurrent users ?

Response time :

On a given set of conditions (size of the table, number of concurrent users, etc.) :

How long does it take to query one record on an indexed field ?

How long does it take to insert a business transaction ?

Etc

2.4 Quality of design

Definition

Ergonomics of the structures.

Is the structure of the data base concomitant with the nature of the trade ?

Is the structure of the tables a true reflection of the structure of the business transaction considered ?

Are the names of the tables explicit to the experts of the trade?

Are the names of fields explicit to the experts of the trade ?

A data base Guru once said :

If you can not give a table a name meaningful to your end-user, chances are that this table is useless or ill conceived and the same is true for every field of the table.

Programming business application involves zillions of references to table names and field names. Explicit table and field names increase greatly the comprehensibility of the code.

Simplicity of the structures :

A minimum number of tables. A minimum number of fields. A minimum number of composite joins. Consider a bit of redundancy in order to achieve more simplicity.

Moving data is always done at the expense of integrity.

Readability of the code :

What is the effort required to understand the intended functions of a program ?

Readability is derived from the structure of the code, the size of the code, the documentation of the code.

Explicitness of the code :

The extent to which a program is readily understandable by sheer use of meaningful wording for its variables, functions, tables and fields.

Consistency of the code :

Does the code look the same and use the same conventions and structures all across the different modules and procedures?

Size of the code :

The amount of man generated code versus machine generated code.

Measurement

Quality of design will impact on :

Maintainability : the effort required to locate and fix an error in an operational program.

Testability : the effort required to test a program to ensure it performs its intended functions.

Flexibility : the effort required to modify an operational program.

Portability : the effort required to transfer a program from one hardware configuration and/or software system environment to another.

Reusability : the extent to which a program can be used in other applications - related to the packaging and scope of the functions that the programs perform.

Interoperability : the effort required to couple one system with another.

About this document ...

Quality Management Initiative Overview

This document was generated using the LaTeX2HTML translator Version 99.1 release (March 30, 1999)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir1483rwB58h/lyx_tmpbuf1483na3JuQ/quality.tex

The translation was initiated by Derek A. Neighbors on 2001-03-03


next_group up previous
Derek A. Neighbors
2001-03-03