A city trip to Enterprise Architecture – an analogy
Enterprise Architecture may be hard to grasp. Especially for people who have little feeling with this topic. An analogy usually helps explaining it. One that works pretty fine to me, is a city. This city-analogy allows me to project map enterprise architecture on common life concepts. Both enterprise and city are comparable as they have goals, an organization structure, functions and processes. Buildings in the city resemble applications; roads the infrastructure; people and goods the data.This article dives a bit deeper into this comparison. It discusses and compares architectural aspects and roles (see also my blog on architecture roles)
An enterprise is usually described in different levels of architecture: commonly “business -”, “application -”, “data -” and “infrastructure architecture”. All together they try to realize the enterprise’s vision and goals, usually formulated in the form of products, markets, revenue and growth.
These are so called “(architecture) domains”. The basic architecture domains are layered, so that a higher domain drives a lower and the lower supports the higher. For instance: the business architecture sets the goals and defines processes, where the application architecture defines the applications and services to support these processes. Domains may also be across the layers, like information architecture: Each layer has aspects of the information – business architecture defines business objects, application architecture data structures and infra the database management systems.
Similar to an enterprise, a city has a vision as well and sets goals accordingly. Think of housing ambitions, employment, safety, leisure and mobility (e.g. London)
Let’s compare the domains and try to map them upon our example city.
Business architecture specifies the business functions required to meet enterprise goals. It defines an organization-structure consisting of all business roles involved. This organization is responsible to develop and execute the plans to meet the goals and provide the services for the required functions. Business processes define the “how” of the execution (ideally in a repeatable and efficient way). Each well designed business-process ought to have a clear goal, a trigger that sets the process in motion and an expected outcome. It consists of (required or optional) activities and the concerned role or actors. An example of a business process is “order-to-cash”, which describes the flow of an order from being placed by the customer until delivery and payment.
In order to fulfill it, our city needs an organization-structure that defines who is responsible and accountable for what. In our city-example typical (business) functions could be: housing, labor, sanitation, safety, transportation etc. This organization would likely be led by the mayor and city council and may include police and fire department, a division for sanitation, public transportation and similar services. A typical city-process may be: “from-waste-to-reuse”. This process would consist of collecting waste, transportation, processing and distributing the reusable output. Another example is: “zoning-plan-to-construction”, which starts when the city assigns ground for a specific purpose and stops when building activities have ended.
Application architecture can be represented as physical buildings in our city analogy. Where enterprise applications have a digital “physical” representation (usually a file), a building also has a concrete form: The construction. Enterprise applications deliver a specific functionality, for instance “managing customer data”. Similarly, buildings have functions: A hospital for instance to “cure people” and a house to “provide protection” to its residents. Software is the technology that the applications are made of. In our city software may be compared to construction materials. IT Platforms to build software (e.g. product-stacks) may be represented by the building equipment used to construct the building. IT Concepts like Service Oriented Architecture (SOA) that may drive the design, may be best compared to building styles (modern, “green”, classic).
Infrastructure architecture describes the technology required to enable the applications and data exchange. Think of hardware like servers, networks and the standard system-software to operate them, like operation systems and database management systems. In our city-example the land where upon buildings can be constructed, can be seen as infrastructure, together with generic facilities like sewer-system, the water-and power supply and roads to make the buildings accessible. Think of rails as networks and metro stations as hubs or routers.
Data and information are usually key assets in a (modern) enterprise. Data can be gathered, maintained, stored and exchanged. In itself data has no particular value. However, when it is structured, organized or presented it may turn into information. Information may be leveraged, e.g. for strategic advantage and hence provides value. For example: apply market intelligence in order to outsmart competitors. In our city data can be represented by (the capabilities of) humans and goods. Persons and goods may reside in and be transported between buildings. They may be combined in order to utilize the capabilities and turn them into value, e.g. in a team or a production facility – like a factory, where human labor and materials are being combined in order to produce and sell cars (new value!). Combining with building materials (software), it may even result in new buildings (applications), that may be used to shelter or produce value themselves
Note that there is also an important distinction between data and (the capabilities of) humans and goods: Data may be replicated instantly. For humans it takes (still) noticeable time to multiply capabilities.
Enterprise Integration is about the exchange of data between enterprise applications. Output of one system may be the input of another. For instance: a customer order in a CRM system may be input to a production system. To exchange the data, specific infrastructure is required to transport the information between applications: middleware. Besides that, applications need to expose data or accept data from outside. This is done through interfaces. An interface is for instance an “application programming interface” (API) which can be programmatically invoked by the middleware. Interfaces could be internal as well, like doors or cables between different parts or rooms of the building.
In our city this is analogue: People and their competences/skills may be exported between buildings: either physically or via communication systems, like telephone.
An example of physical transport of people is the metro between residential areas and commercial center. Residential areas may be compared to storage facilities, and companies as processing units. Infrastructure like roads, metro and telephone lines may be considered as middleware, just like the specific transportation means or units like cars, buses and trains. Buildings have typically “interfaces” to connect to the outside world. Think of doors, mailboxes, carports and telephone-connections, that allow persons, goods of knowledge to enter or exit the buildings.
Now, how can the work of IT and business architects be projected upon our city example?
Each of the architecture domains have accordingly a Domain Architect (DA) role. A number of additional roles support in the process. Most are discussed below.
The business (domain) architect (BA) in our city translates the goals of the city into functions, organization and processes. The BA determines required functions like security and protection, medical care, sanitation, culture and recreation. The responsibility of facilitating these functions can be addressed to departments. Think of a police-force, hospitals and a department for culture. These may be part of the organization structure, below city council.
The BA determines the level of service of each function: What is the maximum allowed crime rate? What is the number of museums per 100.000 inhabitants? What is the average travel time? This impacts the size of the police-force, capacity of hospitals, the amount and types of cultural facilities and recreation, the size of areas designated for housing, commerce and industry, and the frequencies of busses, metro and waste collection. All choices made by the BA should comply to enterprise goals and to legislation.
Our BA also defines the city’s processes. Usually such a process involves multiple functions. For instance: The organization of sport-events may involve police (safety), public transport (additional buses), public services (close down streets), and hospitals (additional first help capacity)
Processes ought to be both effective and efficient in order to optimize the overall effect of the city spending. Market architects (MA) may assist the BA. They may be compared to matter experts or external advisors. They have generic expert knowledge of a specific topics, like housing, healthcare, pollution or economics and work for city council members or aldermen. They may assist in setting up strategy for specific matters, solve issues or corporate with other cities on these matters.
The application (domain) architect (AA) is responsible for all or a collection of buildings in the city. He/she should ensure that buildings for all required functions are in place, and in the proper condition. This means that the AA needs to know exactly what buildings do exist, where they are located and what their supposed functions and condition are. The AA is also responsible for the logical coherence between buildings. The functions should be reasonably divided: Medical functions could best be assigned to hospitals, cultural related functions to museums. This way it is more obvious where to find specific functions, and related functions may benefit of the proximity of each other: It is not really efficient to store police equipment in a hospital: The equipment would be harder to find and difficult to obtain by the officers when needed.
Efficiency is also a consideration: two small hospitals providing exactly the same care could be costlier than one big hospital.
The AA should produce a roadmap with all renovations or new buildings, in line with the enterprise and BA visions. He/she should be able to answer if the current buildings support proposed functions. And if not, what changes would be required. For instance: if the city decides to buy a larger firetruck, the fire station should be capable to store it (provided the function of the fire station is “storing fire trucks”). If not, the station will have to be altered or renewed (enlarge doors, or even the garage) in order to support this requirement.
The software (domain) architect’s (SwA) job in our city is to design buildings, rather similar to a (construction) architect.
The SwA creates the high level design(s) for the construction of one building or a project of related buildings. The SwA knows everything about materials and tools, the building process, methods, regulations and the effects of technical choices on quality. He/she is responsible that the design meets the requirements. The SwA may be involved in complex construction challenges, together with matter-experts (material and tooling) and other architects. Think of a one-of-a-kind sky-scraper with a very specific construction.
SwA’s are usually involved in setting up generic building guidelines along the city. They may for instance prescribe the use of standard materials or construction method. This could lower construction and maintenance cost, or enhance overall quality. A SwA may be assisted by conceptual architects (CA) that may help design according a certain style (e.g. platform architects (PA)). They can be considered as experts on a specific building technique or material. Usually PA-s are consulted for a specific project and then move along to a next assignment.
The infrastructure (domain) architect (or “technology architect” – TA) is responsible for planning and designing city’s infrastructure.
Before any construction activity starts he/she should take care that an area is appointed and the land has sufficient connections to sewer, water and power-systems. As infrastructure is regularly used by multiple buildings the TA is responsible that infra is capable of supporting the complete area. A new building should not negatively affect the infrastructure functions for the existing ones: Traffic, parking and the sewer-system in the adjacent area should still be acceptable in case of the additional load caused by the new construction.
The TA needs to provide a vision about the future uses. This means that the TA should anticipate and account with the city vision and building roadmap. For a new housing program for the next 10 years, sufficient land should be reserved and prepared. And roads, sewer and power-supplies should be capable to support al new residential buildings planned. Infrastructure is shared among several “users”, and they all depend on its reliability and safety. “Accidents” or “misconduct” might endanger the required infra-functions used by several buildings. The TA has a number of instruments to enforce security. Think of traffic lights to prevent collisions, camera surveillance, and access control and automatic alarm systems for tunnels: All integral part of infrastructure.
The information (domain) architect’s (IA) responsibility is to ensure the correct people / goods are available on the right place at the right time.
First the IA needs to list all (human and material) capabilities and the possible areas to apply them. All relations between them should be identified too: nursing skills are related to curing people, machine operation skills to factories and installations. A manager may lead a factory, but also a hospital, and a doctor may perform the tasks of a nurse but not vice versa. The IA should take care that these skills are available when and where needed. He/she should determine where to obtain skills (e.g. schools) and where to “store” them (e.g. medical skills in a hospital). He/she also records and prescribes where specific capabilities are maintained – e.g. in specific companies, in universities or specific institutions. If for instance a certain skill is limited, the IA may decide to stimulate education or training by incentives or subsides. Think of promotion of some technical skills.
Some capabilities are highly valued because they are scarce or expensive. Think of a surgeon-skills which cost over 10 years of study, and which may save lives. Other skills may be dangerous if applied by the wrong people or in the wrong situation, like handling weapons or creating explosives. Classifying these sensitive or important skills is also part of the IA job. Classification allows to take standard measures to protect these skills. Important people like politicians could be guarded, or their skills could be ensured by certifications. Sensitive skills could be restricted e.g. by legislation and physical limits – e.g. to limit availability of guns.
An (enterprise) integration architect (EIA) in our city is responsible for transportation.
The EIA designs transportation of humans or goods and their capabilities (knowledge, skills, ideas, effects) from one building to another. People and goods may require physical transport; Knowledge may also be transported over communication lines like telephone or internet. The EIA should take the capacity of infrastructure and buildings into account: A tiny path and narrow doors may restrict the physical transport between two buildings, where broad roads and large doors would enhance the potential transport capacity. Therefor EIA corporates with the IA and AA to decide on infrastructure capacity (roads) and interfaces (doors). If more capacity is required, it could force the need to upgrade infrastructure and interfaces as well.
EIA could define a separate solution for each exchange between two buildings, resulting in a separate path for each (“point-to-point”) connection. Generally, more effective is a multiple purpose solution. Think of one broad road where all buildings are connected to. Every transport between any of these buildings may use the same street. It would simplify the solution as only one road needs to be build and maintained. New buildings could use it as well, provided the capacity is sufficient.
In enterprise integration this approach is comparable to an “Enterprise services bus” (ESB), which connects several applications in the enterprise.
Another issue in transport is efficiency. Goods of different shape may all require separate handling. Standardization in transport and interfaces would allow goods to be exchanged more easily, and allow new integration to be developed faster. Think of containerization, which allows good to be transported, loaded and unloaded in an equal way, regardless the shape or size.
A “common data model” is an example in the IT for standardization of integration.
Solution architect (SA) is responsible for the design of a project issued by the city.
A project has a “business” driver, usually formulated by the BA. An example of a project in our city would be one to collect separated waste, in order to fulfill a business goal: “improve recycling”. The goals (e.g. lower costs), functions (e.g. processing plastic) and processes (e.g. collect waste) would be formulated by the BA. The IA could define the categories of waste, and the specific skills required in order for the separation process. The project might have an impact on buildings, infra and transportation. De SA therefore needs to corporate closely with all other architects to define a solution that is in line with all visions and to determine the impact.
A new waste processing facility may be required. The exact function(s) and coherence with other facilities would have to be decided with the AA. The way how to construct the building is to be discussed with the SwA. For the transport of waste new infra may be required, like new or upgraded roads (TA). A set of new containers and trucks (middleware) could be part of the project as well (XA). The SA needs to document all alternatives and the pre-s and cons, and propose the best solution. This will have to be agreed upon with the other architects involved.
An enterprise architect (EA) is the overall responsible for the architecture. This involves the architecture vision, organization, governance and processes. The job in our city that meets this scope best is chief city planner. The EA works closely together with the mayor and city council. He manages the architect team and takes care that all disciplines corporate together in order to reach optimal results.
All together this team of architects is responsible of the complete development and future of the city. Just like the architects in an enterprise design their company and IT landscape.