This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
March/April 2010 (vol. 27 no. 2)
pp. 16-22
Pekka Abrahamsson, University of Helsinki
Muhammad Ali Babar, IT University of Copenhagen
Philippe Kruchten, University of British Columbia
Software architecture is getting a bad rap with many agile proponents due to such aspects as big design up front, massive documentation, and the smell of waterfall. It's pictured as a nonagile practice, something we don't want to even consider, although everybody wants to be called an architect. However, certain classes of systems that ignore architectural issues for too long hit a wall and collapse due to a lack of an architectural focus. So, is agile architecture a paradox, an oxymoron, or two totally incompatible approaches? Software developers have equally important roles in successfully letting agile and architectural approaches coexist. Agile approaches rely more on bottom-up efforts in which developers collaborate closely with stakeholders in general and product owners in particular. This article reviews the real issues at stake, past the rhetoric and posturing, and suggests that the two cultures can coexist and support each other, where appropriate.

1. P. Kruchten, "Voyage in the Agile Memeplex: Agility, Agilese, Agilitis, Agilology," ACM Queue, vol. 5, no. 5, 2007, pp. 38–44.
2. K. Beck, Extreme Programming Explained: Embrace Change, Addison-Wesley, 2000.
3. J.A. Highsmith, Agile Software Development Ecosystems, Addison-Wesley, 2002.
4. S. Augustine, Managing Agile Projects, Prentice Hall, 2005.
5. P. Kruchten, The Rational Unified Process—an Introduction, 1st ed., Addison-Wesley, 1998.
6. A. Cockburn, Crystal Clear: A Human-Powered Methodology for Small Teams, Addison-Wesley, 2004.
7. M. Poppendieck and T. Poppendieck, Implementing Lean Software Development: From Concept to Cash, Addison-Wesley, 2007
8. D. Garlan, "1st Int'l Workshop on Architectures for Software Systems Workshop Summary," Software Eng. Notes, vol. 20, no. 3, 1995, pp. 84–89.
9. K. Vilkki, "Impact of Agile Transformation," Flexi Newsletter, vol. 2, no. 1, 2008, pp. 5–6.
10. M. Ali-Babar, T. Iheme, and M. Pikkarainen, "An Industrial Case of Exploiting Product Line Architectures in Agile Software Development," Proc. 13th Int'l Software Product Line Conf. (SPLC 09), Carnegie Mellon Univ., 2009, pp. 171-180.
11. P. Kruchten, "The Software Architect, and the Software Architecture Team," Software Architecture, P. Donohue ed., Kluwer Academic Publishers, 1999, pp. 565–583.

Index Terms:
software architecture, agile development methods, software engineering
Citation:
Pekka Abrahamsson, Muhammad Ali Babar, Philippe Kruchten, "Agility and Architecture: Can They Coexist?," IEEE Software, vol. 27, no. 2, pp. 16-22, March-April 2010, doi:10.1109/MS.2010.36
Usage of this product signifies your acceptance of the Terms of Use.