Agile Architecture
Molly Dishman and Martin Fowler
An interesting keynote from Molly Dishman and Martin Fowler, on the changing role of architecture.
Takeaways
- Diffusion of Architectural Responsibility
- We no longer need architects, technical leads are doing the architecture?
Q. How do we make sure that 'architecture' is still happening?
It is important to pay that continuous attention, like the city planner, to make sure that things are coherent
- Senior people should have time to think about the architecture
- Architects should do commit reviews and help the team improve through pairing
- Reviewing code and pairing is the architect's feedback mechanism, to see if decisions being made early on are actually panning our in practice
People look to examples in the codebase for inspiration on how to do things - you have to make sure you highlight the exemplar parts of the code; these then become very important drivers in architecture
Shared Understanding
- The most important architecture is the shared understanding of the team
- Kent Beck's technique is to ask many developers to "describe the architecture using only four objects", as a means to judge whether there is a common shared understanding
People
- Architects are not being invited to stakeholder meetings, because people don't value architecture
- Architecture is a two-way collaborative street - development leads should be talking to people external to the project, taking ownership for the architecture, rather than asking for 'permission for the architecture to change'
Getting a good architecture for your software is primarily a people problem
Agile
- Architectural stories (like Spikes - exploring the hard things we want to change) should indicate their business value (via the quality factor we're changing)
- We should include architectural quality factors and technical thinking in business showcases, to highlight value of architectural improvements
- We should strive to make architectural decisions reversible
Lean Agile Architecture and Development