Lessons Learned in Software Quality Assurance



Software quality assurance (SQA) is a vital aspect of software engineering — one that is honed by experience rather than coming straight from a book. SQA is comprised of many areas of software engineering, e.g., life-cycle development, metrics, safety, and reliability. Extensive research has been conducted in each of these areas resulting in several theories, yet the actual practice of SQA and its supporting activities must be grounded in practical experience. This chapter discusses lessons learned by the NASA community as it dealt with day-to-day issues of software quality, reliability and safety. Lessons are written broadly so as to be applicable to almost any software assurance activity; these should then be tailored to an organization’s needs.

Key words

Software quality assurance Process assurance Product assurance Safety Reliability IV&V Metrics 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Department of Defense (2001) Practical software and systems management V 4.2, (accessed 21st April, 2003)Google Scholar
  2. 2.
    Gillies A.C. (1997) Software quality, theory and management. International Thomson computer press, London, UKGoogle Scholar
  3. 3.
    Hammer T., Huffman L., Rosenberg L. (1999) Doing requirements right the first time. Cross Talk, 12: 20–25Google Scholar
  4. 4.
    International Committee on Software Engineering Standards (SPICE) (1992) Software process assessment. JTC 1/SC7, httpJ/ (accessed 21st April, 2003 )Google Scholar
  5. 5.
    IEEE Std 610.12–1990 (1990) Glossary of software engineering terminology. Institute of Electrical and Electronics EngineersGoogle Scholar
  6. 6.
    IEEE Std 730 (1998) Standard for software quality assurance plans. Institute of Electrical and Electronics EngineersGoogle Scholar
  7. 7.
    IEEE Std 982.2–1988 (1988) Guide for the use of standard dictionary of measures to produce reliable software. Institute of Electrical and Electronics EngineersGoogle Scholar
  8. 8.
    ISO 9003–3–1991 (1991) Quality management and quality assurance standards – Part 3: Guidelines for the application of ISO 9001 to the development, supply and maintenance of software. International standards organization, (accessed 21st April, 2003 )Google Scholar
  9. 9.
    Kitchenham B., Pfleeger S.L. (1996) Software quality: the elusive target. IEEE Software 13: 12–21CrossRefGoogle Scholar
  10. 10.
    NASA-STD 7120.5, Program and project management processes and requirements, NASAGoogle Scholar
  11. 11.
    NASA-STD-8719.13A (2001) NASA software safety standard. NASAGoogle Scholar
  12. 12.
    Rosenberg L., Gallo A., McCoy J. (2001) Generating high quality requirements. AIAA Aerospace conference, San Jose, CAGoogle Scholar
  13. 13.
    Rosenberg L., Gallo A. (2002) Software quality assurance at NASA. In: Proceedings of IEEE Aerospace conference, Big Sky, MontanaGoogle Scholar
  14. 14.
    Rosenberg L., Hyatt L. (1996) Developing a successful metrics program. In: CD-ROM Proceedings of the 8th annual software technology conference, Salt Lake city, Utah, (accessed 21st April, 2003)Google Scholar
  15. 15.
    Rosenberg L., Godfrey S. (2002) Implementing CMMI at NASA’s Goddard space flight center. In: Proceedings of the software engineering process conference, Denver, CO, USAGoogle Scholar
  16. 16.
    Schulmeyer G.G., McManus J.I. (1998) Handbook of software quality assurance. Prentice Hall PRT, NJ, USAGoogle Scholar
  17. 17.
    Software Engineering Institute (SEI) (1991) Capability maturity model. Carnegie Mellon University, USAGoogle Scholar
  18. 18.
    Wilson W., Rosenberg L., Hyatt L. (1996) Automated quality analysis of natural language requirement specifications. In Proceedings of 14th annual Pacific Northwest software quality conference, Portland, Oregon, USA, pp. 140–151Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

There are no affiliations available

Personalised recommendations