https://www.youtube.com/watch?v=iDYAtys2oK0
- change is inevitable
- adapt to changes in environment
- what are possible changes we care about?
- "What if we architected a system specifically for change?"
- incremental change
- swap out persistence layer
- support fast feedback
- appropriate coupling
- iterative
- add in some business features
- matches business capabilities
- support experimentation, try things out
- things you need to architect for upfront
- important/unimportant characteristics of the system, e.g.
- Number of users
- Availability
- Legal compliance
- use metrics and to tests
- test more changes in production faster
- as many generations as possilbe
- find out whether the changes are the right ones
- CD: repeatably, reliably