On Software Architecture, Agility, Cost and Value
May 2008 • Presentation
SATURN 2008 keynote by Philippe Kruchten, Professor of Software Engineering, Department of Electrical and Computer Engineering, University of British Columbia, Vancouver
Software Engineering Institute
SATURN 2008 Keynote by Philippe Kruchten, Professor of Software Engineering, Department of Electrical and Computer Engineering, University of British Columbia, Vancouver
For many proponents of an agile approach to software development, software architecture is often seen as BUFD = Big Up-Front Design, and therefore as pure evil. But for novel, large system development, a decent architecture is not likely to simply emerge out of weekly refactorings, and we've witnessed such projects "hit a wall," like marathon runners, after a few months of agile euphoria. They tried to do the right thing from an agile perspective: deliver value to the end user at each iteration. But we notice that they often confuse cost with value, and they have decided that software architecture has no value whatsoever. By clarifying the concepts of value and being able to attribute some value to architectural design and implementation, we would allow agile projects to be reconciled with BUFD and exploit the richness of the SEI Cost Benefit Analysis Method (CBAM).