T15

Software Architecture and Agile Software Development: a Clash of Two Cultures?

Philippe Kruchten, University of British Columbia, Canada

Tuesday, 4 May 2010 (morning)

Abstract:

Software architecture is taking a bad rap with the agilists. proponents of agile and lean software development approaches: “BUFD big up-front design”, “YAGNI You Ain’t Gonna Need It”, “massive documentation”, “smells of waterfall”, it is pictured as a typical non-agile practice. However, certain classes of system, ignoring architectural issues too long “hit a wall” and collapse by lack of an architectural focus. Some make it through a release or two, but collapse later under the weight of technical debt. ‘Agile architecture’: a paradox, an oxymoron, two totally incompatible approaches? In this tutorial, we will review the real issues at stake, past the rhetoric and posturing, and show that the two cultures can coexist and support each other, where appropriate. We define heuristics to scope how much architecture a project really needs, to assign actual value to an otherwise invisible architecture; and we review management and development practices that do work in the circumstances where some significant architectural effort is needed, when you are actually going to need it.

Presenter:

Philippe Kruchten is professor of software engineering at the University of British Columbia in Vancouver, Canada, which he joined in 2004 after a 30+ year career in the software industry, developing systems in telecommunications, defense and aerospace. His main interests are in software architecture, software project management and software development processes. During his time with Rational Software (now IBM) he led the development of the RUP, which embeds an architecture-centric method. He is the co-founder and secretary of the IFIP WG2.10 on Software Architecture (1998), and co-founder and chair of Agile Vancouver (2004).