Johannes Thönes talks to Rebecca Parsons, Chief Technology Officer at ThoughtWorks, about evolutionary architecture. The practice of evolutionary software architecture means making decisions as late as possible (last responsible moment) and setting up cross-functional requirements that the architecture has to meet (architectural fitness function).
In the beginning, Parsons and Thönes introduce the term evolutionary architecture and explain the difference to emergent design. Parsons also explains why big design upfront is a bad idea and why we still need architecture even in Agile projects.
Parsons then describes five principles of evolutionary architecture (last responsible moment, architect and develop for evolvability, Postel’s law, architect for testability, and Conway’s law). She goes on to highlight three techniques of evolutionary architecture (database refactoring, continuous delivery, and microservices).
- Episode 182: Domain-Specific Languages with Martin Fowler and Rebecca Parsons http://www.se-radio.net/2012/01/episode-182-domain-specific-languages-with-martin-fowler-and-rebecca-parsons/
- Rebecca’s posts from working for the “Technology for Development Office” of Unicef in Uganda http://rebeccaparsons.com/?cat=3
- Episode 166: Living Architectures with John Wiegand http://www.se-radio.net/2010/08/episode-166-living-architectures-with-john-wiegand/
- “[architecture is all the] ‘things that people perceive as hard to change.'” – Martin Fowler in Who Needs an Architect
- Episode 224: Technical Debt with Sven Johann http://www.se-radio.net/2015/04/episode-224-sven-johann-and-eberhard-wolff-on-technical-debt/
- Episode 186: Martin Fowler and Pramod Sadalage on Agile Database Development http://www.se-radio.net/2012/06/episode-186-martin-fowler-and-pramod-sadalage-on-agile-database-development/
- Episode 221: Jez Humble on Continuous Delivery http://www.se-radio.net/2015/02/episode-221-jez-humble-on-continuous-delivery/
- Episode 210: Stefan Tilkov on Architecture and Micro Services http://www.se-radio.net/2014/09/episode-210-stefan-tilkov-on-architecture-and-micro-services/
- Episode 213: James Lewis on Microservices http://www.se-radio.net/2014/10/episode-213-james-lewis-on-microservices/
- Building Microservices by Sam Newman http://www.amazon.com/Building-Microservices-Sam-Newman-ebook/dp/B00T3N7XB4/
- Continous Delievery by Jez Humble and David Farley http://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912
- Refactoring Databases: Evolutionary Database Design by Scott Ambler, Pramod Sadalage http://www.amazon.com/Refactoring-Databases-Evolutionary-paperback-Addison-Wesley/dp/0321774515
- Rebecca’s website http://rebeccaparsons.com
- ThoughtWorks website http://www.thoughtworks.com
- Rebecca’s Twitter http:twitter.com/rebeccaparsons