The document discusses Ann Marie Neufelder's background and expertise in software reliability. It then lists the top 10 factors actually associated with unreliable software based on benchmarking 679 development factors against actual defect data from 149 software projects. The factors focus on avoiding large releases and teams, mandatory developer testing, techniques that aid requirements and defect analysis, understanding end users, and avoiding skipped processes. The document provides context on the benchmarking methodology used to determine the top factors.
As of this writing, there is not a universally accepted definition of software reliability. The definition shown above, however, is commonly used in industry. The definition is basically stating that software reliability is a function of how software is used and the inherent fault content of the software.
The most controversial part of this definition is the unqualified use of the term “time”. We will define time later in this presentation.
This chart simplifies the differences between errors, faults and failures. During this class we will be counting either faults or failures depending on what phase of the lifecycle war are measuring and what models we are using to measure reliability.