This issue of the Software Tech News contains several articles that can help the reader to gain a better understanding of software quality and reliability, and how to develop higher quality software. The first article, by David Herron, discusses best practices in software quality and related areas. The article shows that best practices sometimes do not “work” because they are not applied correctly. The article then discusses four best practices that can be used to improve software quality and software development in general.
The next article, by Capers Jones, shows that large software projects have had a history of poor reliability, or high numbers of defects. Capers Jones then shows how a software manager can take steps to reduce defects in these programs. He also discusses the economic value of software quality improvement practices.
The third article, by Donald M. Beckett and Doug Putnam, addresses software quality estimation, primarily using defects (or errors) per thousands of lines of code as a measure of quality and reliability. They show how defect discovery follows a Rayleigh Curve, which can be useful in defect or error prediction. They also show the effects of schedule compression and team size on software quality.
The fourth article, by Arlene Minkiewicz, discusses the effects of a newly-popular software development method, agile software development, on software quality. The impact of agile development may either positively or negatively affect software quality based on the particular agile method used. She shows that some specific agile methods can have a positive impact on software quality.
The fifth article, by Ray Madachy, Barry Boehm, and Dan Houston, discusses recent enhancements to the Constructive Quality Model (COQUALMO). COQUALMO is a well researched model that is useful in prediction the number of defects, or errors, per thousands of lines of code or function points. It is a publically-available model which can be found on the web site: http://csse.usc.edu. The final article, by John Robb, discusses the effects of computer programming languages on software safety and reliability. He presents a history of languages used for safetycritical applications such as airborne weapon systems, then shows how the C and C++ languages are being used successfully for the new F-35 aircraft.