Skip to main content

Common Factors Influencing Software Project Effort

  • Chapter
  • First Online:
Software Project Effort Estimation
  • 3181 Accesses

Abstract

The effort required for developing software depends on a number of factors. The major determinant of development effort is the “size” of software, typically approximated in terms of the amount of functionality delivered by the software or the structural size of artifacts delivered by software engineering processes. Still, developing software of comparable size may require significantly different amounts of effort. This variance is related to differences in development productivity, which in turn depends on the environment of the software development project. The ability to reliably estimate software size, knowledge of the most relevant factors influencing development productivity, and an understanding of how they influence productivity are the three pillars of successful prediction of software development effort. The topic of measuring software size is so extensive that it deserves its own book (at least one) and thus is beyond the scope of this work; in Appendix A, we briefly present the most common ways of measuring software size with their most prominent strengths and weaknesses. In this chapter, we discuss common factors that determine software development productivity and thus should be considered when estimating software project effort.

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

Notes

  1. 1.

    Refer to Appendix A for discussion of common structural and functional measures of software size.

  2. 2.

    In software engineering, software product quality requirements are also referred to as nonfunctional requirements. Other than functional requirements, quality requirements specify acceptance criteria with respect to software operation, rather than its specific behaviors or functions.

References

  • Agrawal M, Chari K (2007) Software effort, quality, and cycle time: a study of CMM level 5 projects. IEEE Trans Softw Eng 33(3):145–156

    Article  Google Scholar 

  • Hsu JSC, Chang JYT, Klein G, Jiang JJ (2011) Exploring the impact of team mental models on information utilization and project performance in system development. Int J Proj Manage 29(1):1–12

    Article  Google Scholar 

  • Ambler SW (2004) Doomed from the start: what everyone but senior management seems to know. Cutter IT J 17(3):29–33

    Google Scholar 

  • Bachore Z, Zhou L (2009) A critical review of the role of user participation in IS success. In: Proceedings of the 15th Americas conference on information systems, San Francisco, CA

    Google Scholar 

  • Becker C, Huber E (2008) Die Bilanz des (Miss)-Erfolges in IT-Projekten Harte Fakten und weiche Faktoren [Summary of (Un)Successes in IT Projects. Hard Facts and Soft Factors]. White Paper, Pentaeder, Ludwigsburg, Germany

    Google Scholar 

  • Bentley J (1988) More programming pearls: confessions of a coder. Addison-Wesley Professional, Reading, MA

    MATH  Google Scholar 

  • Biehl M (2007) Success factors for implementing global information systems. Commun ACM 50(1):52–58

    Article  Google Scholar 

  • Boehm BW (1981) Software engineering economics. Prentice-Hall, Englewood Cliffs, NJ

    MATH  Google Scholar 

  • Boehm BW, Abts C, Brown AW, Chulani S, Clark BK, Horowitz E, Madachy R, Reifer D, Steece B (2000) Software cost estimation with COCOMO II. Prentice Hall, Upper Saddle River, NJ

    Google Scholar 

  • Brooks FP (1995) The mythical man-month: essays on software engineering, 2nd edn. Addison-Wesley, Boston, MA

    Google Scholar 

  • Carey JM, Kacmar CJ (1997) The impact of communication mode and task complexity on small group performance and member satisfaction. Comput Hum Behav 13(1):23–49

    Article  Google Scholar 

  • Clark BK (2000) Quantifying the effects on effort of process improvement. IEEE Softw 17(6):65–70

    Article  Google Scholar 

  • CMMI Product Team (2010) CMMI for development, Version 1.3. Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, Technical Report CMU/SEI-2010-TR-033

    Google Scholar 

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

    Google Scholar 

  • Diaz M, King J (2002) How CMM impacts quality, productivity, rework, and the bottom line. CrossTalk 15(3):9–14

    Google Scholar 

  • Ebert C, Man JD (2008) Effectively utilizing project, product and process knowledge. Inform Softw Technol 50(6):579–594

    Article  Google Scholar 

  • Espinosa J, Slaughter S, Kraut R, Herbsleb J (2007) Team knowledge and coordination in geographically distributed software development. J Manage Inform Syst 24(1):135–169

    Google Scholar 

  • Faraj S, Sproull L (2000) Coordinating expertise in software development teams. Manage Sci 46(12):1554–1568

    Article  Google Scholar 

  • Frankenhaeuser M, Gardell B (1976) Underload and overload in working life: outline of a multidisciplinary approach. J Hum Stress 2(3):35–46

    Article  Google Scholar 

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

    Google Scholar 

  • Guinan PJ, Cooprider JG, Sawyer S (1997) The effective use of automated application development tools. IBM Syst J 36(1):124–139

    Article  Google Scholar 

  • He J, Butler B, King W (2007) Team cognition: development and evolution in software project teams. J Manage Inform Syst 24(2):261–292

    Google Scholar 

  • Herbsleb JD, Mockus A (2003) An empirical study of speed and communication in globally distributed software development. IEEE Trans Softw Eng 29(6):481–494

    Article  Google Scholar 

  • Huckman RS, Staats BR, Upton DM (2009) Team familiarity, role experience, and performance: evidence from indian software services. Manage Sci 55(1):85–100

    Article  Google Scholar 

  • Humphrey WS (2001) The future of software engineering: I-V. Carnegie Mellon University, Software Engineering Institute, Pittsburgh, PA

    Google Scholar 

  • Jiang JJ, Klein G, Chen H-G, Lin L (2002) Reducing user-related risks during and prior to system development. Int J Proj Manage 20(7):507–515

    Article  Google Scholar 

  • Jones CT (2007a) Estimating software costs, 2nd edn. McGraw-Hill Osborne Media, New York

    Google Scholar 

  • Jones CT (2009) Software engineering best practices: lessons from successful projects in the top companies. McGraw-Hill Osborne Media, New York

    Google Scholar 

  • Jørgensen M, Grimstad S (2008) Avoiding irrelevant and misleading information when estimating development effort. IEEE Softw 25(3):78–83

    Article  Google Scholar 

  • Kenney S. Top two factors that tank many IT projects. The project management hut, 21 Aug 2011. http://www.pmhut.com/top-two-factors-that-tank-many-it-projects

  • Klein C, DiazGranados D, Salas E, Le H, Burke CS, Lyons R, Goodwin GF (2009) Does team building work? Small Group Res 40(2):181–222

    Article  Google Scholar 

  • Kraut RE, Streeter LA (1995) Coordination in software development. Commun ACM 38(3):69–81

    Article  Google Scholar 

  • Lee S, Yong H-S (2010) Distributed agile: project management in a global environment. Empir Softw Eng 15(2):204–217

    Article  Google Scholar 

  • McConnell S (1996) Rapid development: taming wild software schedules. Microsoft Press, Redmond, MA

    Google Scholar 

  • McConnell S (2006) Software estimation: demystifying the black art. Microsoft Press, Redmond, MA

    Google Scholar 

  • Moe NB, Dingsoyr D, Dybå D (2009) Overcoming barriers to self-management in software teams. IEEE Softw 26(6):20–26

    Article  Google Scholar 

  • Mookerjee VS, Chiang IR (2002) A dynamic coordination policy for software system construction. IEEE Trans Softw Eng 28(7):684–694

    Article  Google Scholar 

  • O’Sullivan A, Sheffrin SM (2007) Economics: principles in action, 3rd edn. Pearson Prentice Hall, Boston, MA

    Google Scholar 

  • Parolia N, Goodman S, Li Y, Jiang JJ (2007) Mediators between coordination and IS project performance. Inform Manage 44(7):635–645

    Article  Google Scholar 

  • PMI (2013) A guide to the project management body of knowledge (PMBOK Guide), 5th edn. Project Management Institute, Newtown Square, PA

    Google Scholar 

  • Putnam LH (2000) Linking the QSM productivity index with the SEI maturity level. Version 6. Quantitative Software Management, Inc., McLean, VA

    Google Scholar 

  • Rico DF (2000) Using cost benefit analyses to develop software process improvement (SPI) strategies. A DACS state-of-the-art report. ITT Industries, Advanced Engineering and Sciences Division, New York, NY

    Google Scholar 

  • Ross MA (2008) Next generation software estimating framework: 25 years and thousands of projects later. J Cost Anal Parametrics 1(2):7–30

    Article  Google Scholar 

  • Sauer C, Gemino A, Reich BH (2007) The impact of size and volatility on IT project performance. Commun ACM 50(11):79–84

    Article  Google Scholar 

  • Stevenson DH, Starkweather JA (2010) PM critical competency index: IT execs prefer soft skills. Int J Proj Manage 28(7):663–671

    Article  Google Scholar 

  • Tesch D, Sobol MG, Klein G, Jiang JJ (2009) User and developer common knowledge: effect on the success of information system development projects. Int J Proj Manage 27(7):657–664

    Article  Google Scholar 

  • Tiwana A, Keil M (2004) The one-minute risk assessment tool. Commun ACM 47(11):73–77

    Article  Google Scholar 

  • Tiwana A, McLean ER (2003) The tightrope to e-business project success. Commun ACM 46(12):345–350

    Article  Google Scholar 

  • Trendowicz A, Münch J (2009) Factors influencing software development productivity – state-of-the-art and industrial experiences. In: Zelkowitz MV (ed) Advances in computers, vol 77. Elsevier Science, New York, pp 185–241

    Google Scholar 

  • Wang Y (2007a) Software engineering foundations: a software science perspective, vol 2. Auerbach/CRC Press, New York

    Book  Google Scholar 

  • Wang Y (2007b) On laws of work organization in human cooperation. Int J Cogn Inform Nat Intell 1(2):1–15

    Article  Google Scholar 

  • Wang Y, King G (2000) Software engineering processes: principles and applications. CRC, Boca Raton, FL

    Google Scholar 

  • Weinberg GM (1986) Secrets of consulting: a guide to giving and getting advice successfully. Dorset House Publishing Company

    Google Scholar 

  • Yerkes RM, Dodson JD (1908) The relation of strength of stimulus to rapidity of habit-formation. J Comp Neurol Psychol 18(5):459–482

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Further Reading

