Abstract
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 being 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. Understanding these factors can help agile teams to determine how much up-front planning is appropriate for the systems they develop.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Kruchten, P.: The Rational Unified process – an Introduction. Addison Wesley (1998)
Booch, G.: Architectural organizational patterns. IEEE Software 25(03), 18–19 (2008)
Beck, K., et al.: Agile manifesto (2001), http://agilemanifesto.org/
Ambler, S.W.: Agile architecture: Strategies for scaling agile development, http://www.agilemodeling.com/essays/agileArchitecture.html
Deemer, P., Benefield, G., Larman, C., Vodde, B.: The scrum primer (2010), http://assets.scrumtraininginstitute.com/downloads/1/scrumprimer121.pdf
Beck, K.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley Professional (2005)
Poppendieck, M., Poppendieck, T.: Lean Software Development: An Agile Toolkit. Addison-Wesley Professional (2003)
Coplien, J.O., Bjørnvig, G.: Lean Architecture for Agile Software Development. John Wiley and Sons, Ltd. (2010)
Abrahamsson, P., Babar, M.A., Kruchten, P.: Agility and architecture: Can they coexist? IEEE Software 27(02) (2010)
Kruchten, P.: Agility and architecture: an oxymoron? In: SAC 21 Workshop: Software Architecture Challenges in the 21st Century (2009)
Booch, G.: The accidental architecture. IEEE Software 23(03), 9–11 (2006)
Booch, G.: An architectural oxymoron. IEEE Software 27(05), 96 (2010)
Avram, A.: 10 suggestions for the architect of an agile team (September 2010), http://www.infoq.com/news/2010/09/Tips-Architect-Agile-Team
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. SEI Series in Software Engineering. Addison-Wesley (2003)
Booch, G.: The irrelevance of architecture. IEEE Software 24(03), 10–11 (2007)
Fairbanks, G.: Just Enough Software Architecture: A Risk Driven Approach. Marshall and Brainerd (2010)
Taylor, P.R.: The Situated Software Architect. PhD thesis, Monash University (December 2007)
Boehm, B.: Architecting: How much and when? In: Oram, A., Wilson, G. (eds.) Making Software. O’Reilly (2011)
Boehm, B.W., Clark, Horowitz, Brown, Reifer, Chulani, Madachy, R., Steece, B.: Software Cost Estimation with COCOMO II with CD-Rom, 1st edn. Prentice Hall PTR, Upper Saddle River (2000)
Breivold, H.P., Sundmark, D., Wallin, P., Larson, S.: What does research say about agile and architecture? In: Fifth International Conference on Software Engineering Advances (2010)
Dybå, T., Dingsøyr, T.: What Do We Know about Agile Software Development? IEEE Software 26(05), 6–9 (2009)
Freudenberg, S., Sharp, H.: The top 10 burning research questions from practitioners. IEEE Software 27(05), 8–9 (2010)
Glaser, B.G., Strauss, A.L.: The Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine de Gruyter (1967)
Allan, G.: The legitimacy of Grounded Theory. In: European Conference on Research Methods (keynote address) (July 2006)
Strauss, A., Corbin, J.: Grounded theory methodology. In: Denzin, N.K., Lincoln, Y.S. (eds.) Handbook of Qualitative Research. Sage Publications, Inc. (1994)
Allan, G.: A critique of using grounded theory as a research method. Electronic Journal of Business Research Methods 2 (July 2003)
Bryman, A.: Social Research Methods, 3rd edn. Oxford University Press (2008)
Glaser, B.G.: The grounded theory perspective III: Theoretical coding. Sociology Press (2005)
Waterman, M., Noble, J., Allan, G.: How much architecture? Reducing the up-front effort. In: Agile India 2012, pp. 56–59 (February 2012)
Charmaz, K.: Constructing Grounded Theory: A Practical Guide Through Qualitative Analysis. SAGE Publications Ltd. (2006)
Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: WICSA 2005, pp. 109–120 (2005)
Bennett, K.: Legacy systems: Coping with stress. IEEE Software 12(01), 19–23 (1995)
McGovern, L.: What is legacy code? (2008), http://www.flickspin.com/en/software_development/what_is_legacy_code
Lehman, M.: Programs, life cycles, and laws of software evolution. Proceedings of the IEEE 68, 1060–1076 (1980)
Ries, E.: The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Crown Publishing Group (2011)
Boehm, B., Sullivan, K.: Software economics: a roadmap. In: Proceedings of the Conference on The Future of Software Engineering, ICSE 2000, pp. 321–343. ACM, New York (2000)
Poort, E.R., van Vliet, H.: Architecting as a risk- and cost management discipline. In: WICSA 2011, pp. 2–11 (2011)
Boehm, B.: Get ready for agile methods, with care. IEEE Computer 35(01), 64–69 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Waterman, M., Noble, J., Allan, G. (2013). The Effect of Complexity and Value on Architecture Planning in Agile Software Development. In: Baumeister, H., Weber, B. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2013. Lecture Notes in Business Information Processing, vol 149. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38314-4_17
Download citation
DOI: https://doi.org/10.1007/978-3-642-38314-4_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-38313-7
Online ISBN: 978-3-642-38314-4
eBook Packages: Computer ScienceComputer Science (R0)