Advertisement

The Effect of Complexity and Value on Architecture Planning in Agile Software Development

  • Michael Waterman
  • James Noble
  • George Allan
Conference paper
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 149)

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.

Keywords

Software architecture agile software development Grounded Theory 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Kruchten, P.: The Rational Unified process – an Introduction. Addison Wesley (1998)Google Scholar
  2. 2.
    Booch, G.: Architectural organizational patterns. IEEE Software 25(03), 18–19 (2008)CrossRefGoogle Scholar
  3. 3.
    Beck, K., et al.: Agile manifesto (2001), http://agilemanifesto.org/
  4. 4.
    Ambler, S.W.: Agile architecture: Strategies for scaling agile development, http://www.agilemodeling.com/essays/agileArchitecture.html
  5. 5.
    Deemer, P., Benefield, G., Larman, C., Vodde, B.: The scrum primer (2010), http://assets.scrumtraininginstitute.com/downloads/1/scrumprimer121.pdf
  6. 6.
    Beck, K.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley Professional (2005)Google Scholar
  7. 7.
    Poppendieck, M., Poppendieck, T.: Lean Software Development: An Agile Toolkit. Addison-Wesley Professional (2003)Google Scholar
  8. 8.
    Coplien, J.O., Bjørnvig, G.: Lean Architecture for Agile Software Development. John Wiley and Sons, Ltd. (2010)Google Scholar
  9. 9.
    Abrahamsson, P., Babar, M.A., Kruchten, P.: Agility and architecture: Can they coexist? IEEE Software 27(02) (2010)Google Scholar
  10. 10.
    Kruchten, P.: Agility and architecture: an oxymoron? In: SAC 21 Workshop: Software Architecture Challenges in the 21st Century (2009)Google Scholar
  11. 11.
    Booch, G.: The accidental architecture. IEEE Software 23(03), 9–11 (2006)CrossRefGoogle Scholar
  12. 12.
    Booch, G.: An architectural oxymoron. IEEE Software 27(05), 96 (2010)CrossRefGoogle Scholar
  13. 13.
    Avram, A.: 10 suggestions for the architect of an agile team (September 2010), http://www.infoq.com/news/2010/09/Tips-Architect-Agile-Team
  14. 14.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. SEI Series in Software Engineering. Addison-Wesley (2003)Google Scholar
  15. 15.
    Booch, G.: The irrelevance of architecture. IEEE Software 24(03), 10–11 (2007)CrossRefGoogle Scholar
  16. 16.
    Fairbanks, G.: Just Enough Software Architecture: A Risk Driven Approach. Marshall and Brainerd (2010)Google Scholar
  17. 17.
    Taylor, P.R.: The Situated Software Architect. PhD thesis, Monash University (December 2007)Google Scholar
  18. 18.
    Boehm, B.: Architecting: How much and when? In: Oram, A., Wilson, G. (eds.) Making Software. O’Reilly (2011)Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    Dybå, T., Dingsøyr, T.: What Do We Know about Agile Software Development? IEEE Software 26(05), 6–9 (2009)CrossRefGoogle Scholar
  22. 22.
    Freudenberg, S., Sharp, H.: The top 10 burning research questions from practitioners. IEEE Software 27(05), 8–9 (2010)CrossRefGoogle Scholar
  23. 23.
    Glaser, B.G., Strauss, A.L.: The Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine de Gruyter (1967)Google Scholar
  24. 24.
    Allan, G.: The legitimacy of Grounded Theory. In: European Conference on Research Methods (keynote address) (July 2006)Google Scholar
  25. 25.
    Strauss, A., Corbin, J.: Grounded theory methodology. In: Denzin, N.K., Lincoln, Y.S. (eds.) Handbook of Qualitative Research. Sage Publications, Inc. (1994)Google Scholar
  26. 26.
    Allan, G.: A critique of using grounded theory as a research method. Electronic Journal of Business Research Methods 2 (July 2003)Google Scholar
  27. 27.
    Bryman, A.: Social Research Methods, 3rd edn. Oxford University Press (2008)Google Scholar
  28. 28.
    Glaser, B.G.: The grounded theory perspective III: Theoretical coding. Sociology Press (2005)Google Scholar
  29. 29.
    Waterman, M., Noble, J., Allan, G.: How much architecture? Reducing the up-front effort. In: Agile India 2012, pp. 56–59 (February 2012)Google Scholar
  30. 30.
    Charmaz, K.: Constructing Grounded Theory: A Practical Guide Through Qualitative Analysis. SAGE Publications Ltd. (2006)Google Scholar
  31. 31.
    Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: WICSA 2005, pp. 109–120 (2005)Google Scholar
  32. 32.
    Bennett, K.: Legacy systems: Coping with stress. IEEE Software 12(01), 19–23 (1995)CrossRefGoogle Scholar
  33. 33.
  34. 34.
    Lehman, M.: Programs, life cycles, and laws of software evolution. Proceedings of the IEEE 68, 1060–1076 (1980)CrossRefGoogle Scholar
  35. 35.
    Ries, E.: The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Crown Publishing Group (2011)Google Scholar
  36. 36.
    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)Google Scholar
  37. 37.
    Poort, E.R., van Vliet, H.: Architecting as a risk- and cost management discipline. In: WICSA 2011, pp. 2–11 (2011)Google Scholar
  38. 38.
    Boehm, B.: Get ready for agile methods, with care. IEEE Computer 35(01), 64–69 (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Michael Waterman
    • 1
  • James Noble
    • 1
  • George Allan
    • 1
  1. 1.Victoria University of WellingtonNew Zealand

Personalised recommendations