23 Apr 2017 by mallyanitin
Like it or not. Diagrams (visual) are a great communication tool. If one of the responsibility of architects is communication, there is no better way than visual communication. Contextual communication requires that the same information to be represented differently for effective communication.
Architects (titled or not) have a responsibility to analyze data from various sources:
- Requirements coming from customer or product manager.
- Complaints coming from customer or product manager.
- Constraints coming from customer or product manager.
- Constraints and opportunities from operational leaders.
- Technology advances in industry.
- Patterns and practices in architecture.
- Feedback from development teams.
- Feedback from independent consultants (peers, stakeholders).
- Inputs from security teams.
- Inputs from operational teams.
All this data needs to be analyzed to produce conceptual and detailed sketches (as required) for construction. Today, most of these sketches are conceptual. Teams are very skilled to develop the detailed sketches right in code.
The architect is like a data scientist working on all this data to determine the function that ‘fits’. This function is represented as a diagram – a view, or a perspective. The diagram could even be a simple table.
Stating that ‘architects only create diagrams’, however, is a poor critique of the effort. Creating conceptual clarity is important for the architect. But the architect’s job does not end at diagrams. They have to communicate, plan, and code. Unless, the diagram is realized, it’s useless.
Just like code and configuration should be treated like ‘code’; documentation and diagrams also need to be treated like ‘code’. This means – reviewed, maintained, tested, critiqued, destroyed, re-factored, …
Only treating ‘code’ like ‘code’ is bad ‘coding’. Code, configuration and concepts need to be treated like ‘code’.
Dismissing concepts (usually the work of an architect) is immature.
The best representation of ‘architecture’ is ‘code’. The first draft’s of ‘code’ are ‘concepts’. ‘Concepts’ are represented as ‘diagrams’ for communication. AND. communication is a good thing.