evolutionary architecture and the Role of DDD
Abstract
How is long-term planning possible under constant change? An evolutionary architecture supports guided incremental change across multiple dimensions:
- 2 aspects of incremental change: application & operations
- dimensions:
*ilities
Techniques:
- DDD
- Our responsibility to help business people understand the technology consequences of the decisions that they are making.
- Having the right language to do that is crucial.
- Ubiquitous language
- database refactoring
- Data migration is hard.
- Choreography
- A choreograph system gives you more flexibility to move your boxes around because you don’t have to change the orchestrator every time you want to move the boxes around.
- You don’t have to understand all the different impacts in the orchestrator are going to be if you move your box around.
- Contract testing
- Need to have tests break and talk only to the right people, instead of having lots of meeting for contract changes.
- Continuous Delivery
- You are confident you know you can roll back.
- Platform for Experimentation
- Culture for Experimentation
- Governance
- Fitness function driven
- Outcomes not implementations