Musa's Book


SRE Orientation

Training Services

Consulting Services


Click Here for A Special Announcement!

More Reliable Software Faster and Cheaper: A Summary of Software Reliability Engineering

John D. Musa
Software Reliability Engineering and Testing Courses

Software Reliability Engineering (SRE) is a standard, proven best practice that makes software more reliable and does so faster, and cheaper. You can apply software reliability engineering to any system using software and to frequently-used members of software component libraries. For legacy systems, you simply start with the next release cycle. It is based on two simple, powerful ideas:

· Quantitatively characterize expected use and then focus resources on the most used and/or most critical functions. This increases development efficiency and hence the effective resource pool available to add customer value to product.

· Further increase customer value by setting quantitative reliability objectives that precisely balance customer needs for reliability or availability, timely delivery, and cost; engineer software reliability strategies to meet them; and track reliability in test as a release criterion

Software reliability engineering:

· is unique in helping ensure necessary reliability in minimum delivery time and cost

· increases productivity and reduces time to market of a product

· improves customer satisfaction and reduces the risk of angry customers

Who Can Benefit From It?

Software reliability engineering helps:

· Software testers
· Software developers
· Systems engineers
· Systems architects
· Quality assurance engineers
· Reliability engineers
· Project managers

Who Has Used Software Reliability Engineering?

AT&T's International Definity project shows the benefits that result from applying SRE and related technologies. In comparison with a previous release that did not use these technologies, reliability, customer satisfaction, and sales all increased by a factor of 10. The system test interval and test costs decreased by a factor of two; project development time, by 30%, and maintenance costs, by a factor of 10.

Other organizations such as Alcatel, Bellcore, CNES (France), ENEA (Italy), Ericsson Telecom, France Telecom, Hewlett Packard, Hitachi, IBM, Lockheed-Martin, Lucent Technologies, Microsoft, Mitre, Motorola, NASA's Jet Propulsion Laboratory, NASA's Space Shuttle, Nortel, Raytheon, Saab Military Aircraft, Tandem Computers, the US Air Force, and the US Marine Corps have also used SRE profitably. At the 1997 International Symposium on Software Reliability Engineering, Tierney reported the results of a survey taken in late 1997 that showed that Microsoft has applied software reliability engineering in 50 percent of its software development groups, including projects such as Windows NT and Word.

An AIAA standard for SRE was approved in 1993, and IEEE standards are under development. McGraw-Hill recognized the rapid maturing of the field in 1996, publishing the Handbook Of Software Reliability Engineering. The IEEE Computer Society's Technical Committee on SRE grew in six years from 40 people to more than 1,000, a growth rate of 70 percent/year.

How Can I Learn To Apply Software Reliability Engineering?

The best way by far is to take a course, especially if the course includes the opportunity to practice what you have learned. There is a course in software reliability engineering that is currently being offered.

· Go to Software Reliability Engineering Course - classroom version
· Go to Software Reliability Engineering Course - distance learning version

Want More Detail?

· Go to Software Reliability Engineering Overview

Software Reliability Engineering and Testing Courses