liveBook · Manning

Implicit architecture

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

Implicit architecture is a software architecture whose significant design decisions are unstated, undocumented, or not shared.

Implicit architecture emerges when significant design decisions remain unstated, poorly understood, or impossible to communicate. It creates a black box around the system and can turn architecture into an accidental outcome of isolated choices. section 3.1.5

Watch for three connected conditions:

  • Design decisions are made under pressure but never made explicit. section 3.1.5
  • People do not share or understand decisions that affect the architecture. section 3.1.5
  • Uncoordinated implementation produces wrong work, delays, and rework. section 3.1.5

BigScreen

A developer starts implementing a personal design while the team is excluded from decisions. Arguments, tension, wrong implementation, delays, and rework follow. Bringing domain experts and stakeholders together helps surface options, tradeoffs, and decisions. section 3.1.5

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

How deep it goes
Explains three causes and practical consequences, while positioning collaborative modeling as a way to make decisions explicit.
Examples
Uses the BigScreen scenario of isolated implementation, team conflict, wrong work, delays, and rework.
What you can do after
Apply it via collaborative modeling to surface stakeholders’ decisions, tradeoffs, value, and architectural effects.
How it connects
Connects collaborative modeling with design decisions, sociotechnical systems, architecture, and group dynamics.

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.