What is Software Architecture? It’s a surprisingly difficult question to answer. We can describe software architecture patterns and argue about what is the best software architecture, but in reality, most definitions are vague enough to be unhelpful or so over the top to be more like a list of everything that you need to think about when building software. Popular descriptions of what software architects do often focus on checklists of architectural qualities, which can help us remember things we may otherwise forget, but don’t really tell us what the job is for and how to do it well.
Dave Farley, author of Continuous Delivery and Modern Software Engineering, gives his take on what software architecture is, why it matters and how it is important for all of us to understand and use. The design of the systems that we create is important, in sustaining our ability to make change, and for them to meet their needs. There is no one-size-fits-all in software architecture, microservices is probably too big a cost for many teams that choose it for example. The architecture of our system, that shared understanding that helps, or hinders, our ability to make progress matters, so how do we choose the right architecture for the job?
Video producer: https://gotocon.com/