A coevolving systems approach to the organization of agile software development.
MetadataShow full item record
This item's downloads: 600 (view details)
Vidgen, R., & Wang, X. (2009). A coevolving systems approach to the organization of agile software development. Information systems research, 20(3), 355-376.
Despite the popularity of agile methods in software development and increasing adoption by organizations there is debate about what agility is and how it is achieved. The debate suffers from a lack of understanding of agile concepts and how agile software development is practised. This paper develops a framework for the organization of agile software development that identifies enablers and inhibitors of agility and the emergent capabilities of agile teams. The work is grounded in complex adaptive systems (CAS) and draws on three principles of coevolving systems: match coevolutionary change rate, maximise self-organizing, and synchronize exploitation and exploration. These principles are used to study the processes of two software development teams, one a team using eXtreme Programming (XP) and the other a team using a more traditional, waterfall-based development cycle. From the cases a framework for the organisation of agile software development is developed. Time pacing, self-management with discipline and routinisation of exploration are among the agile enablers found in the cases studies while event pacing, centralised management and lack of resources allocated to exploration are found to be inhibitors to agility. Emergent capabilities of agile teams that are identified from the research include coevolution of business value, sustainable working with rhythm, sharing and team learning, and collective mindfulness.