Agile_Architecture
Agile architecture means how enterprise architects, system architects and software architects apply architectural practice in agile software development. A number of commentators have identified a tension between traditional software architecture and agile methods along the axis of adaptation (leaving architectural decisions until the last possible moment) versus anticipation (planning in advance) (Kruchten, 2010 ).[1]
Waterman, Nobel, and Allan (2015)[2] explored the tensions between spending too little time designing an up-front architecture, increasing risk, and spending too much time, negatively impacting of the delivery of value to the customer. They identify six forces that can affect agile architecture: Requirements instability, technical risk, early value, team culture, customer agility and experience. These forces may be addressed by six strategies: Respond to change, address risk, emergent architecture, big design up front and use frameworks and template architectures.