Architecture isn't just the static "shape" of your software. It's the set of decisions that define it, enabling — or inhibiting — change, evolution and improvement over time.
It is also the decisions about how you verify, deploy, version, manage and monitor an application. Each of these decisions is a trade-off: there are no Best Practises. Some decisions can have a huge forward impact, and it isn't always obvious which ones!In this talk Dan offers several strategies to help you improve your architecture decision-making. He won't tell you whether to prefer stability or uncertainty, DRYness or coupling, latency or throughput, manual or automated testing.
That's up to you. But he might help you go into those decisions with your eyes open.