The Effect of Complexity and Value on Architecture Planning in Agile Software Development
Michael Waterman, James Noble, and George Allan
A key feature of agile software development is its prioritisation of responding to changing requirements over planning ahead. If an agile development team spends too much time planning and designing architecture then responding to change will be extremely costly, while not doing enough architectural design puts the project at risk of failure. Striking the balance depends heavily on the context of the system be- ing built, the environment and the development teams. This Grounded Theory research into how much architecture agile teams design up-front has identified system complexity as an important factor in determining how much planning a team does up-front, while system size, although related to complexity, has a much less direct impact. Furthermore, when determining how much design to do up-front, value to the customer can be a more important factor than overall development cost. Understand- ing these factors can help agile teams to determine how much up-front planning is appropriate for the systems they develop.
Michael Waterman is a software engineering PhD student at Victoria University of Wellington, New Zealand. His research topic is the investigation of how the software industry deals with the apparent paradox of up-front architecture planning and agile software development.
Victoria University of Wellington, New Zealand, Michael.Waterman@ecs.vuw.ac.nz
James Noble, and George Allan, Victoria University of Wellington, New Zealand, firstname.lastname@example.org, George.Allan@ecs.vuw.ac.nz