Modern DevOps: Optimizing software development through effective system interactions

Software development processes are fundamentally based on efficient and effective communication. Communication between engineers, between engineers and managers, and between teams and clients are all essential components of a successful project. Requirements must be effectively transferred from client to engineer, specifications must be transitioned from architect to engineer, and constant communication between project team members, managers, and clients throughout the project life cycle is critical to the success of projects of any complexity. To succeed in a world where technologies, requirements, ideas, tools, and timelines are constantly changing, information must be accurate, readily available, easily found, and ideally delivered constantly, in real-time, to all team members. To meet these challenges, modern software development has evolved to encompass key concepts of adaptability to change and data-driven project management. A recent movement dubbed DevOps has attempted to use automated systems to bridge the information gap between project team entities and to enforce rigorous processes to ensure real-time communications. In this paper, the authors frame this challenge as a communications problem that can be addressed by the introduction of specifically designed autonomous system actors and processes. Successful implementation of such a methodology will enable efficient, effective, and immediate data collection, synthesis, and transfer of information between all requisite entities within the software project. A generalized model of DevOps will be presented and analyzed, offering a formalization of the communications and actors requisite to any effective software development process. These concepts will be further developed to illustrate the information flow between human and system actors, and explore how this model can be used to optimize the processes of a software development team to maximize productivity and quality of work products.

[1]  S. Z. Sarwar,et al.  Agile software development: Impact on productivity and quality , 2010, 2010 IEEE International Conference on Management of Innovation & Technology.

[2]  Philip M. Johnson,et al.  Beyond the Personal Software Process: Metrics collection and analysis for the differently disciplined , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[3]  Tom Gilb Evolutionary Delivery versus the "waterfall model" , 1985, SOEN.

[4]  Thomas E. Bell,et al.  Software requirements: Are they really a problem? , 1976, ICSE '76.

[5]  A. Wilkins,et al.  What brings intentions to mind? An in situ study of prospective memory. , 1997, Memory.

[6]  Jeff Sutherland,et al.  Manifesto for Agile Software Development , 2013 .

[7]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[8]  Jennifer E. Rowley,et al.  The wisdom hierarchy: representations of the DIKW hierarchy , 2007, J. Inf. Sci..

[9]  L. Snyder,et al.  Extensive practice does not eliminate human switch costs , 2007, Cognitive, affective & behavioral neuroscience.

[10]  David M. Frohlich,et al.  Timespace in the workplace: dealing with interruptions , 1995, CHI 95 Conference Companion.

[11]  Dongmei Zhang,et al.  Software Analytics in Practice , 2013, IEEE Software.

[12]  Douglas C. Schmidt,et al.  Metric-driven analysis and feedback systems for enabling empirically guided software development , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[13]  Alistair Cockburn,et al.  Agile Software Development: The Business of Innovation , 2001, Computer.

[14]  Michael Hausenblas,et al.  LD2SD: Linked Data Driven Software Development , 2009, SEKE.

[15]  Mary Czerwinski,et al.  An Investigation of Memory for Daily Computing Events , 2002 .

[16]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[17]  R. Ackoff From Data to Wisdom , 2014 .

[18]  Mary Czerwinski,et al.  A diary study of task switching and interruptions , 2004, CHI.

[19]  Marc Reichenbach,et al.  Continuous Integration and Automation for Devops , 2013 .

[20]  Watts S. Humphrey,et al.  Using A Defined and Measured Personal Software Process , 1996, IEEE Softw..