Issue No.02 - March/April (2010 vol.27)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2010.27
Agile development delivers value quickly, using a series of short-term goals based on immediate priorities. Architecture grows value carefully, using a set of long-term objectives based on fundamental principles. The two seem at odds, but the architect can bring them together at four well-defined points in agile projects: during project initiation by setting architectural direction, through storyboarding by introducing specific architectural tasks, within sprints by close collaboration on challenging issues, and as working software gets delivered by performing direct inspection. This requires four critical skills: decomposing architectural work into iterative form, advocating the merits of architecture throughout development, tracking the architectural state of the project as it executes, and driving toward a broader enterprise architecture to which all agile projects contribute. When done effectively, this approach achieves a pragmatic balance between business and architectural priorities while delivering both with agility.
agile development, enterprise architecture, software engineering, project management, team organization
James Madison, "Agile Architecture Interactions", IEEE Software, vol.27, no. 2, pp. 41-48, March/April 2010, doi:10.1109/MS.2010.27