Software Architecture: It Might Not Be What You Think It Is
In this InfoQ article, Kurt Bittner and Pierre Pureur dive into what Software Architecture really is and how architecting is a skill agile teams embody and not a role.
- Software architecture needs to be wrested from committees of people disconnected from developing, and to put it in the hands of the people who can actually make it real and executable, the developers. Only then will we achieve the resilience and sustainability that we need from today’s applications
- Software architecture is about capturing decisions, not describing structure
- Architecting is a skill that agile teams embody, which means that Architect should not be a role
- Architecting means continuously exploring new approaches and different alternatives to best meet quality attributes
- The key activity of architecting is forming hypotheses about how the system will meet quality attribute goals, and then using empiricism to test whether the system meets them, and then repeating this loop until the system meets its quality goals