Architectural Synthesis

Architectural Synthesis is the creative problem solving activity that turns a set of requirements or direction into an initial candidate architecture.

The “magic sauce” in software design, architectural synthesis is the activity that shapes initial candidate architecture. Based on requirements (which will have little detail but hopefully represent scope), and investigation into non-functional needs an Architect or team will come up with a number of options for how to meet the needs, or solve the problem. Architectural synthesis is dependant on the complexity of the problem being addresed:

For simple pieces of work, architectural synthesis is implicit as the answer is already obvious to everyone.

For complicated pieces of work, investigation into where areas of complication are (using an Architectural Profile) backed up with experience and experimentation/spiking tend to lead pretty quickly to a candidate architecture.

For complex work we recommend a series of experiments/spikes to investigate areas of complexity or try ideas that might work towards delivering business value.

Architectural synthesis is a creative process, especially in anything other than simple work. It is often the point where the level of complexity will be recognized. Investigations and spiking will often change understanding of complexity and risks, either uncovering them or addressing them.

We do not recommend following a standard process for synthesis since it’s essentially creative idea generation, and it should not be rushed. In our experience critical thinking and logical analysis can help architectural synthesis.