Paraphrasing Albert Einstein, the enterprise should be made as simple as possible, but no simpler. The Enterprise Engineering Framework (EEF) reduces the complexity of the enterprise by engineering it as a flat network of uniformly constructed entities—enterprise building blocks.
Enterprise Building Blocks
The enterprise-level entities (building blocks) must be
- Intelligent (capable of performing complex computations);
- Purposeful (capable of finding and satisfying the needs of others);
- Robust (capable of providing high quality of service);
- Autonomous (capable of making decisions);
- Governable (capable of being subjected to authority, manageable, and controllable);
- Interactive (capable of collaborating, cooperating, and communicating with others);
- Adaptive (capable of learning and evolving); and
- Resilient (capable of recovering from errors).
Box 3.1. Building Blocks:
Composite agents (units)
Individual human agents
Individual artificial agents
Virtual private assistants
Box 3.1 lists enterprise building blocks. The top three—human agents, artificial agents, and composite agents—are primary enterprise building blocks. The secondary building blocks—boundary constructs, digital tools, and virtual private assistants—support enterprise agents, whereas platforms and infrastructure support all the above.
While all three types satisfy the majority of the requirements defined for enterprise-level entities, only composite agents—units—satisfy them all. Therefore, from the EEF perspective, the enterprise is nothing more than a flat network of uniformly constructed units.
The process of partitioning enterprise computational resources into a network of units is called enterprise decomposition.
The complexity of a unit's structure must match the complexity of the environment it interacts with. Although the entire enterprise may theoretically be engineered as a single unit, its structure would be extremely complex and impossible to operate. The following factors usually cause the decomposition of a unit:
- The complexity of the environment the unit interacts with (regions, markets, institutions);
- The production complexity (the variety of enterprise offerings—products and services);
- The work specialization; and
- The volume, variety, and speed of the information flow.
The enterprise decomposition process goes through several recursive steps.
Each step results in the creation of a set of functional units, whereas the parent becomes an executive unit. The authority lines between the executive unit and functional units signify the hierarchical directing/reporting relations between them and the respective presence of decision interfaces in executive units and reporting interfaces in functional units.Figure 3.1. The decomposition of a unit.
At some point, however, the benefit of having no boundaries and the ability to quickly create effective virtual teams exceed the benefits of further decomposition, and the process stops. The result is a flat network of units, the simplest possible structure of the enterprise.Figure 3.2. The decomposition of the enterprise.
Figure 3.2 depicts the enterprise as a hierarchy of units, which is convenient for understanding hierarchical relations between the unit. However, as mentioned earlier, the enterprise is a flat network of units, which is shown on a slightly different representation of the same enterprise (Figure 3.3).Figure 3.3. The decomposition of the enterprise shown as a network.
In addition to hierarchical relations, units establish and maintain collaborative and transactional relations not only with other units, but also with their environment. Figure 3.4 shows hierarchical relations between units as authority lines (orange), collaborative relations as cooperation lines (green), and transactional relations as exchange lines (blue).Figure 3.4. Unit relations.
A Unit is an enterprise building block that performs complex computational activities to satisfy needs of external or internal customers. It is a complex social system that consists of individual human and artificial agents.
As stated above, units are the only type of enterprise components that satisfy all requirements for enterprise-level building blocks: they are intelligent, purposeful, robust, autonomous, governable, interactive, adaptive, and resilient.
A unit is characterized by its purpose, function, process, structure, and culture. The purpose connects the unit to the customers. The function defines its externally observable behavior and enables its interaction with the customers. The process supports the unit's function, whereas the unit's structure supports the process. The right culture breeds positive energy and accelerates learning and the decision making processes.Figure 3.5. An enterprise unit.
As mentioned previously, units engage in cooperative relations with one another to share information, resources, and expertise. Each unit exposes a collaboration facade—a set of interfaces—that enables effective sharing of information through asynchronous or synchronous communication channels.
Functional units are located at the periphery of the enterprise network (see Figure 3.3 above). They perform highly specialized work and actively interact with either the external environment (sales, marketing, accounting) or the internal environment (production, packaging, analytics).
To enable interactions with the environment, functional units expose transactional facades that consist of both self-service interfaces—that enable customers find the desired offerings and place orders—and product/by-product/service delivery interfaces.
In addition, functional units have reporting facades that support their interactions with executive units.Figure 3.6. A functional unit.
Executive units ensure that units under their authority contribute their best to the whole (that the executive unit represents) by directing and coordinating their activities and facilitating communication. The executive unit establishes a decision facade—a set of interfaces that set constraints (limits and boundary conditions)—that guides and steers operations of the units under its authority.
Executive units also expose reporting facades to enable interactions with the units up the hierarchy.Figure 3.7. An executive unit.
- 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.