Further Reading

  • A. Trendowicz and J. Münch (2009), “Factors Influencing Software Development Productivity - State of the Art and Industrial Experiences.” Advances in Computers, vol. 77, Elsevier Science Inc., pp. 185–241.

    This article provides a comprehensive overview of the most common context factors and effort drivers. The authors discuss effort drivers that seem to be universally applicable across various project environments and those that seem to apply only within particular project situations.

  • B. Kitchenham (1992), “Empirical Studies of the Assumptions That Underline Software Cost-Estimation Models”, Information and Software Technology, vol. 34 no. 4, pp. 211–218.

    The author examines different software engineering data sets with respect to the existence of economies of scale. The investigation does not provide statistical support for any economies and diseconomies of scale effect.

  • B. Kitchenham (2002), “The question of scale economies in software - why cannot researchers agree?” Information and Software Technology, vol. 44, no. 1, pp. 13–24.

    The author summarizes results of investigations performed by many researchers regarding the existence of (dis)economies of scale in the software engineering context. Possible sources of significant disagreement on (dis)economies effect in the software community are discussed from the perspective of the potential threats to the validity of empirical investigations that underline contradicting conclusions.

  • J. Persson and L. Mathiassen (2010), “A Process for Managing Risks in Distributed Teams,” IEEE Software, vol. 27, no. 1, pp. 20–29.

    A process for managing risks related to distributed software development teams is defined. They also provide an overview of typical risk factors, and for each factor they describe situations that would result in low, medium, and high risk, respectively. Finally, they propose appropriate risk resolution techniques and guidelines and how to compose them into appropriate risk mitigation plans.

  • C. Sauer, A. Gemino, and B.H. Reich (2007), “The impact of size and volatility on IT project performance,” Communications of ACM, vol. 50, no. 11, pp. 79–84.

    The authors discuss the impact of the size and volatility of a software project on its performance. They investigate several factors that contribute to reduction in project performance as its scale increases.

  • J.P. Scott (2000), Social Network Analysis: A handbook. 2 nd Edition. Sage Publications Ltd.

    This book discusses the characteristics of team work in terms of social relationships among team members. In social network analysis, these relationships are realized as a network. A set of principle metrics is proposed to quantitatively analyze properties of a social network. Aspects such as network density, centrality, or cohesion are considered as useful indicators of potential deficits in team performance.

  • Z. Bachore and L. Zhou (2009), “A Critical Review of the Role of User Participation in IS Success,” Proceedings of the 15th Americas Conference on Information Systems, San Francisco, California, USA.

    The authors provide a comprehensive review of the studies that investigate the influence of user participation on the success of a software development project.

  • J. Shim, T.S. Sheu, J.J. Jiang, and G. Klein (2010), “Coproduction in the Successful Software Development Project,” Information and Software Technology, vol. 52, No. 10, pp. 1062–1068.

    An investigation of key factors for the successful involvement of users in software development projects. They consider “partnership” between developers and users as a crucial driver supporting the expertise exchange. Authors list a number of detailed aspects that need to be considered when assessing the level of partnership between customers and developers as well as when locating and applying expertise required in the project.

  • A. Trendowicz, A. Wickankamp, M. Ochs, J. Münch, Y. Ishigai, and T. Kawaguchi (2008), “Integrating Human Judgment and Data Analysis to Identify Factors Influencing software Development Productivity”, e-Informatica Software Engineering Journal, vol. 2, no. 1, pp. 47–69.

    This article discusses alternative strategies for selecting relevant effort drivers. The authors discuss the strengths and weaknesses of approaches based on human judgment and data analysis. They propose a novel, hybrid approach that combines both strategies in order to exploit their strengths and to avoid their weaknesses. The method elicits relevant factors by integrating data analysis and expert judgment approaches by means of a multicriteria decision analysis (MCDA) technique. Empirical evaluation of the method in an industrial context indicates that it delivers a different set of factors compared to individual data- and expert-based factor selection methods. Moreover, application of the integrated method significantly improves the performance of effort estimation in terms of accuracy and precision.

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Trendowicz, A., Jeffery, R. (2014). Common Factors Influencing Software Project Effort. In: Software Project Effort Estimation. Springer, Cham. https://doi.org/10.1007/978-3-319-03629-8_3

Download citation

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

  • 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