Agile software development methodologies focus on small iterations, resulting in incremental delivery of working software to the customer. The immediate concerns that arise are: How do we establish the architecture for a system? Do we begin development without a stable architecture in place? Or should we have a few iterations to get the architecture and design in place and then begin development?
This session will introduce participants to the Agile principles for architecture: iterative, incremental, and driven by stories. Some of the key aspects that will be illustrated are the role of architects in Agile projects, team involvement, architecture envisioning, identifying desired architectural qualities without committing to any specific architecture, implementing one story and establishing the highest priority architectural features with the help of the story, creating an application framework, and incrementally evolving the architecture across iterations with the help of real stories being implemented.