Architecture by Implication

Written by

in

Description

This antipattern is characterized by the lack of architecture specifications for a system under development. Usually, the architects responsible for the project have experience with previous system construction, and therefore assume that documentation is unnecessary.

Context

Derived from: “Architecture by Implication”
The antipattern is acceptable for a repeated solution, where there are minor differences to previous ones. The Architecture by Implication antipattern differs from the Stovepipe System antipattern in scope; the latter focuses on deficiencies in architecture. In particular, it identifies how improper abstraction of subcomponents leads to brittle architecture solutions. In contrast, the Architecture by Implication antipattern involves planning gaps constituted of multiple architecture viewpoints.

Cause

No risk management. Overconfidence of managers, architects, and/or developers. Reliance on previous experience, which may differ in critical areas. Implicit and unresolved architecture issues caused by gaps in systems engineering.

Consequences

Lack of architecture planning and specification; insufficient definition of architecture for software, hardware, communications, persistence, security, and systems management. Hidden risks caused by scale, domain knowledge, technology, and complexity, all of which emerge as the project progresses.

Solution

The solution entails an organized approach to systems architecture definition, and relies on multiple views of the system. Each view models the system from the perspective of a system stakeholder, who may be real or imaginary, individual or aggregate. Each stakeholder is responsible for a high-priority set of questions and issues, and each view represents the entire information system and answers these key questions and issues. Define the architecture goals with blueprints and validate the implementation.

Example

Without a standardized approach it is hard to make use of the different components, as they may rely on different styles of architecture and, therefore, suffer from inconsistency and poor performance.

Tags

business, application, technology, soa, microservices, abstraction

Related smells

All smells