Level 4: Quantitatively Managed
20. Statistical techniques
2.9 Summary This chapter
Describes the major process models and approaches in software development� the waterfall process, the prototyping approach, the spiral model, the iterative process, the object-oriented process, the Cleanroom methodology, and the defect prevention process.
Discusses two methods of process maturity assessment�the SEI process capability maturity model and the SPR assessment method.
Summarizes two bodies of quality management standards�the Malcolm Baldrige National Quality Award assessment discipline and ISO 9000.
The waterfall process is time-tested and is most suitable for the development of complex system software with numerous interdependencies. This process yields clearly defined intermediate deliverables and enables strong project control.
The prototyping approach enables the development team and the customers to clarify the requirements and their interpretation early in the development cycle. It is not a process per se; it can be used with various process models. It has become widely used in application development. It can also be used with subsystems of systems software when external interfaces are involved.
The iterative process and the spiral model have seen wide use in recent years, especially in application development. Coupled with risk management and prototyping, these new processes increase the likelihood that the final product will satisfy user requirements and facilitate the reduction of cycle time.
In terms of the object-oriented development process, the Unified Process is the most well known process among the object-oriented community. The light-weight Extreme Programming process is one of the more controversial processes.
The Cleanroom approach can be regarded as a process as well as a methodology. As a process, it is well defined. As a methodology, it can be used with other processes such as the waterfall and even object-oriented development. Since the early experimental projects in the late 1980s, the Cleanroom approach has seen increased use in recent years.
The defect prevention process is aimed at process development. When integrated with the development process, it facilitates process maturity because it enables the process to fine-tune itself through the closed-loop learning process. It can be applied to software development as well as to other industries.
Whereas the process models deal with software development, the SEI and SPR maturity models deal with the maturity of the organization's development process, regardless of the process model being used.
They entail defining a set of ideal criteria and measuring the processes of organizations against these ideals. This concept has become very popular in the last decade and provides a mechanism for companies to be related with regard to process. The Malcolm Baldrige assessment and ISO 9000 are bodies of quality standards of an even broader scope. They pertain to the quality assurance management system at the company level regardless of industry. In sum, the specific development process being used, the maturity level of the process, and the company's quality management system are all important factors that affect the quality of a software project.
In the next chapter we focus on some aspects of measurement theory that will set the stage for our discussions of software metrics.
I l@ve RuBoard
Addison Wesley: Metrics and Models in Software Quality Engineering, Second Edition 2.9 Summary
I l@ve RuBoard
References
1. American Programmer, "An Interview with Watts Humphrey," September 1990, pp. 8�9.
2. Basili, V. R., and J. D. Musa, "The Future Engineering of Software: A Management Perspective,"
IEEE Computer, 1991, pp. 90�96.
3. Basili, V. R., and A. J. Turner, "Iterative Enhancement: A Practical Technique for Software
Development,"IEEE Transactions on Software Engineering, Vol. SE-1, No. 4, December 1975, pp.
390�396.
4. Beck, K., Extreme Programming Explained, Boston: Addison-Wesley, 2000.
5. Boehm, B. W., "Software Engineering,"IEEE Transactions on Computer, Vol. C-25, December 1976, pp. 1226�1241.
6. Boehm, B. W., "A Spiral Model of Software Development and Enhancement," IEEE Computer, May 1988, pp. 61�72.
7. Booch, G., Object-Oriented Design with Applications, Redwood City, Calif.: Benjamin/Cummings , 1991.
8. Branson, M. J., and E. N. Herness, "Process for Building Object-Oriented Systems from Essential and Constrained System Models: Overview,"Proceedings of the Fourth Worldwide MDQ Productivity and Process Tools Symposium: Volume 1 of 2, Thornwood, N.Y.: International Business Machines Corp., March 1992, pp. 577�598.
9. Branson, M. J., and E. N. Herness, "The Object-Oriented Development Process," Object Magazine, Vol. 3, No. 4, Nov.�Dec. 1993, pp. 66�70.
10. British Standards Institution (BSI), The TickIT Guide, Using ISO9001:2000 for Software Quality Management System Construction, Certification and Continual Improvement, London: BSI DISC TickIT Office, 2001.
11. Cianfrani, C. A., J. J. Tsiakals, and J. E. West, ISO 9001:2000 Explained, 2nd ed., Milwaukee, Wisconsin: ASQ Quality Press, 2001.
12. Coad, P., and E. Yourdon, Object-Oriented Analysis, Englewood Cliffs, N.J.: Yourdon Press, 1990.
13. Davis, A. M., E. H. Bersoff, and E. R. Comer, "A Strategy for Comparing Alternative Software
Development Life Cycle Models,"IEEE Transactions on Software Engineering, Vol. 14, No. 10, October 1988, pp. 1453�1461.
14. Gomaa, H., and D. Scott, "Prototyping as a Tool in the Specification of User Requirements,"
Proceedings 5th IEEE International Conference on Software Engineering, March 1981, pp. 333�342.
15. Hausler, P. A., and C. J. Trammell, "Adopting Cleanroom Software Engineering with a Phased Approach," IBM Cleanroom Software Technology Center, Gaithersburg, Md., February 1993.
16. Henderson-Sellers, B., and Y. R. Pant, "Adopting the Reuse Mindset Throughout the Lifecycle:
When Should We Generalize Classes to Make Them Reusable?"Object Magazine, Vol. 3, No. 4, Nov.�Dec. 1993, pp. 73�75.
17. Hough, D., "Rapid Delivery: An Evolutionary Approach for Application Development," IBM Systems Journal, Vol. 32, No. 3, 1993, pp. 397�419.
18. Humphrey, W. S., Managing the Software Process, Reading, Mass.: Addison-Wesley, 1989.
Addison Wesley: Metrics and Models in Software Quality Engineering, Second Edition References
19. Humphrey, W. S., A Discipline for Software Engineering, Reading, Mass.: Addison-Wesley, 1995.
20. Humphrey, W. S., Introduction to the Personal Software Processsm, Reading, Mass.: Addison-Wesley, 1997.
21. Humphrey, W. S., Introduction to the Team Software Processsm, Reading, Mass.: Addison-Wesley, 2000a.
22. Humphrey, W. S., Team Software Process Executive Seminar, presented to IBM, Austin, Texas, July 25, 2000b.
23. Jacobson, I., G. Booch, and J. Rumbaugh, The Unified Software Development Process, Reading, Mass.: Addison-Wesley, 1998.
24. Jenkins, P., IBM Boca Raton, Fl., personal communication, 1992.
25. Jones, Capers, Software Assessments, Benchmarks, and Best Practices, Boston: Addison-Wesley, 2000.
26. Jones, C., Programming Productivity, New York: McGraw-Hill, 1986.
27. Jones, C., Applied Software Measurement: Assuring Productivity and Quality , New York: McGraw-Hill, 1991.
28. Jones, C., "Critical Problems in Software Measurement," Version 1.0, Burlington, Mass.: Software Productivity Research (SPR), August 1992.
29. Jones, C. L., "A Process-Integrated Approach to Defect Prevention," IBM Systems Journal, Vol. 24, No. 2, 1985, pp. 150�167.
30. Leishman, T., "Extreme Methodologies for an Extreme World," CrossTalk, The Journal of Defense Software Engineering, Vol. 14, No. 6, June 2001, pp.15�18.
31. Linger, R. C., "Cleanroom Software Engineering for Zero-Defect Software," Proceedings 15th International Conference on Software Engineering, May 17�21, 1993, IEEE Computer Society Press.
32. Linger, R. C., and P. A. Hausler, "The Journey to Zero Defects with Cleanroom Software Engineering,"Creativity!, IBM Corporation, September 1992.
33. Luckey, P. H., R. M. Pittman, and A. Q. LeVan, "Iterative Development Process with Proposed Applications," Technical Report, IBM Owego, New York, 1992.
34. Mays, Robert G., C. L. Jones, G. J. Holloway, and D. P. Studinski, "Experiences with Defect Prevention,"IBM Systems Journal, Vol. 29, No. 1, 1990, pp. 4�32.
35. McMenamin, S. M., and J. F. Palmer, Essential Systems Analysis, Englewood Cliffs, N.J.: Yourdon Press, 1984.
36. Meyer, B., Object-Oriented Software Construction, Englewood Cliffs, N.J.: Prentice-Hall, 1988.
37. Phillips, M., "CMMI Version 1.1: What Has Changed?" CrossTalk, The Journal of Defense Software Engineering, Vol. 15, No. 2, February 2002, pp. 4�6.
38. Prowell, S., C. J. Trammell, R. C. Linger, and J. H. Poore, Cleanroom Software Engineering, Technology and Process, Reading, Mass.: Addison-Wesley, 1999.
39. Radice, R. A., N. K. Roth, A. C. O'Hara, Jr., and W. A. Ciarfella, "A Programming Process Architecture,"IBM Systems Journal, Vol. 24, No. 2, 1985, pp. 79�90.
Addison Wesley: Metrics and Models in Software Quality Engineering, Second Edition References
40. Smith, D. J., and K. B. Wood, Engineering Quality Software: A Review of Current Practices,
Standards and Guidelines Including New Methods and Development Tools, 2nd ed., New York: Elsevier Applied Science, 1989.
41. Software Engineering Institute, Capability Maturity Model Integration (CMMI), Version 1.1, CMMI for Systems Engineering and Software Engineering (CMMI-SE/SW, V1.1), Continuous Representation, Carnegie Mellon University, CMU/SEI-2002-TR-001, December 2001.
42. Software Engineering Institute, Capability Maturity Model Integration (CMMI), Version 1.1, CMMI for Systems Engineering and Software Engineering (CMMI-SE/SW, V1.1), Staged Representation, Carnegie Mellon University, CMU/SEI-2002-TR-002, December 2001.
43. Wing, J. M., "A Specifier's Introduction to Formal Methods," Computer, Vol. 23, No. 9, September 1990, pp. 8�24.
I l@ve RuBoard
Addison Wesley: Metrics and Models in Software Quality Engineering, Second Edition References
I l@ve RuBoard