By Stephany Bellomo, Robert Nord, Ipek Ozkaya. May 2013. This paper was published by IEEE for the 35th International Conference on Software Engineering (ICSE 2013). Projects seeking rapid, sustainable delivery are combining agile and architecture practices to manage competing goals of speed in the short term and stability. In a recent study, we interviewed eight government and commercial project teams that have adopted incremental and iterative software development approaches and identified a mix of Agile and architecture practices that teams apply to rapidly field software and minimize disruption and delay. In this paper, we elaborate one practice from this study, Prototyping with quality attribute focus, to gain a better understanding of how this practice works and what the benefits of the approach are. As we analyzed this practice, we observed that it leverages rapid feedback cycles weaving requirements and architecture, characteristic of the Twin Peaks concept, at three levels: feature development/sprint, release, and portfolio planning levels. We also observed that each of these cycles have differing degrees of separation and cadences. We also describe several regularly occurring integration points within the Scrum framework that allow for synching (weaving of architecture and requirements). We describe the practice in some detail and also discuss a few enablers that keep the practice working smoothly.
TOGAF 9.1 Chapter 17.
Scott Sehlhorst: Traditional requirements happen after a multi-system architecture has been defined. But what about the requirements that feed into that architecture? The requirements that drive the enterprise architecture decisions in the first place? We haven't talked about those before.
Scott W. Ambler: Organizations that develop and support more than a handful of systems will benefit from taking an enterprise view of architecture. An enterprise architecture includes the frameworks, networks, deployment configurations, domain architecture, and supporting infrastructure that form the technical architecture for the enterprise. It comprises the environment within which all applications of an enterprise are deployed. One of the benefits of the Enterprise Unified ProcessTM (EUP) is that it extends iterative/agile processes such as the Rational Unified Process (RUP), Extreme Programming (XP), or Scrum with the Enterprise Architecture discipline. Enterprise architecture is one aspect of enterprise discipline, a critical scaling factors for ensuring that agile approaches scale to meet the needs of your full IT organization.