Architect and Architecture

Learn about the role of architecture and the architectural lead in an agile process.

An independent architect
shouldn’t be guided by sensations
but by reflections.
– Hans Scharoun

M. E. ConwayFamous computer scientist and hacker who developed coroutines, UNCOL language, and worked on Pascal compiler. Formulated Conway’s law in his paper: “How do committees invent?” Datamation, 14, 4, pp. 28-31, April, 1968, p.28 formulated a law in 1968 in an article he wrote for Datamation, now widely known as Conway’s law, which says:

Organizations that design systems are constrained to produce systems which are copies of the communication structures of these organizations.

This law has even been taken further by several unknown authors, who expressed their experiences by saying:

  • The architecture of a system is a copy of the architecture of the organization.
  • The structure of a system is determined by the structure of the team.
  • To understand the team, look at the software it is producing. If it is slow and bloated, the team is slow and bloated. If it is lean and quick, the team is lean and quick.

All these experiences express the different (nontechnical) influences on architecture. However, there is still one more major influence, best expressed by Nicolai Josuttis in the context of his experience as the chief architect of a large mission-critical project:

The size of a project, or rather of a team, influences the architecture.

The term “architecture” sounds very solid, which might contradict the intention of an agile process, and talking about an architectural lead in this context might further stress this impression. However, it is not important to be up-to-date. It is important to find the right means (established or otherwise) to create a flexible system that allows change even late in the project. Achieving this flexibility is mainly based on trust in the project members, combined with the important responsibility of the architectural lead.

Responsibilities of an architectural lead

On a typical agile project with a small team, we will often end up without an architectural lead because the whole team is of equal value and takes the same responsibility for the whole project. Although this could, or should, also be a goal for a large team, it would never work because the development would otherwise be uncoordinated and diverge.

Get hands-on with 1400+ tech skills courses.