Agile Architecture
Agile Architecture emphasizes the minimum amount of design upfront, and focusing on building something and evolving the architecture as our understanding changes.
Architecture in software development is often defined as relationships between the parts in a system. Traditional approaches to software architecture emphasize Big Upfront Design - get it right at the start. The problem, of course, is that requires us to foresee all architectural considerations (scale, security, fault tolerance, fault recovery) at the moment when our understanding of our problems is at its weakest. Agile Architecture allows for the design to evolve and adapt as more is learned about what is needed.
Key principles
- We won’t get it right on the first try, be prepared to iterate
- Refactor
- Focus on Simplicty
- Make it Testable
(Hint: when searching for more ideas, consider using the term: “Evolutionary Architecture”)
Agile Pain Relief Blog Entries
Resource Links
- An Agile Approach to Software Architecture
- Architecture & Design
- A Brief Summary of Evolutionary Design
- Don’t You Have to LOGIN first?
- Characteristics of Evolutionary Architectures
- Conceptual Architecture
- Is Design Dead?
- Evolutionary Architecture with Patrick Kua (YouTube)
- How the Guardian successfully moved domain to www.theguardian.com
- James Shore on Continuous Design [PDF warning!]
- Pimp my Architecture – Dan North (Presentation) He discusses an example of rearchitecting an application without rewriting it from scratch
- Principles for the Agile Architect
- Simplicity, The Way of the Unusual Architect – Dan North (Presentation)
- Software Architecture and Related Concerns
- Software architecture is failing
- Software Design Guide -
- Summary of Building Evolutionary Architectures -
- When Feature Flags Go Wrong
- Example - The Architecture of the Morrison’s OrderPad - a Sample application
Related Books
- Building Evolutionary Architectures – Neal Ford, Rebecca Parsons, Patrick Kua
- Lean Architecture: for Agile Software Development –James O. Coplien, Gertrud Bjørnvig