We make decisions all the time in software - our architectures are the sum of them; both conscious and unconscious.
Yet we have so little awareness about *what* decisions are and *how* we decide. This is not only the source of great friction and waste, it is leading to terrible outcomes for our software.
In this talk I’ll describe what architectural decisions are, and the different ways that we approach them (individually and collectively) making clear the pros and cons of each. I’ll then compare them all, describing the ideal characteristics of a decision-process for modern software development.
As a consequence of this talk not only will you be able to decide better as an individual, you will also be able to diagnose failings in your group decision processes and resolve them.
Andrew Harmel-Law
An author, trainer and highly enthusiastic Tech Principal; Andrew specialises in Java / JVM technologies, agile delivery, build tools and automation, and domain driven design.
Experienced across the software development lifecycle and in many sectors including government, banking, and eCommerce, what motivates him is the production of large-scale software solutions, fulfilling complex client requirements. He understands that people, tooling, architecture and process all have key roles to play in achieving this.
Andrew has a passion for open source software and its communities. He has been interested in and involved with OSS to a greater or lesser extent since his career began; as a user, contributor, expert group member, or paid advocate.
Finally, Andrew enjoys sharing his experience as much as possible. Not only in his consulting engagements Andrew contributed a chapter to O'Reilly's Software Architecture Metrics and is currently writing a whole book for them entitled "Facilitating Software Architecture".