John A. Zachman was right when he said, "IT has been manufacturing the Enterprise (building systems) for 70 years or so... but the Enterprise was never engineered. Therefore, IT has not been manufacturing the Enterprise... they have been manufacturing PARTS of the Enterprise ... and the parts don’t fit together (they are not “integrated”)."
But how can this be explained?
One of the answers is that it usually takes time for various technologies or even industries to develop before the consolidation process even begins.
Another possible explanation is that the senior management of today's enterprises prefer to hold to the status quo and resist the executive-level enterprise transformation.
The Enterprise Engineering Framework (EEF) defines the top-down approach to enterprise reengineering, which begins at the least socially and technologically complex areas—executive levels of the enterprise.
Enterprise transformation includes social transformation, systemic transformation, and technological transformation of the entire enterprise followed by the transformation of individual units, which advance at their own pace.
Social transformation aims to streamline the enterprise structure. It occurs at the enterprise level and requires overcoming cognitive, organizational, and political barriers to change. It will re-engineer the enterprise into a network of uniformly constructed units—purposeful, intelligent, robust, autonomous, governable, interactive, resilient and adaptive.Figure 6.1. An example of social enterprise transformation.
Figure 6.1 shows that because of their natural limitations, individual human agents are eliminated from the high-level enterprise structure and are encapsulated within the composite agents—units. This not only significantly reduces the enterprise-level complexity, but also streamlines information flow.
Amazon.com CEO, Jeff Bezos, eloquently expressed principles of systemic transformation in a memo famously leaked five years ago:
- "All teams will henceforth expose their data and functionality through service interfaces.
- Teams must communicate with each other through these interfaces.
- There will be no other form of inter-service/team communication allowed: no direct linking, no direct reads of another team’s datastore, no shared-memory model, no backdoors whatsoever. The only communication allowed is via service interface calls over the network.
- It doesn’t matter what technology they (other services) use.
- All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world.
- Anyone who doesn't do this will be fired."
The goal of systemic transformation is to create unit boundaries. Boundaries establish formal contracts between the unit and its environment, thus protecting both from each other and enabling them to change and evolve independently. The boundary consists of interfaces that enable interactions between the unit and the environment. The interfaces are grouped into hierarchical (directing/reporting relations), transactional (exchange relations), collaboration (cooperative relations), and operational (private) facades.
In the case of executive units, systemic transformation also involves establishing the coordination and communication between the units under their authority.
After transforming the enterprise into a network of bounded units, the individual units can transform themselves at their own speed and convenience.
The unit is constructed as a network of individual (both human and software) agents that not only collaborate and cooperate, but also maintain hierarchical relationships with other agents (shown as orange lines in Figure 6.2).Figure 6.2. The unit is composed of individual human and software agents.
A unit could be constructed as a single team or as a network of functional teams without formal boundaries, so that virtual teams (that may contain members from different functional teams) could be easily created.
The EEF—a unifying enterprise engineering framework—consolidates various technologies and methodologies, thus enabling them to create two essential enterprise structures: (1) the enterprise itself as a network of units and (2) the unit as a network of individual human and artificial agents. These two structures are necessary and sufficient for building a modern digital enterprise.
The EEF uses
- Systems thinking and unit oriented architecture (UOA) for organizing and structuring both the enterprise and the unit;
- Service oriented architecture (SOA) and artificial intelligence (AI) for organizing and structuring artificial agents;
- Worknet management (WM) and business process management (BPM) for enterprise and unit coordination;
- Event driven architecture (EDA), enterprise mediation (ESB) and enterprise intermediation (pub/sub and queueing) for enterprise and unit communication; and
- Business rule management (BRM), web, mobile, and reporting technologies for establishing unit boundaries.
- Unit Oriented Architecture
- Enterprise Transformation
- Defining Enterprise Architecture: The Systems Are the Enterprise by John A. Zachman
- Defining Enterprise Architecture: Misunderstandings by John A. Zachman
- Intro to EA: The Paradigm Problem by John A. Zachman
- Software Architecture Is Not Building Architecture by Bex Huff
- Cooperation vs Collaboration
- A Better Path to Enterprise Architectures by Roger Sessions
- What to Think About Machines That Think?
- What Will Change Everything?
The Enterprise was never holistically engineered, according to John A. Zachman.
The EEF is a lightweight enterprise reengineering framework focused on computational activities and the digital architecture of the enterprise. The physical architecture, which supports physical/chemical activities of the enterprise, may complement the digital architecture, but it is outside the scope of the EEF.
The main enterprise building blocks are individual human agents, individual software agents, and composite agents (units). The other parts are tools, boundary constructs, platforms, and infrastructure.
Two types of structures define the enterprise. The enterprise itself is a collection (flat network) of units. Although the network is flat, there exist asymmetric hierarchical relations (directing/reporting) between the units. A unit is a collection (flat network) of individual agents (both human and artificial). The individual agents may also have hierarchical relations.
At the enterprise level, computational activities of units are coordinated using an expectation-oriented style described by the event-process-event pattern. At the unit level, computational activities of individual agents can be coordinated using either the expectation-oriented or the command-and-control style described by the event-task-event pattern.
At the enterprise level, units communicate asynchronously; at the unit level, either asynchronously or synchronously, depending on the coordination style.
The EEF recommends the top-down approach to enterprise transformation. It begins with the social transformation that streamlines the human architecture of the enterprise and partitions it into the collection of executive and functional units. The second stage is the systemic transformation that creates units' boundary constructs and enables effective enterprise-level communication and coordination. The last stage is the unit transformation, where each unit can be reengineered at its own pace.