My abbreviated contents of book's contents:
Foreword by John Grundy
Architecture vs Agile: competition or cooperation?
Foreword by Rick Kazman
Chapter 1: Making architecture and agile approaches work together
Part 1: Fundamentals of Agile Architecting
Ch 2: DCI Paradigm: taking OO into Architecture world
Ch 3: Refactoring Software Architectures
Ch 4: Persona as a driver in architectural design and preservation
Ch 5: Architecture decisions: Who, How & When
Part 2: Managing Software Architecture in Agile Projects
Ch 6: Adaptable architectures via agility to support variability
Ch 7: Continuous software architecture analysis
Ch 8: Lightweight Architecture Knowledge Management for Agile
Ch 9: Tailored Scrum for Agile Architecting by bridging user stories with architecture
Part 3: Agile Architecting in Specific Domains
Ch 10: Security testing by architecture-centric approach
Ch 11: Multitenant, multitarget architecture supporting agile development & deployment in the cloud
Part 4: Industrial Viewpoints on Agile Architecting
Ch 12: Agile Architecting: enabling delivery of complex agile systems
Ch 13: Architecture and Agile = key innovation enablers
Ch 14: Emergent Architecture's opportunities, threats and limitations
Ch 15: Agile Success driven by architecture: Aviva UK case study.
Extensive Author & Subject indexes
Chapter 15 review: This chapter brilliantly details the challenges and architectural-centric solutions for the transition to agile from a waterfall process in a big insurance organization, Aviva UK. The transition was caused by the rapid change (and on-going quality) demands under the restriction of not increasing risk & cost.
First part of the chapter lists the Challenges to agile adoption at Aviva UK, i.e. architectural / organizational characteristics (result of Conway's Law) and derived waterfall specific business practices (scheduled release processes, silo mentality, restricted integration testing, etc.).
Facing these, few lessons were learned: agile practices specific to small teams pose hurdles when adopted by big teams, requiring changes to pure Scrum practice; agile adoption by big businesses is achieved by focusing on impact and requirements of IT architecture ("in-sprint" design is not sufficient to guarantee success).
Next, the key architectural strategies for agile adoption success in big organizations are detailed and exemplified:
1. sufficient up-front architecture and design. An example is given where incrementally in-sprint design failed due to domain complexity and having too much uncertainty unresolved before starting the sprints.
2. what is "sufficient" up-front architecture / design and how uncertainties impact them.
3. the key points for continuing architecture and design during sprints (exemplified with Aviva UK agile development scenarios).
4. the layered architecture as enabler for independent change agility. Inspired from the buildings pace layering architectural pattern the layered architecture allows independent and different rate of change across loose coupled system software tiers.
The chapter ends with a testimony towards the benefits of incremental agile and architecture transformation of the business and IT. Aviva UK learned by experimentation a valuable lesson in gradually changing existing architecture towards a loosely coupled service-oriented tiers that accommodate easy system evolution. Paraphrasing authors lesson: it is permissible to change things later as long as the design facilitates these changes.
Labels: Agile, Architecture, books, Case Study, Review, software