Back Issues This Week → Current Issue → Popular →

All issuesVolume 314, Issue 1IT NewsDeveloper

9 Steps Towards an Agile Architecture

InfoQ, Thursday, May 2nd, 2024

A software product's architecture is defined by the decisions and especially the trade-offs that the development team makes. Making theA software product's architecture is defined by the decisions and especially the trade-offs that the development team makes. Making these decisions and trade-offs transparent is essential to a successful software architecture.se decisions and trade-offs transparent is essential to a successful software architecture.

Development teams have to experiment to prove (or disprove) their decisions; they can't simply review their design to get the feedback they need to refine their decisions. For many teams, this is a very big change that takes time to master.

Teams need to make these decisions and run architectural experiments continuously as they develop the system. Every time they add or change functionality they need to consider the architectural impacts of those changes. As a result, there is no "architecture phase" in the software development effort.

The organization has to be willing to accept the feedback they get from running experiments. They have to overcome their confirmation biases and be willing to reject "facts" that they "know" to be true when they obtain feedback that shows otherwise.

Teams need help from each other to change. Sharing experiences, both good and bad, helps bring people together to learn from each other.

Don't underestimate how hard it is to change the culture of an organization. To overcome this, start with developing single products and create support for and interest in working in a new way.

more →  ·  More from Developer →