Skip to main content

Challenges of Predictable Software Development

  • Chapter
  • First Online:
Software Project Effort Estimation

Abstract

Effort and cost estimation are of paramount importance for the success of software development projects. Everyday practice shows that many software organizations still propose unrealistic software costs, work within tight schedules, and finish their projects behind schedule and budget, or do not complete them at all.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  • DeMarco T (1982) Controlling software projects: management, measurement, and estimates. Prentice-Hall, Englewood Cliffs, NJ

    Google Scholar 

  • Glass RL (2002) Facts and fallacies of software engineering. Addison-Wesley Professional, Boston, MA

    Google Scholar 

  • Rosencrance L (2007) Survey: poor communication causes most IT project failures. Inadequate resource planning, unrealistic deadlines also cited in CompTIA study. Computerworld, 9 March

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Further Reading

Further Reading

  • R. Charette (2005), “Why software fails [software failure],” IEEE Spectrum, vol. 42, no. 9, pp. 42–49.

    This article looks at the status and the future of software. In the context of trends in size and complexity, it gives an overview of famous software disasters and their reasons. Among the most relevant causes of failed software projects are unrealistic or unarticulated project goals, inaccurate estimates of needed resources, and inability to handle the project’s complexity.

  • L.J. Osterweil (2007), “A Future for Software Engineering?,” Proceedings of the 29th International Conference on Software Engineering, Workshop on the Future of Software Engineering, Minneapolis, MN, USA: IEEE Computer Society, pp. 1–11.

    This article identifies common trends and key challenges of software engineering practice and research. Among other items, it asks about the future of design, modeling, and quantitative quality control of something as intangible as software.

  • Y. Wang (2007a), Software Engineering Foundations: A Software Science Perspective, CRC Software Engineering Series, vol. 2, AUERBACH/CRC Press.

    In Sect. 1.3 of his book, the author discusses general constraints of software and software engineering. He distinguishes three interrelated groups of constraints: cognitive, organizational, and resources constraints. For each group, the author lists and specifies in detail several basic constraints.

  • E. Yourdon (2003), Death March, 2nd Edition, Prentice Hall.

    This book is one of the software engineering and project management classics, which, although not being technologically completely up-to-date now, discusses timeless traps of software project management. The author discusses reasons for software projects being what it calls “death march” projects; that is, projects that are sentenced to fail from the very beginning because of their unrealistic set up. Typical symptoms of a “death march” project are: (1) schedule, budget, and staff are about half of what would be necessary, (2) planned product scope is unrealistic, and (3) people are working 14 h a day, 6 or 7 days a week. Author suggests a number of useful solutions to avoid and, if this is not an option, to rescue death march projects.

  • S. McConnell (1997), Software Project Survival Guide, 1st Edition, Microsoft Press.

    The book provides a set of guidelines on how to successfully perform software projects. For each major stage of software development, the author refers to the most common weaknesses that software projects typically face and discusses ways of addressing them in order to successfully get through the project.

  • T. DeMarco and T. Lister (1999), Peopleware: Productive Projects and Teams, 2nd Edition, Dorset House Publishing Company, Inc., p. 245.

    This book discusses human aspects of software engineering. Authors show that the primary issues of software development are human, not technical.

  • F. P. Brooks (1995), The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, 2nd Edition, Addison-Wesley Professional.

    This book discusses human aspects of software engineering. Fred Brooks makes a simple conjecture that an intellectual job, such as software development, is completely different from physical labor jobs, such as traditional manufacturing—although both jobs may be human-intensive. Using this assumption, the author discusses in a number of short essays people- and team-related aspects of software development projects. The book discusses many important issues of managing human resources, such as work environment, team building, and organizational learning. Finally, the author outlines important pitfalls of managing software projects and development teams and suggests a number of interesting solutions to these pitfalls.

  • J. E. Tomayko and O. Hazzan (2004), Human Aspects of Software Development, Charles River Media Inc., p.338.

    The authors devote their book to software engineering as a human-intensive activity. They discuss a number of social and cognitive aspects of software engineering such as teamwork, customer–developer relationships, and learning processes in software development.

  • T. DeMarco (1982), Controlling Software Projects: Management, Measurement, and Estimates, Prentice Hall.

    This book is another software engineering and project management classic. It discusses timeless aspects of managing software projects on the basis of quantitative information. The author devotes three out of four parts to project estimation and measurement. The first part of the book addresses the issue of project estimation as a key element of project control. The author discusses the typical challenges of estimation and shows examples of how to implement successful estimation processes within a software organization.

  • Project Management Institute, Inc. (2013), A Guide to the Project Management Body of Knowledge (PMBOK® Guide), 5th Edition.

    The PMBOK provides a collection of best practices on professional project management. The body of knowledge presented in the book includes well-recognized and widely applied project management processes and associated techniques. Among other project management processes, the PMBOK provides standard procedures and guidelines regarding project estimation. Moreover, relationships of estimation to other project management processes are well illustrated and comprehensively explained.

  • S. Berkun (2008), Making Things Happen: Mastering Project Management, Revised Edition, O’Reilly Media.

    This book is a collection of essays, each of which addresses selected aspects of project management. The essays are organized around three major project aspects: plans, skills, and management. For each, it discusses key success criteria, associated challenges, and best-practice solutions. Moreover, he illustrates issues with a number of real-life examples.

  • M. Lopp (2012), Managing Humans: Biting and Humorous Tales of a Software Engineering Manager, 2nd Edition, Apress.

    The book comprises a number of essays devoted to the subject of managing humans and work activities in software development projects. He discusses typical behaviors of managers and engineers, and typical problems of interactions between these two groups of project members. The author specifies, in a very expressive manner, the skills a manager should possess to deal with these issues in everyday life. For each challenge, the author sketches an example situation and suggests best-practice solutions.

  • S. McConnell (2006), Software Estimation: Demystifying the Black Art, Microsoft Press.

    In the first chapter of his book, McConnell presents his view on what constitutes a “good estimate.” He starts with two basic aspects: (1) distinguishing between estimates, plans, and bids and (2) accounting for estimation uncertainty and considering estimates in probabilistic terms. Next, he takes a critical look at the common definitions of good estimates dominated by estimation accuracy perspective.

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Trendowicz, A., Jeffery, R. (2014). Challenges of Predictable Software Development. In: Software Project Effort Estimation. Springer, Cham. https://doi.org/10.1007/978-3-319-03629-8_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-03629-8_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-03628-1

  • Online ISBN: 978-3-319-03629-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics