Publication | Open Access
Coevolving Systems and the Organization of Agile Software Development
325
Citations
52
References
2009
Year
Software Development TeamsEngineeringProject ManagementSoftware EngineeringEmergent CapabilitiesScrumAgile Software DevelopmentManagementSystems EngineeringExtreme ProgrammingSoftware PracticeAgile MethodologiesSoftware Development ProcessAgile DevelopmentDesignStrategyStrategic ManagementSoftware DesignSoftware DevelopmentDevelopment MethodologyBusinessAgile Manufacturing
Agile methods are widely adopted, yet debate remains over what constitutes agility and how it is achieved, partly due to limited understanding of agile concepts and practices. This paper develops a framework for organizing agile software development that identifies enablers, inhibitors, and emergent capabilities of agile teams. Grounded in complex adaptive systems, the framework applies three coevolutionary principles—matching change rates, maximizing self‑organization, and synchronizing exploration and exploitation—to case studies of an XP team and a waterfall team. The study identifies time pacing, disciplined self‑management, and routinized exploration as enablers, while event pacing, centralized management, and resource constraints inhibit agility; it also uncovers emergent capabilities such as coevolution of business value, sustainable rhythm, shared learning, and collective mindfulness.
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 practiced. 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, maximize 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 organization of agile software development is developed. Time pacing, self-management with discipline and routinization of exploration are among the agile enablers found in the cases studies while event pacing, centralized 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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1