A Complexity Theory Viewpoint on the Software Development Process and Situational Context

The research literature informs us that a software development process should be appropriate to its software development context but there is an absence of explicit guidance on how to achieve the harmonization of a development process with the corresponding situational context. Whilst this notion of harmonization may be intuitively appealing, in this paper we argue that interaction between a software development process and its situational context is an instance of a complex system. In Complexity Theory, complex systems consist of multiple agents that interact in a multitude of diverse ways, with system outcomes being non-deterministic. Complex systems are therefore noted to be difficult to control, such as is the case with many software development endeavors. If the interaction of software processes with situational contexts is representative of a complex system, then we should not be surprised that the task of software development has proven so resistant to attempts to produce generalized software processes. We should also seek to ameliorate the software development challenge through the adoption of techniques recommended for use in managing complex systems, not as a replacement for the many software process approaches presently in use, but as complement that can aid the task of process definition and evolution.

[1]  Ken Schwaber,et al.  Agile Project Management with Scrum , 1980 .

[2]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[3]  Bill Curtis Modeling the software process: three problems overcome with behavioral models of the software development process (panel session) , 1989, ICSE 1989.

[4]  Raymond J. Madachy,et al.  Software process simulation modeling: Why? What? How? , 1999, J. Syst. Softw..

[5]  Watts S. Humphrey,et al.  Software process modeling: principles of entity process models , 1989, ICSE '89.

[6]  Tore Dybå Contextualizing empirical evidence , 2013, IEEE Software.

[7]  Barry W. Boehm,et al.  Empirical Findings in Agile Methods , 2002, XP/Agile Universe.

[8]  Harlan D. Mills Software Development , 1976, IEEE Transactions on Software Engineering.

[9]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[10]  Richard Baskerville,et al.  Amethodical systems development: the deferred meaning of systems development methods , 2000 .

[11]  Jim Highsmith,et al.  Agile Software Development Ecosystems , 2002 .

[12]  Sandra Slaughter,et al.  Quality Improvement and Infrastructure Activity Costs in Software Development: A Longitudinal Analysis , 2003, Manag. Sci..

[13]  S. Manson Simplifying complexity: a review of complexity theory , 2001 .

[14]  Gérard P. Cachon,et al.  Perspective: Complexity Theory and Organization Science , 1999, Organization Science.

[15]  Marc D Halley Think big, act small. , 2012, Healthcare financial management : journal of the Healthcare Financial Management Association.

[16]  Alfonso Fuggetta,et al.  Software process: a roadmap , 2000, ICSE '00.

[17]  D. Zohary,et al.  Unconscious selection and the evolution of domesticated Plants , 2008, Economic Botany.

[18]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[19]  Patrick L. Schultz,et al.  Storytelling, time, and evolution: The role of strategic leadership in complex adaptive systems ☆ , 2007 .

[20]  Watts S. Humphrey,et al.  A discipline for software engineering , 2012, Series in software engineering.

[21]  Ken Schwaber,et al.  SCRUM Development Process , 1997 .

[22]  Rory V. O'Connor,et al.  Software process reflexivity and business performance: initial results from an empirical study , 2015, ICSSP.

[23]  Orit Hazzan,et al.  The Agile Manifesto , 2014 .

[24]  P. Cilliers,et al.  Complexity and post-modernism: understanding complex systems , 1999 .

[25]  A SlaughterSandra,et al.  Quality Improvement and Infrastructure Activity Costs in Software Development , 2003 .

[26]  Watts S. Humphrey,et al.  Software process development and enactment: concepts and definitions , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[27]  Rory V. O'Connor,et al.  Exploring the Relationship between Software Process Adaptive Capability and Organisational Performance , 2015, IEEE Transactions on Software Engineering.

[28]  Hind Benbya,et al.  Toward a complexity theory of information systems development , 2006, Inf. Technol. People.

[29]  D. Ross Jeffery,et al.  An exploratory study of why organizations do not adopt CMMI , 2007, J. Syst. Softw..

[30]  Rory O'Connor,et al.  Investigating software process in practice: A grounded theory perspective , 2008, J. Syst. Softw..

[31]  K. Eisenhardt,et al.  The Art of Continuous Change : Linking Complexity Theory and Time-Paced Evolution in Relentlessly Shifting Organizations , 1997 .

[32]  Nigel Thrift,et al.  The Place of Complexity , 1999 .

[33]  C. G. Perry,et al.  General Systems Theory and Psychiatry , 1970 .

[34]  Nannette P. Napier,et al.  Building contextual ambidexterity in a software company to improve firm-level coordination , 2011, Eur. J. Inf. Syst..

[35]  A. Whitehead Science and the Modern World , 1926 .

[36]  Diane Larsen‐Freeman Chaos/Complexity Theory for Second Language Acquisition , 2012 .

[37]  Paul Rook,et al.  Controlling software projects , 1986, Softw. Eng. J..

[38]  W S McCulloch,et al.  A logical calculus of the ideas immanent in nervous activity , 1990, The Philosophy of Artificial Intelligence.

[39]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[40]  Bill Curtis Three Problems Overcome with Behavioral Models of the Software Development Process , 1989, ICSE.

[41]  Alan Shiell,et al.  A simple guide to chaos and complexity , 2007, Journal of Epidemiology & Community Health.

[42]  Rory V. O'Connor,et al.  The situational factors that affect the software development process: Towards a comprehensive reference framework , 2012, Inf. Softw. Technol..

[43]  Gary B. Wills,et al.  Historical Roots of Agile Methods: Where Did "Agile Thinking" Come From? , 2008, XP.