liveBook · Manning

Agile architecture

As explained in Collaborative Software Design: How to facilitate domain modeling decisions

Agile architecture is an iterative approach to architectural design that incorporates collaboration, experimentation, feedback, and emergent decisions.

Agile architecture treats design as an evolving team activity rather than a completed specification delivered by a separate architect. Collaboration, experimentation, prototyping, and emergent design help teams learn from users and clarify solutions that cannot be known in advance. section 1.2.4

When architecture becomes a bottleneck

In BigScreen, the software architect left, taking architectural knowledge with them. An Agile response gives the team ownership of its architecture instead of forcing development to wait for a separate design authority or proceed without architectural direction. section 1.2.4

Make the approach practical by:

  • Collaborating with relevant stakeholders and decision-makers to build shared understanding. section 1.4
  • Using collaborative modeling to visualize conversations, explore alternatives, and record sustainable design decisions. section 1.4
  • Facilitating social dynamics so conflict, bias, and resistance become visible rather than quietly distorting decisions. section 1.4
Figure 1.4 Detailed diagram of the Waterfall process

Use the Waterfall process diagram as a contrast: Agile architecture avoids isolating design from the teams that build and learn from the software. section 1.2.4

How Collaborative Software Design: How to facilitate domain modeling decisions covers it

How deep it goes
Explains the approach through rationale, organizational failure modes, collaborative modeling, facilitation, and team ownership, without detailing implementation mechanics.
Examples
Uses BigScreen’s departing architect and a Waterfall process diagram to illustrate bottlenecks, lost knowledge, and team ownership.
What you can do after
Apply collaborative modeling and facilitation to improve shared understanding, design decisions, and team ownership of architecture.
How it connects
Connects software architecture with collaborative modeling, emergent design, prototyping, facilitation, social dynamics, and Waterfall development.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Collaborative Software Design: How to facilitate domain modeling decisions. The section links point to the parts of the book it draws on.