The main activity of 21st century enterprises is computation—work that can be performed by either individual (human or software) agents or composite agents (units).
The Enterprise Engineering Framework (EEF) defines two clear structures that are used to engineer the entire enterprise. First, the EEF views the unit as a network of individual human and artificial agents, where the latter may be implemented based on the principles of a service-oriented architecture.Figure 4.1. The unit is a network of individual agents.
Second, the EEF views the enterprise as a network of units.Figure 4.2. The enterprise is a network of units.
Needless to say, computational activities of units within the enterprise, as well as individual agents within the units, have to be coordinated.
Although the currently popular coordination approach—business process management (BPM)—can be successfully used for well-defined production workflows and basic administrative processes, it has proven to be ineffective for knowledge-based work.
The EEF proposes worknet management (WM) as an approach to coordinating units' computational activities at the enterprise level. WM can also be used along with BPM for coordinating individual agents at the unit level.
There are currently no commercial or open source products available on the market that support worknet management. Nevertheless, WM may be relatively easily implemented and supported within the enterprise based on the following principles:
- 1Worknet is a simple and flexible expectation-based and event-driven enterprise coordination mechanism.
- 2A worknet is owned by one and only one unit.
- 3A worknet's definition is simply a collection of (start, intermediate, and end) events.
- 4Work items performed by units (tasks, processes, or intra-unit worknets) represent the transitions between the events.
- 5Units are expected to subscribe to the appropriate events; upon the receipt of a notification, they (optionally) perform some work and in turn publish an event.
- 6At runtime, a worknet may activate various combinations of units.
- 7A worknet instance is uniquely defined by the combination of its design-time ID (e.g. order-to-cash) and run-time ID. Every published message must reference this ID combination.
- 8A coordination agent, which is a part of the owner unit, tracks the progress of the worknet execution and is able to visualize it at any time.
- 9Events nodes and transitions between them are the only visible worknet elements. The transitions specify the name of the unit that drives the worknet to the next state and (optionally) the name of the corresponding work item.
- 10Actions, decisions, data, and the respective traditional notation elements—such as action nodes, decision nodes, forks, etc.—are hidden from the coordination agent and cannot be visualized.
Figure 4.3 shows an abstract enterprise worknet, which begins with a start event, activates seven enterprise units (A, B, C, D, E, F, and G), produces 10 intermediate events, and finishes with four end events.Figure 4.3. An abstract enterprise worknet.
Unlike traditional command-and-control coordination techniques, worknet management is based on the expectations related to the responsibilities assigned to the enterprise units. It delegates decision-making power to the units, which still operate under the constraints (limits and boundary conditions) imposed by the executive units, and lets them drive worknets to the completion, at the same time successfully hiding operational complexity from the coordinator.
- 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.