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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Refer to Appendix A for discussion of common structural and functional measures of software size.
- 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
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
Ambler SW (2004) Doomed from the start: what everyone but senior management seems to know. Cutter IT J 17(3):29–33
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
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
Bentley J (1988) More programming pearls: confessions of a coder. Addison-Wesley Professional, Reading, MA
Biehl M (2007) Success factors for implementing global information systems. Commun ACM 50(1):52–58
Boehm BW (1981) Software engineering economics. Prentice-Hall, Englewood Cliffs, NJ
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
Brooks FP (1995) The mythical man-month: essays on software engineering, 2nd edn. Addison-Wesley, Boston, MA
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
Clark BK (2000) Quantifying the effects on effort of process improvement. IEEE Softw 17(6):65–70
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
DeMarco T (1982) Controlling software projects: management, measurement, and estimates. Prentice-Hall, Englewood Cliffs, NJ
Diaz M, King J (2002) How CMM impacts quality, productivity, rework, and the bottom line. CrossTalk 15(3):9–14
Ebert C, Man JD (2008) Effectively utilizing project, product and process knowledge. Inform Softw Technol 50(6):579–594
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
Faraj S, Sproull L (2000) Coordinating expertise in software development teams. Manage Sci 46(12):1554–1568
Frankenhaeuser M, Gardell B (1976) Underload and overload in working life: outline of a multidisciplinary approach. J Hum Stress 2(3):35–46
Glass RL (2002) Facts and fallacies of software engineering. Addison-Wesley Professional, Boston, MA
Guinan PJ, Cooprider JG, Sawyer S (1997) The effective use of automated application development tools. IBM Syst J 36(1):124–139
He J, Butler B, King W (2007) Team cognition: development and evolution in software project teams. J Manage Inform Syst 24(2):261–292
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
Huckman RS, Staats BR, Upton DM (2009) Team familiarity, role experience, and performance: evidence from indian software services. Manage Sci 55(1):85–100
Humphrey WS (2001) The future of software engineering: I-V. Carnegie Mellon University, Software Engineering Institute, Pittsburgh, PA
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
Jones CT (2007a) Estimating software costs, 2nd edn. McGraw-Hill Osborne Media, New York
Jones CT (2009) Software engineering best practices: lessons from successful projects in the top companies. McGraw-Hill Osborne Media, New York
Jørgensen M, Grimstad S (2008) Avoiding irrelevant and misleading information when estimating development effort. IEEE Softw 25(3):78–83
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
Kraut RE, Streeter LA (1995) Coordination in software development. Commun ACM 38(3):69–81
Lee S, Yong H-S (2010) Distributed agile: project management in a global environment. Empir Softw Eng 15(2):204–217
McConnell S (1996) Rapid development: taming wild software schedules. Microsoft Press, Redmond, MA
McConnell S (2006) Software estimation: demystifying the black art. Microsoft Press, Redmond, MA
Moe NB, Dingsoyr D, Dybå D (2009) Overcoming barriers to self-management in software teams. IEEE Softw 26(6):20–26
Mookerjee VS, Chiang IR (2002) A dynamic coordination policy for software system construction. IEEE Trans Softw Eng 28(7):684–694
O’Sullivan A, Sheffrin SM (2007) Economics: principles in action, 3rd edn. Pearson Prentice Hall, Boston, MA
Parolia N, Goodman S, Li Y, Jiang JJ (2007) Mediators between coordination and IS project performance. Inform Manage 44(7):635–645
PMI (2013) A guide to the project management body of knowledge (PMBOK Guide), 5th edn. Project Management Institute, Newtown Square, PA
Putnam LH (2000) Linking the QSM productivity index with the SEI maturity level. Version 6. Quantitative Software Management, Inc., McLean, VA
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
Ross MA (2008) Next generation software estimating framework: 25 years and thousands of projects later. J Cost Anal Parametrics 1(2):7–30
Sauer C, Gemino A, Reich BH (2007) The impact of size and volatility on IT project performance. Commun ACM 50(11):79–84
Stevenson DH, Starkweather JA (2010) PM critical competency index: IT execs prefer soft skills. Int J Proj Manage 28(7):663–671
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
Tiwana A, Keil M (2004) The one-minute risk assessment tool. Commun ACM 47(11):73–77
Tiwana A, McLean ER (2003) The tightrope to e-business project success. Commun ACM 46(12):345–350
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
Wang Y (2007a) Software engineering foundations: a software science perspective, vol 2. Auerbach/CRC Press, New York
Wang Y (2007b) On laws of work organization in human cooperation. Int J Cogn Inform Nat Intell 1(2):1–15
Wang Y, King G (2000) Software engineering processes: principles and applications. CRC, Boca Raton, FL
Weinberg GM (1986) Secrets of consulting: a guide to giving and getting advice successfully. Dorset House Publishing Company
Yerkes RM, Dodson JD (1908) The relation of strength of stimulus to rapidity of habit-formation. J Comp Neurol Psychol 18(5):459–482
Author information
Authors and Affiliations
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
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)