Agile Architecture Practices for Large Scale Agile Development
Although “agile architecture” may sound like an oxymoron to you, the reality is that a simple, elegant architecture is a key enabler of any successful system, particularly large scale ones. Scott Ambler describes agile architecture practices-at both the project and enterprise level-that form a middle ground between the extremes of big architecture up-front and outright hacking. Scott discusses agile modeling practices-initial architecture envisioning, proving an architecture with working code, and just-in-time model storming-that enable agile teams to benefit from architectural modeling without suffering the drawbacks of detailed design documentation. Beyond architecture, Scott introduces agile design techniques-continuous integration (CI), test-driven development (TDD), and refactoring-that build on and provide feedback to an emergent architecture. To illuminate the importance of agile architecture strategies, Scott discusses these topics within the context of the Disciplined Agile Delivery (DAD) methodology, a hybrid agile framework covering the full delivery lifecycle.