Situational Software Engineering: Complex Adaptive Responses of Software Development Teams
Barry Myburgh
DOI: http://dx.doi.org/10.15439/2014F196
Citation: Proceedings of the 2014 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 2, pages 841–850 (2014)
Abstract. The Complex Adaptive Situational Model (CASM) described in this paper promotes understanding of what it takes to establish conditions which enable software engineering success, not only with agile approaches, but also traditional, plan-driven software engineering. Influenced by aspects of complexity science, CASM explains aspects of the state of dynamic equilibrium that is achieved by a software engineering team under the constraining influence of management and production governance. The team is a complex adaptive system (CAS) with people as the active agents. Four states of dynamic equilibrium are defined: Crafted Quality (agile), Controlled Quality (waterfall), Managed Costs (WetAgile) and Self-Directed Quality. Management's challenge is to appropriately apply constraints that enable the required state of dynamic equilibrium. The journey across the band of feasibility is described by introducing SEMAT, with Crafted Quality amounting to applying SEMAT Essence, and Controlled Quality being achieved by introducing additional practices which satisfy the more stringent governance requirements.