Common Factors Influencing Software Project Effort

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.

[1]  Bradley R. Staats,et al.  Team familiarity, role experience, and performance: evidence from indian software services , 2008, IEEE Engineering Management Review.

[2]  Tore Dybå,et al.  Overcoming Barriers to Self-Management in Software Teams , 2009, IEEE Software.

[3]  Deborah H. Stevenson,et al.  PM critical competency index: IT execs prefer soft skills , 2010 .

[4]  Graham King,et al.  Software Engineering Processes: Principles and Applications , 2000 .

[5]  Amrit Tiwana,et al.  The one-minute risk assessment tool , 2004, CACM.

[6]  Gary Klein,et al.  Reducing user-related risks during and prior to system development , 2002 .

[7]  Steve Sawyer,et al.  The Effective Use of Automated Application Development Tools , 1997, IBM Syst. J..

[8]  Ephraim R. McLean,et al.  The tightrope to e-business project success , 2003, CACM.

[9]  Michael Diaz,et al.  How CMM Impacts Quality, Productivity, Rework, and the Bottom Line , 2002 .

[10]  Blaize Horner Reich,et al.  The impact of size and volatility on IT project performance , 2007, CACM.

[11]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[12]  M. Frankenhaeuser,et al.  Underload and overload in working life: outline of a multidisciplinary approach. , 1976, Journal of human stress.

[13]  Robert E. Kraut,et al.  Coordination in software development , 1995, CACM.

[14]  James D. Herbsleb,et al.  Team Knowledge and Coordination in Geographically Distributed Software Development , 2007, J. Manag. Inf. Syst..

[15]  Steve McConnell Software Estimation: Demystifying the Black Art , 2006 .

[16]  A. o'sullivan Economics Principles in Action , 2001 .

[17]  Bradford K. Clark Quantifying the effects of process improvement on effort , 2000 .

[18]  Tom DeMarco,et al.  Controlling Software Projects: Management, Measurement, and Estimates , 1986 .

[19]  R. Yerkes,et al.  The relation of strength of stimulus to rapidity of habit‐formation , 1908 .

[20]  Christof Ebert,et al.  Effectively utilizing project, product and process knowledge , 2008, Inf. Softw. Technol..

[21]  Steve McConnell,et al.  Rapid Development: Taming Wild Software Schedules , 1996 .

[22]  Eduardo Salas,et al.  Does Team Building Work? , 2009 .

[23]  Vijay S. Mookerjee,et al.  A Dynamic Coordination Policy for Software System Construction , 2002, IEEE Trans. Software Eng..

[24]  Audris Mockus,et al.  An Empirical Study of Speed and Communication in Globally Distributed Software Development , 2003, IEEE Trans. Software Eng..

[25]  Cmmi Product Team CMMI for Development, Version 1.2 , 2010 .

[26]  Markus Biehl,et al.  Success factors for implementing global information systems , 2007, Commun. ACM.

[27]  Michael A. Ross,et al.  Next Generation Software Estimating Framework: 25 Years and Thousands of Projects Later , 2008 .

[28]  Lina Zhou,et al.  A Critical Review of the Role of User Participation in IS Success , 2009, AMCIS.

[29]  Jürgen Münch,et al.  Factors Influencing Software Development Productivity - State-of-the-Art and Industrial Experiences , 2009, Adv. Comput..

[30]  James J. Jiang,et al.  Mediators between coordination and IS project performance , 2007, Inf. Manag..

[31]  Gary Klein,et al.  User and developer common knowledge: Effect on the success of information system development projects , 2009 .

[32]  T. Capers Jones,et al.  Estimating software costs , 1998 .

[33]  L. Sproull,et al.  Coordinating Expertise in Software Development Teams , 2000 .

[34]  Jane M. Carey,et al.  The Impact of Communication Mode and Task Complexity on Small Group Performance and Member Satisfaction. , 1997 .

[35]  Jon Louis Bentley,et al.  More programming pearls - confessions of a coder , 1988 .

[36]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[37]  Manish Agrawal,et al.  Software Effort, Quality, and Cycle Time: A Study of CMM Level 5 Projects , 2007, IEEE Transactions on Software Engineering.

[38]  Yingxu Wang,et al.  On Laws of Work Organization in Human Cooperation , 2007, Int. J. Cogn. Informatics Nat. Intell..

[39]  Hwan-Seung Yong,et al.  Distributed agile: project management in a global environment , 2010, Empirical Software Engineering.

[40]  Frederick P. Brooks,et al.  The Mythical Man-Month: Essays on Softw , 1978 .

[41]  Gary Klein,et al.  Exploring the impact of team mental models on information utilization and project performance in system development , 2011 .

[42]  Robert L. Glass,et al.  Facts and fallacies of software engineering , 2002 .

[43]  Yingxu Wang,et al.  Software Engineering Foundations: A Software Science Perspective , 2007 .

[44]  Brian S. Butler,et al.  Team Cognition: Development and Evolution in Software Project Teams , 2007, J. Manag. Inf. Syst..

[45]  Magne Jørgensen,et al.  Avoiding Irrelevant and Misleading Information When Estimating Development Effort , 2008, IEEE Software.