“Pictures speak a 1024 words.” – this is a quote I used a lot for the past 10 years or so. Why? Well this is because architectures need to be visualized. Bredemeyer Consulting’s Visual Architecting Process, SEI’s SAPP, RUP’s UML, Zachman, TOGAF etc. all dwell on visualizing abstractions. But how do you translate that to real projects, and especially those that claim to be agile and misunderstand that to mean no design and no plans? As one of the many signatories of the agile manifesto it is clear to me that those projects that do not know what the architecture is can not deliver software in a timely manner with good quality attributes.
Software Architecture should be represented by a set of views that support its analysis. Usually the following views are most often used:
Advice: At least 3-views recommended by SEI:
1. Module View
2. Component View
3. Deployment View
Plus a sequence diagram can be added as the forth.
Multiple views of a software architecture allow it to be understandable without any confusion by the entire team and its stakeholders.