Quality can briefly be defined as “a degree of excellence”. High-quality software usually conforms to user requirements. A customer’s idea of quality may cover a breadth of features - conformance to specifications, good performance on platform(s)/configurations, completely meets operational requirements (even if not specified!), compatibility to all the end-user equipment, no negative impact on existing end-user base at introduction time.
Quality software saves a good amount of time and money. Because the software will have fewer defects, this saves time during testing and maintenance phases. Greater reliability contributes to an immeasurable increase in customer satisfaction as well as lower maintenance costs. Because maintenance represents a large portion of all software costs, the overall cost of the project will most likely be lower than similar projects.
Following are two cases that demonstrate the importance of software quality:
Ariane 5 crash June 4, 1996
- The maiden flight of the European Ariane 5 launcher crashed about 40 seconds after takeoff
- The loss was about half a billion dollars
- The explosion was the result of a software error
- Uncaught exception due to floating-point error: conversion from a 64-bit integer to a 16-bit signed integer applied to a larger than expected number
- The module was re-used without proper testing from Ariane 4
- The error was not supposed to happen with Ariane 4
- No exception handler
- Mars Climate Orbiter - September 23, 1999
- Mars Climate Orbiter, disappeared as it began to orbit Mars.
- Cost about $US 125-million
- Failure due to an error in a transfer of information between a team in Colorado and a team in California
- One team used English units (e.g., inches, feet and pounds) while the other used metric units for key spacecraft operation.
0 Comments