posted on 2010-10-18, 22:54authored byRichard Vidgen, Xiaofeng Wang
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.
History
Publication
Informations Systems Research;20/ 3/ pp. 355-376
Publisher
INFORMS (Institute for Operations Research and Management Sciences)