TOGAF 35.6 introduces TOGAFs artifacts. The complete set of artifacts are illustrated like this:
TOGAF defines three distinct artifact classes:
- Catalogs are lists of building blocks.
- Matrices show the relationships between building blocks of specific types.
- Diagrams present building blocks plus their relationships and interconnections in a graphical way that supports effective stakeholder communication.
Catalogs (14 types):
- Principles Catalog
- Organization/Actor Catalog
- Driver/Goal/Objective Catalog
- Role Catalog
- Business Service/Function Catalog
- Location Catalog
- Process/Event/Control/Product Catalog
- Contract/Measure Catalog
- Data Entity/Data Component Catalog
- Application Portfolio Catalog
- Interface Catalog
- Technology Standards Catalog
- Technology Portfolio Catalog
- Requirements Catalog
Matrices (10 types)
- Stakeholder Map Matrix
- Business Interaction Matrix
- Actor/Role Matrix
- Data Entity/Business Function Matrix
- Application/Data Matrix
- Application/Organization Matrix
- Role/Application Matrix
- Application/Function Matrix
- Application Interaction Matrix
- Application/Technology Matrix
Diagrams (32 types)
- Value Chain Diagram
- Solution Concept Diagram
- Business Footprint Diagram
- Business Service/Information Diagram
- Functional Decomposition Diagram
- Product Lifecycle Diagram
- Goal/Objective/Service Diagram
- Business Use-Case Diagram
- Organization Decomposition Diagram
- Process Flow Diagram
- Event Diagram
- Conceptual Data Diagram
- Logical Data Diagram
- Data Dissemination Diagram
- Data Security Diagram
- Data Migration Diagram
- Data Lifecycle Diagram
- Application Communication Diagram
- Application and User Location Diagram
- Application Use-Case Diagram
- Enterprise Manageability Diagram
- Process/Application Realization Diagram
- Software Engineering Diagram
- Application Migration Diagram
- Software Distribution Diagram
- Environments and Locations Diagram
- Platform Decomposition Diagram
- Processing Diagram
- Networked Computing/Hardware Diagram
- Communications Engineering Diagram
- Project Context Diagram
- Benefits Diagram
TOGAF makes a distinction between the 56 artifacts and 21 deliverables:
- Architecture Building Blocks
- Architecture Contract
- Architecture Definition Document
- Architecture Principles
- Architecture Repository
- Architecture Requirements
- Architecture Roadmap
- Architecture Vision
- Business Principles, Business Goals, and Business Drivers
- Capability Assessment
- Change Request
- Communications Plan
- Compliance Assessment
- Implementation and Migration Plan
- Implementation Governance Model
- Organizational Model for Enterprise
- Request for Architecture Work
- Requirements Impact Assessment
- Solution Building Blocks
- Statement of Architecture Work
- Tailored Architecture Framework
Some would argue that several if not all these deliverables are (also) artifacts.
TOGAF artifacts described
The individual TOGAF artifacts are listed and described here:
Principles Catalog
The Principles catalog captures principles of the business and architecture principles that describe what a “good” solution or architecture should look like. Principles are used to evaluate and agree an outcome for architecture decision points. Principles are also used as a tool to assist in architectural governance of change initiatives.
Stakeholder Map Matrix
The purpose of the Stakeholder Map matrix is to identify the stakeholders for the architecture engagement, their influence over the engagement, and their key questions, issues, or concerns that must be addressed by the architecture framework.
Value Chain Diagram
A Value Chain diagram provides a high-level orientation view of an enterprise and how it interacts with the outside world. In contrast to the more formal Functional Decomposition diagram developed within Phase B (Business Architecture), the Value Chain diagram focuses on presentational impact.
Solution Concept Diagram
A Solution Concept diagram provides a high-level orientation of the solution that is envisaged in order to meet the objectives of the architecture engagement. In contrast to the more formal and detailed architecture diagrams developed in the following phases, the solution concept represents a “pencil sketch” of the expected solution at the outset of the engagement. This diagram may embody key objectives, requirements, and constraints for the engagement and also highlight work areas to be investigated in more detail with formal architecture modeling.
Organization/Actor Catalog
The Organization/Actor catalog captures a definitive listing of all participants that interact with IT, including users and owners of IT systems. The Organization/Actor catalog can be referenced when developing requirements in order to test for completeness.
Driver/Goal/Objective Catalog
The Driver/Goal/Objective catalog provides a cross-organizational reference of how an organization meets its drivers in practical terms through goals, objectives, and (optionally) measures. Publishing a definitive breakdown of drivers, goals, and objectives allows change initiatives within the enterprise to identify synergies across the organization (e.g., multiple organizations attempting to achieve similar objectives), which in turn allow stakeholders to be identified and related change initiatives to be aligned or consolidated.
Role Catalog
The purpose of the Role catalog is to provide a listing of all authorization levels or zones within an enterprise. Frequently, application security or behavior is defined against locally understood concepts of authorization that create complex and unexpected consequences when combined on the user desktop. If roles are defined, understood, and aligned across organizations and applications, this allows for a more seamless user experience and generally more secure applications, as administrators do not need to resort to workarounds in order to enable users to carry out their jobs. In addition to supporting security definition for the enterprise, the Role catalog also forms a key input to identifying organizational change management impacts, defining job functions, and executing end-user training. As each role implies access to a number of business functions, if any of these business functions are impacted, then change management will be required, organizational responsibilities may need to be redefined, and retraining may be needed.
Business Service/Function Catalog
The Business Service/Function catalog provides a functional decomposition in a form that can be filtered, reported on, and queried, as a supplement to graphical Functional Decomposition diagrams. The Business Service/Function catalog can be used to identify capabilities of an organization and to understand the level that governance is applied to the functions of an organization. This functional decomposition can be used to identify new capabilities required to support business change or may be used to determine the scope of change initiatives, applications, or technology components.
Location Catalog
The Location catalog provides a listing of all locations where an enterprise carries out business operations or houses architecturally relevant assets, such as data centers or end-user computing equipment. Maintaining a definitive list of locations allows change initiatives to quickly define a location scope and to test for completeness when assessing current landscapes or proposed target solutions. For example, a project to upgrade desktop operating systems will need to identify all locations where desktop operating systems are deployed. Similarly, when new systems are being implemented, a diagram of locations is essential in order to develop appropriate deployment strategies that comprehend both user and application location and identify location-related issues, such as internationalization, localization, timezone impacts on availability, distance impacts on latency, network impacts on bandwidth, and access.
Process/Event/Control/Product Catalog
The Process/Event/Control/Product catalog provides a hierarchy of processes, events that trigger processes, outputs from processes, and controls applied to the execution of processes. This catalog provides a supplement to any Process Flow diagrams that are created and allows an enterprise to filter, report, and query across organizations and processes to identify scope, commonality, or impact. For example, the Process/Event/Control/Product catalog allows an enterprise to see relationships of processes to sub-processes in order to identify the full chain of impacts resulting from changing a high-level process.
Contract/Measure Catalog
The Contract/Measure catalog provides a listing of all agreed service contracts and (optionally) the measures attached to those contracts. It forms the master list of service levels agreed to across the enterprise.
Business Interaction Matrix
The Business Interaction matrix depicts the relationship interactions between organizations and business functions across the enterprise. Understanding business interaction of an enterprise is important as it helps to highlight value chain and dependencies across organizations.
Actor/Role Matrix
The Actor/Role matrix shows which actors perform which roles, supporting definition of security and skills requirements. Understanding Actor-to-Role relationships is a key supporting tool in definition of training needs, user security settings, and organizational change management.
Business Footprint Diagram
A Business Footprint diagram describes the links between business goals, organizational units, business functions, and services, and maps these functions to the technical components delivering the required capability. A Business Footprint diagram provides a clear traceability between a technical component and the business goal that it satisfies, while also demonstrating ownership of the services identified. A Business Footprint diagram demonstrates only the key facts linking organization unit functions to delivery services and is utilized as a communication platform for senior-level (CxO) stakeholders.
Business Service/Information Diagram
The Business Service/Information diagram shows the information needed to support one or more business services. The Business Service/Information diagram shows what data is consumed by or produced by a business service and may also show the source of information. The Business Service/Information diagram shows an initial representation of the information present within the architecture and therefore forms a basis for elaboration and refinement.
Functional Decomposition Diagram
The purpose of the Functional Decomposition diagram is to show on a single page the capabilities of an organization that are relevant to the consideration of an architecture. By examining the capabilities of an organization from a functional perspective, it is possible to quickly develop models of what the organization does without being dragged into extended debate on how the organization does it. Once a basic Functional Decomposition diagram has been developed, it becomes possible to layer heat-maps on top of this diagram to show scope and decisions. For example, the capabilities to be implemented in different phases of a change program.
Product Lifecycle Diagram
The purpose of the Product Lifecycle diagram is to assist in understanding the lifecycles of key entities within the enterprise. Understanding product lifecycles is becoming increasingly important with respect to environmental concerns, legislation, and regulation where products must be tracked from manufacture to disposal. Equally, organizations that create products that involve personal or sensitive information must have a detailed understanding of the product lifecycle during the development of Business Architecture in order to ensure rigor in design of controls, processes, and procedures. Examples of this would include credit cards, debit cards, store/loyalty cards, smart cards, user identity credentials (identity cards, passports, etc.).
Goal/Objective/Service Diagram
The purpose of a Goal/Objective/Service diagram is to define the ways in which a service contributes to the achievement of a business vision or strategy. Services are associated with the drivers, goals, objectives, and measures that they support, allowing the enterprise to understand which services contribute to similar aspects of business performance. The Goal/Objective/Service diagram also provides qualitative input on what constitutes high performance for a particular service.
Business Use-Case Diagram
A Business Use-Case diagram displays the relationships between consumers and providers of business services. Business services are consumed by actors or other business services and the Business Use-Case diagram provides added richness in describing business capability by illustrating how and when that capability is used. The purpose of the Business Use-Case diagram is to help to describe and validate the interaction between actors and their roles to processes and functions. As the architecture progresses, the use-case can evolve from the business level to include data, application, and technology details. Architectural business use-cases can also be re-used in systems design work.
Organization Decomposition Diagram
An Organization Decomposition diagram describes the links between actor, roles, and location within an organization tree. An organization map should provide a chain of command of owners and decision-makers in the organization. Although it is not the intent of the Organization Decomposition diagram to link goal to organization, it should be possible to intuitively link the goals to the stakeholders from the Organization Decomposition diagram.
Process Flow Diagram
The Process Flow diagram depicts all models and mappings related to the process metamodel entity. Process Flow diagrams show sequential flow of control between activities and may utilize swim-lane techniques to represent ownership and realization of process steps. For example, the application that supports a process step may be shown as a swim-lane. In addition to showing a sequence of activity, process flows can also be used to detail the controls that apply to a process, the events that trigger or result from completion of a process, and also the products that are generated from process execution. Process Flow diagrams are useful in elaborating the architecture with subject specialists, as they allow the specialist to describe “how the job is done” for a particular function. Through this process, each process step can become a more fine-grained function and can then in turn be elaborated as a process.
Event Diagram
The Event diagram depicts the relationship between events and process. Certain events – such as arrival of certain information (e.g., customer submits sales order) or a certain point in time (e.g., end of fiscal quarter) – cause work and certain actions need to be undertaken within the business. These are often referred to as “business events” or simply “events” and are considered as triggers for a process. It is important to note that the event has to trigger a process and generate a business response or result.
Data Entity/Data Component Catalog
The purpose of the Data Entity/Data Component catalog is to identify and maintain a list of all the data use across the enterprise, including data entities and also the data components where data entities are stored. An agreed Data Entity/Data Component catalog supports the definition and application of information management and data governance policies and also encourages effective data sharing and re-use.
Data Entity/Business Function Matrix
The purpose of the Data Entity/Business Function matrix is to depict the relationship between data entities and business functions within the enterprise. Business functions are supported by business services with explicitly defined boundaries and will be supported and realized by business processes. The mapping of the Data Entity-Business Function relationship enables the following to take place:
Assign ownership of data entities to organizations
Understand the data and information exchange requirements business services
Support the gap analysis and determine whether any data entities are missing and need to be created
Define application of origin, application of record, and application of reference for data entities
Enable development of data governance programs across the enterprise (establish data steward, develop data standards pertinent to the business function, etc.)
Application/Data Matrix
The purpose of the Application/Data matrix is to depict the relationship between applications (i.e., application components) and the data entities that are accessed and updated by them. Applications will create, read, update, and delete specific data entities that are associated with them. For example, a CRM application will create, read, update, and delete customer entity information. The data entities in a package/packaged services environment can be classified as master data, reference data, transactional data, content data, and historical data. Applications that operate on the data entities include transactional applications, information management applications, and business warehouse applications. The Application/Data matrix is a two-dimensional table with Logical Application Component on one axis and Data Entity on the other axis.
Conceptual Data Diagram
The key purpose of the Conceptual Data diagram is to depict the relationships between critical data entities within the enterprise. This diagram is developed to address the concerns of business stakeholders. Techniques used include Entity Relationship models and simplified UML class diagrams.
Logical Data Diagram
The key purpose of the Logical Data diagram is to show logical views of the relationships between critical data entities within the enterprise. This diagram is developed to address the concerns of Application developers and Database designers.
Data Dissemination Diagram
The purpose of the Data Dissemination diagram is to show the relationship between data entity, business service, and application components. The diagram shows how the logical entities are to be physically realized by application components. This allows effective sizing to be carried out and the IT footprint to be refined. Moreover, by assigning business value to data, an indication of the business criticality of application components can be gained. Additionally, the diagram may show data replication and application ownership of the master reference for data. In this instance, it can show two copies and the master-copy relationship between them. This diagram can include services; that is, services encapsulate data and they reside in an application, or services that reside on an application and access data encapsulated within the application.
Data Security Diagram
Data is considered as an asset to the enterprise and data security simply means ensuring that enterprise data is not compromised and that access to it is suitably controlled. The purpose of the Data Security diagram is to depict which actor (person, organization, or system) can access which enterprise data. This relationship can be shown in a matrix form between two objects or can be shown as a mapping. The diagram can also be used to demonstrate compliance with data privacy laws and other applicable regulations (HIPAA, SOX, etc). This diagram should also consider any trust implications where an enterprise’s partners or other parties may have access to the company’s systems, such as an outsourced situation where information may be managed by other people and may even be hosted in a different country.
Data Migration Diagram
Data migration is critical when implementing a package or packaged service-based solution. This is particularly true when an existing legacy application is replaced with a package or an enterprise is to be migrated to a larger packages/packaged services footprint. Packages tend to have their own data model and during data migration the legacy application data may need to be transformed prior to loading into the package.
Data Lifecycle Diagram
The Data Lifecycle diagram is an essential part of managing business data throughout its lifecycle from conception until disposal within the constraints of the business process. The data is considered as an entity in its own right, decoupled from business process and activity. Each change in state is represented on the diagram which may include the event or rules that trigger that change in state. The separation of data from process allows common data requirements to be identified which enables resource sharing to be achieved more effectively.
Application Portfolio Catalog
The purpose of this catalog is to identify and maintain a list of all the applications in the enterprise. This list helps to define the horizontal scope of change initiatives that may impact particular kinds of applications. An agreed Application Portfolio allows a standard set of applications to be defined and governed. The Application Portfolio catalog provides a foundation on which to base the remaining matrices and diagrams. It is typically the start point of the Application Architecture phase.
Interface Catalog
The purpose of the Interface catalog is to scope and document the interfaces between applications to enable the overall dependencies between applications to be scoped as early as possible. Applications will create, read, update, and delete data within other applications; this will be achieved by some kind of interface, whether via a batch file that is loaded periodically, a direct connection to another application’s database, or via some form of API or web service.
Application/Organization Matrix
The Application/Organization matrix depicts the relationship between applications and organizational units within the enterprise. Business functions are performed by organizational units. Some of the functions and services performed by those organizational units will be supported by applications. The mapping of the Application Component-Organization Unit relationship supports the gap analysis and determine whether any of the applications are missing and as a result need to be created. The Application/Organization matrix is a two-dimensional table with Logical/Physical Application Component on one axis and Organization Unit on the other axis.
Role/Application Matrix
The Role/Application matrix depicts the relationship between applications and the business roles that use them within the enterprise. People in an organization interact with applications. During this interaction, these people assume a specific role to perform a task; for example, product buyer.
The Role/Application matrix is a two-dimensional table with Logical Application Component on one axis and Role on the other axis.
Application/Function Matrix
The purpose of the Application/Function matrix is to depict the relationship between applications and business functions within the enterprise. Business functions are performed by organizational units. Some of the business functions and services will be supported by applications. The Application/Function matrix is a two-dimensional table with Logical Application Component on one axis and Function on the other axis.
Application Interaction Matrix
The Application Interaction matrix depicts communications relationships between applications. The mapping of the application interactions shows in matrix form the equivalent of the Interface Catalog or an Application Communication diagram. The Application Interaction matrix is a two-dimensional table with Application Service, Logical Application Component, and Physical Application Component on both the rows and the columns of the table.
Application Communication Diagram
The purpose of the Application Communication diagram is to depict all models and mappings related to communication between applications in the metamodel entity. It shows application components and interfaces between components. Interfaces may be associated with data entities where appropriate. Applications may be associated with business services where appropriate. Communication should be logical and should only show intermediary technology where it is architecturally relevant.
Application and User Location Diagram
The Application and User Location diagram shows the geographical distribution of applications. It can be used to show where applications are used by the end user; the distribution of where the host application is executed and/or delivered in thin client scenarios; the distribution of where applications are developed, tested, and released; etc. Analysis can reveal opportunities for rationalization, as well as duplication and/or gaps.
Application Use-Case Diagram
An Application Use-Case diagram displays the relationships between consumers and providers of application services. Application services are consumed by actors or other application services and the Application Use-Case diagram provides added richness in describing application functionality by illustrating how and when that functionality is used. Application use-cases can also be re-used in more detailed systems design work.
Enterprise Manageability Diagram
The Enterprise Manageability diagram shows how one or more applications interact with application and technology components that support operational management of a solution. This diagram is really a filter on the Application Communication diagram, specifically for enterprise management class software. Analysis can reveal duplication and gaps, and opportunities in the IT service management operation of an organization.
Process/Application Realization Diagram
The purpose of the Process/Application Realization diagram is to clearly depict the sequence of events when multiple applications are involved in executing a business process. It enhances the Application Communication diagram by augmenting it with any sequencing constraints, and hand-off points between batch and real-time processing. It would identify complex sequences that could be simplified, and identify possible rationalization points in the architecture in order to provide more timely information to business users. It may also identify process efficiency improvements that may reduce interaction traffic between applications.
Software Engineering Diagram
The Software Engineering diagram breaks applications into packages, modules, services, and operations from a development perspective. It enables more detailed impact analysis when planning migration stages, and analyzing opportunities and solutions. It is ideal for application development teams and application management teams when managing complex development environments.
Application Migration Diagram
The Application Migration diagram identifies application migration from baseline to target application components. It enables a more accurate estimation of migration costs by showing precisely which applications and interfaces need to be mapped between migration stages. It would identify temporary applications, staging areas, and the infrastructure required to support migrations (for example, parallel run environments, etc).
Software Distribution Diagram
The Software Distribution diagram shows how application software is structured and distributed across the estate. It is useful in systems upgrade or application consolidation projects. This diagram shows how physical applications are distributed across physical technology and the location of that technology. This enables a clear view of how the software is hosted, but also enables managed operations staff to understand how that application software is maintained once installed.
Technology Standards Catalog
The Technology Standards catalog documents the agreed standards for technology across the enterprise covering technologies, and versions, the technology lifecycles, and the refresh cycles for the technology. Depending upon the organization, this may also include location or business domain-specific standards information. This catalog provides a snapshot of the enterprise standard technologies that are or can be deployed, and also helps identify the discrepancies across the enterprise. If technology standards are currently in place, apply these to the Technology Portfolio catalog to gain a baseline view of compliance with technology standards.
Technology Portfolio Catalog
The purpose of this catalog is to identify and maintain a list of all the technology in use across the enterprise, including hardware, infrastructure software, and application software. An agreed technology portfolio supports lifecycle management of technology products and versions and also forms the basis for definition of technology standards. The Technology Portfolio catalog provides a foundation on which to base the remaining matrices and diagrams. It is typically the start point of the Technology Architecture phase. Technology registries and repositories also provide input into this catalog from a baseline and target perspective. Technologies in the catalog should be classified against the TOGAF Technology Reference Model (TRM) – see Part VI, 43. Foundation Architecture: Technical Reference Model – extending the model as necessary to fit the classification of technology products in use.
Application/Technology Matrix
The Application/Technology matrix documents the mapping of applications to technology platform. This matrix should be aligned with and complement one or more platform decomposition diagrams.
Environments and Locations Diagram
The Environments and Locations diagram depicts which locations host which applications, identifies what technologies and/or applications are used at which locations, and finally identifies the locations from which business users typically interact with the applications. This diagram should also show the existence and location of different deployment environments, including non-production environments, such as development and pre production.
Platform Decomposition Diagram
The Platform Decomposition diagram depicts the technology platform that supports the operations of the Information Systems Architecture. The diagram covers all aspects of the infrastructure platform and provides an overview of the enterprise’s technology platform. The diagram can be expanded to map the technology platform to appropriate application components within a specific functional or process area. This diagram may show details of specification, such as product versions, number of CPUs, etc. or simply could be an informal “eye-chart” providing an overview of the technical environment. Depending upon the scope of the enterprise architecture work, additional technology cross-platform information (e.g., communications, telco, and video information) may be addressed.
Processing Diagram
The Processing diagram focuses on deployable units of code/configuration and how these are deployed onto the technology platform. A deployment unit represents grouping of business function, service, or application components. The organization and grouping of deployment units depends on separation concerns of the presentation, business logic, and data store layers and service-level requirements of the components. Deployment units are deployed on either dedicated or shared technology components (workstation, web server, application server, or database server, etc.). It is important to note that technology processing can influence and have implications on the services definition and granularity.
Networked Computing/Hardware Diagram
Starting with the transformation to client-server systems from mainframes and later with the advent of e-Business and J2EE, large enterprises moved predominantly into a highly network-based distributed network computing environment with firewalls and demilitarized zones. Currently, most of the applications have a web front-end and, looking at the deployment architecture of these applications, it is very common to find three distinct layers in the network landscape; namely a web presentation layer, an business logic or application layer, and a back-end data store layer. It is a common practice for applications to be deployed and hosted in a shared and common infrastructure environment. So it becomes highly critical to document the mapping between logical applications and the technology components (e.g., server) that supports the application both in the development and production environments. The purpose of this diagram is to show the “as deployed” logical view of logical application components in a distributed network computing environment. The scope of the diagram can be appropriately defined to cover a specific application, business function, or the entire enterprise. If chosen to be developed at the enterprise level, then the network computing landscape can be depicted in an application agnostic way as well.
Communications Engineering Diagram
The Communications Engineering diagram describes the means of communication – the method of sending and receiving information – between these assets in the Technology Architecture; insofar as the selection of package solutions in the preceding architectures put specific requirements on the communications between the applications. The Communications Engineering diagram will take logical connections between client and server components and identify network boundaries and network infrastructure required to physically implement those connections. It does not describe the information format or content, but will address protocol and capacity issues.
Project Context Diagram
A Project Context diagram shows the scope of a work package to be implemented as a part of a broader transformation roadmap. The Project Context diagram links a work package to the organizations, functions, services, processes, applications, data, and technology that will be added, removed, or impacted by the project. The Project Context diagram is also a valuable tool for project portfolio management and project mobilization.
Benefits Diagram
The Benefits diagram shows opportunities identified in an architecture definition, classified according to their relative size, benefit, and complexity. This diagram can be used by stakeholders to make selection, prioritization, and sequencing decisions on identified opportunities.
Requirements Catalog
The Requirements catalog captures things that the enterprise needs to do to meet its objectives. Requirements generated from architecture engagements are typically implemented through change initiatives identified and scoped during Phase E (Opportunities & Solutions). Requirements can also be used as a quality assurance tool to ensure that a particular architecture is fit-for-purpose (i.e., can the architecture meet all identified requirements).