There are common-sense reasons, such as enhanced understanding, productivity, predictability, repeatability, consistency, etc., for the use of models, templates, standards, patterns...
But why do we use frameworks, references, or generic architectures, or, for that matter, why do we employ architecture? What is an Architecture method?
There is a clear distinction, often not made, between the value of architecture, the value of a reference or generic architecture, and the value of an architecture framework. That is because we have to distinguish in the first place between an architecture, a reference and generic architecture and an architecture framework.
An Architecture describes a system in terms of its components and interconnections that channel the system flows. Architecture often covers the physical resources that realize the system. Any system has an architecture or structure, but some structures are simpler to control, maintain, and change than others.
The value of architecture itself resides in the structured description of the system, which enables its faster comprehension, analysis, management, change, and transformation.
Architecture principles guide the system transformation.
Generic Architecture is used to represent a whole class of systems. An architecture must be 'generic' enough. TOGAF Continuum emphasizes the value of generic architectures. TM Forum's Frameworx is primarily a generic architecture because it describes the entities of a digital media company, i.e., the business processes, information, and application maps.
Reference Architecture is a generic architecture used as a template for the analysis and design of other systems in the same class. To be validated as a reference, rather than declared as such from the start by its promoters, an architecture must be generic enough to be reused in many endeavors.
A reference architecture enables reuse, predictable design, reproducibility, and, as such, productivity, which saves time and costs.
TOGAF is a reference architecture, but not so much because it is used as a reference model by the industry but because it is designed by a standards organization with industry participation.
Architecture Framework is the architecture of an architecture. It looks like the skeleton of a body, the contents page of a book, or the chassis of a car. It enables us to plug complying architecture artifacts into the framework to build the Architecture. It enables us to break the system complexity up into independently manageable parts. In other words, it facilitates independent and parallel change and, as such, quick and without side effects.
The architecture framework describes the key components of an architecture and its relationships. A Framework is usually described in terms that stakeholders can grasp. The Metamodel is the technical expression of a framework. It is illustrated as a class diagram, but it is ultimately unemployed as the repository schema for a tool.
An Architecture Method should exhibit:
- A generic/reference architecture for a class of systems
- An Architecture Framework and Metamodel that describe the structure of the architecture to enable its navigation
- An ensemble of Architecture Principles to guide a system transformation to reduce its complexity and enable change
- A system modelling process and associated controls to ensure proper governance and tools to measure progress, maturity, quality... This is part of an overall system transformation process about best practices, requirements, risks...
- A strategy framework that enables the specification and the incorporation of strategic directions into the transformation