Impact of Software Complexity on Development Productivity

With increasing demands on software functions, software systems become more and more complex. This complexity is one of the most pervasive factors affecting software development productivity. Assessing the impact of software complexity on development productivity helps to provide effective strategies for development process and project management. Previous research literatures have suggested that development productivity declines exponentially with software complexity. Borrowing insights from cognitive learning psychology and behavior theory, the relationship between software complexity and development productivity was reexamined in this paper. This research identified that the relationship partially showed a U-shaped as well as an inverted U-shaped curvilinear tendency. Furthermore, the range of complexity level that is beneficial for productivity has been presented, in which, the lower bound denotes the minimum degree of complexity at which personnel can be motivated, while the upper bound shows the maximum extent of complexity that staff can endure. Based on our findings, some guidelines for improving personnel management of software industry have also been given.

[1]  Chris F. Kemerer,et al.  Cyclomatic Complexity Density and Software Maintenance Productivity , 1991, IEEE Trans. Software Eng..

[2]  B. Zimmerman,et al.  Motivation and Self-Regulated Learning: Theory, Research, and Applications , 2009 .

[3]  Katrina D. Maxwell,et al.  Applied Statistics for Software Managers , 2002 .

[4]  H. Marsh Students ' Evaluations of University Teaching : Dimensionality , Reliability , Validity , Potential Biases , and Utility , 2005 .

[5]  Vijay S. Mookerjee,et al.  Improving software team productivity , 2004, CACM.

[6]  Jia Lin Xie,et al.  Job Scope and Stress: Can Job Scope Be Too High? , 1995 .

[7]  Gary D. Scudder,et al.  Improving Speed and Productivity of Software Development: A Global Survey of Software Developers , 1996, IEEE Trans. Software Eng..

[8]  Barry W. Boehm,et al.  Improving Software Productivity , 1987, Computer.

[9]  David N. Card,et al.  Improving software quality and productivity , 1987 .

[10]  Jeffrey R. Edwards,et al.  On the Use of Polynomial Regression Equations As An Alternative to Difference Scores in Organizational Research , 1993 .

[11]  Sanna Järvelä,et al.  The changes in learning theory and the topicality of the recent research on motivation , 1999 .

[12]  Ning Nan,et al.  Impact of Budget and Schedule Pressure on Software Development Cycle Time and Effort , 2009, IEEE Transactions on Software Engineering.

[13]  Lars Lundberg,et al.  The increase of productivity over time - an industrial case study , 2006, Inf. Softw. Technol..

[14]  G. R. Oldham,et al.  The curvilinear relation between experienced creative time pressure and creativity: moderating effects of openness to experience and support for creativity. , 2006, The Journal of applied psychology.

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

[16]  C. Jones How Software Personnel Learn New Skills, Software Challenges , 1995, Computer.

[17]  C. Agué Stress and distress in response to psychosocial stimuli , 1973 .

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

[19]  Renato R. Gonzalez,et al.  A unified metric of software complexity: Measuring productivity, quality, and value , 1995, J. Syst. Softw..

[20]  Magnus Söderlund,et al.  “The organizational change imperative”: an empirical examination of how work units in a learning context respond to increasing complexity , 2000 .