Related summaries to Trade-offs Management

30min 53s
03/09/2018

Building Evolutionary Architectures – Rebecca Parsons – XConf EU 2018

The speaker discusses the principles of evolutionary architecture, which is a concept inspired by evolutionary computation. The key ideas are: 1. Defining an "architectural fitness function" - determining what constitutes a "good" architecture for the system and using that to guide architectural decisions and technology choices. This allows the architecture to evolve over time. 2. Embracing incremental change and continuous delivery practices to safely and frequently update the system. Deployment pipelines are crucial for automating testing of the architectural fitness. 3. Recognizing that architecture involves trade-offs between different qualities (e.g. security vs performance), and consciously managing those trade-offs. 4. Specific principles like "last responsible moment" for making decisions, designing for evolvability, appropriate coupling, and prioritizing internal software quality. 5. The importance of communication patterns (Conway's Law) and how the organization's structure can impact the software architecture. Breaking down silos and enabling cross-team collaboration is key. 6. Practical techniques like database refactoring, choreography over orchestration, and contract testing to make the architecture more evolvable, even in the context of legacy systems. The overall goal is to create systems that can adapt to rapidly changing business and technology requirements, rather than trying to build a static, unchanging architecture upfront. This requires a shift in mindset and practices.

English