Software Quality Journal

, Volume 11, Issue 4, pp 265–281 | Cite as

COCOMO-Based Effort Estimation for Iterative and Incremental Software Development

  • Oddur Benediktsson
  • Darren Dalcher
  • Karl Reed
  • Mark Woodman
Article

Abstract

Incremental software development and delivery have been used in software projects in many ways for many years. Justifications for incremental approaches include risk amelioration, the management of evolving requirements, and end-user involvement. Incremental development, including iterative, incremental delivery, has become a norm in many sectors. However, there has been little work on modelling the effort in such development and hence a dearth of comparative analyses of cost models for incremental development/delivery. We attempt to rectify this by proposing a COCOMO-style effort model for incremental development/delivery and explore the relationship between effort and the number of increments, thereby providing new insights into the economic impact of incremental approaches to software projects.

software effort estimation incremental software development software project management COCOMO-based estimation effort in increments 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Basili, V.R. and Turner, A.J. 1975. Iterative enhancement?a practical technique for software development, IEEE Transactions on Software Engineering SE-1-4: 390–396.Google Scholar
  2. Beck, K. 2000. Extreme Programming Explained, Reading, MA, Addison-Wesley.Google Scholar
  3. Bennington, H.D. 1995. Production of large computer programs, Annals of the History of Computing 5(4): 350–361.Google Scholar
  4. Berrisford, T. and Wetherbe, J. 1979. Heuristic development: A redesign of systems design, MIS Quarterly 3(1): 11–19.Google Scholar
  5. Boehm, B.W. 1981. Software Engineering Economics, Englewood Cliffs, NJ, Prentice-Hall.Google Scholar
  6. Boehm, B.W., Abts, C., Brown, A.W., Chulani, S., Clark, B.K., Horowitz, E., Madachy, R., Reifer, D., and Steece, B. 2000. Software Cost Estimation with COCOMO II, Upper Saddle River, NJ, Prentice-Hall.Google Scholar
  7. Boehm, B. 2002. Get ready for agile methods, with care, IEEE-CS Computer 35(1).Google Scholar
  8. Booch, G. 1996. Object Solutions: Managing the Object Oriented Project, Reading, MA, Addison-Wesley.Google Scholar
  9. Brooks, F.P. 1975. The Mythical Man-Month, Reading, MA, Addison-Wesley.Google Scholar
  10. Brooks, F.P. 1987. No silver bullet: Essence and accidents of software engineering, IEEE Computer 20(4): 10–20.Google Scholar
  11. Capers Jones, T. 1998. Estimating Software Costs, New York, McGraw-Hill.Google Scholar
  12. Clark, B., Devnani-Chulani, S. and Boehm, B. 1998. Calibrating the COCOMO II post-architecture model, Proceedings of ICSE 1998, IEEE Press.Google Scholar
  13. Constantine, L.L. and Yourdon, E. 1978. Structured Design, Englewood Cliffs, NJ, Prentice-Hall.Google Scholar
  14. Cusumano, M.A. and Selby, R.W. 1995. Microsoft Secrets: How the World's Most Powerful Company Creates Technology, Shapes Markets, and Manages People, New York, Free Press.Google Scholar
  15. Cusumano, M.A. and Yoffle, D.B. 1999. Software development in Internet time, IEEE Computer 32(10): 60–69.Google Scholar
  16. Dalcher, D. 2002. Life cycle design and management, In Project Management Pathways: A Practitioner's Guide, ed. M. Stevens, The Association for Project Management, High Wycombe, APM.Google Scholar
  17. Elbaum, S.G. and Munson, J.C. 1998. Code churn: A measure for estimating the impact of code change, Proc. IEEE-CS International Conference on Software Maintenance, Bethesda, IEEE Press, pp. 24–33.Google Scholar
  18. Elssamadisy, A. and Schalliol, G. 2002. Recognizing and responding to “Bad Smells” in extreme programming, Proc. ICSE 2002, Orlando, IEEE Press, pp. 617–622.Google Scholar
  19. Giddings, R.V. 1984. Accommodating uncertainty in software design, Communications of the ACM 27(5): 428–434.Google Scholar
  20. Gilb, T. 1997. EVO: The Evolutionary Project Managers Handbook, unpublished manuscript.Google Scholar
  21. Gilb, T. 1988. Principles of Software Engineering Management, Wokingham, Addison-Wesley.Google Scholar
  22. Goldberg, A. and Rubin, K. 1995. Succeeding with Objects, Reading, MA, Addison-Wesley.Google Scholar
  23. Graham, D.R. 1989. Incremental development: Review of nonmonolithic life-cycle development methods, Information and Software Technology 31(1).Google Scholar
  24. Graham, D.R. 1992. Incremental development and delivery for large software systems, IEEE Computer 25(11): 1–9.Google Scholar
  25. Hess, W. 1996. Theory and practice of the software process-a field study and its implications for project management, Proc. Software process Technology, 5th European Workshop, WESPT 96, Lecture Notes in Computer Science, Vol. 1149, Berlin, Springer, pp. 241–256.Google Scholar
  26. Krutchen, P. 2000. The Rational Unified Process, London, Longman.Google Scholar
  27. Krzanik, L. 1988. Enactable models for quantitative evolutionary software processes, Proc. the 4th International Software Process Workshop on Representing and Enacting the Software Process, April 1988, ACM SIGSOFT Software Engineering Notes, Vol. 14, p. 4.Google Scholar
  28. Lehman, M.M. 1969. The programming process, IBM Research Report RC2722M. IBM Research Centre, Yorktown Heights, September 1969, In Program Evolution-Processes of Software Change, eds. M.M. Lehman and L.A. Belady, London, Academic Press, 1985.Google Scholar
  29. Lehman, M.M. 2000. Rules and tools for software evolution planning and management, FEAST2000, Imperial College, London, July, pp. 53–68.Google Scholar
  30. Lehman,M.M. and Ramil, J.F. 2001. An approach to a theory of software evolution, Proc. International Workshop on Principles of Software Evolution-IWPSE 2001 (Keynote) Vienna.Google Scholar
  31. Mills, H.D. 1971. Top-down programming in large systems, In Debugging Techniques in Large Systems, ed. R. Ruskin, Prentice-Hall, pp. 41–55.Google Scholar
  32. Mills, H.D. 1976. Software Development, IEEE Transactions on Software Engineering SE-2(6): 265–273.Google Scholar
  33. Mills, H.D. 1980. Incremental software development, IBM Systems Journal 19(4).Google Scholar
  34. Mills, H.D., Dyer, M. and Linger, R.C. 1987. Cleanroom software engineering, IEEE Software 4(3): 19–24.Google Scholar
  35. Musa, J.D. 1993. Operational profiles in software-reliability engineering, IEEE Software 10(2): 14–32.Google Scholar
  36. Parnas, D.L. 1979. Designing software for EASE of extension and contraction, IEEE Transactions on Software Engineering SE-5(2): 128–138.Google Scholar
  37. Podalsky, J.L. 1977. Horace builds a cycle, Datamation, November: 162–168.Google Scholar
  38. Royce, W. 1998, Software Project Management, A Unified Framework, Reading, MA, Addison-Wesley.Google Scholar
  39. Royce, W.E. 1990. TRW's Ada process model for incremental development of large software systems, Proc. 12th International Conference on Software Engineering, ICSE 12, IEEE Press, pp. 2–11.Google Scholar
  40. Royce, W.W. 1970. Managing the development of large software systems, Proc. IEEE WESCON 1970, IEEE Press.Google Scholar
  41. Royce, W.W. 1990. Pragmatic quality metrics for evolutionary software development models, Proc. the ACMConference on TRI-ADA '90, Baltimore, pp. 551–563.Google Scholar
  42. Stapleton, J. 1997. DSDM Dynamic Systems Development Method, Wokingham, Addison-Wesley.Google Scholar
  43. Zahran, S. 1997. Software Process Improvement, Harlow, England, Addison-Wesley.Google Scholar

Copyright information

© Kluwer Academic Publishers 2003

Authors and Affiliations

  • Oddur Benediktsson
    • 1
  • Darren Dalcher
    • 2
  • Karl Reed
    • 3
  • Mark Woodman
    • 2
  1. 1.Computer Science DivisionUniversity of IcelandReykjavíIceland
  2. 2.Middlesex UniversityLondonUK
  3. 3.Department of Computer Science and Computer EngineeringLa Trobe UniversityAustralia

Personalised recommendations