Models provide abstraction mechanisms, which enable users to consider the system at more mac-
roscopic levels, by aggregating detailed elements, only showing significant parts or generalizing
notions and mechanisms. Abstraction helps manage complexity, which is one of the main brakes
within an enterprise, causing the lethargy and inertia that prevent many enterprises from being
reactive. When there are thousands of applications in an enterprise, dozens of repositories, hun-
dreds of processes, and consequently thousands of tasks, and when the volume of application code
is counted in millions of lines of code, the problem of complexity linked to volume and diversity cannot be ignored. Abstraction is necessary for primary management and classification needs,
as well as for more sophisticated needs, such as pooling, reconciliation, and rationalization.
For pedagogical reasons, abstraction is also used to adapt the level of detail presented to the
participants in question.
We will see that models for TOGAF will be separated into different viewpoints dedicated to specific
stakeholders. The level of abstraction therefore needs to be carefully defined for a model’s targeted
purpose and stakeholders.