Unit Oriented Architecture
Unit oriented architecture (UOA) is an enterprise architecture methodology based on the hierarchical composition of software units that provide operational and interactional support to sociotechnical systems. The purpose of UOA is to create software units that fully support the purpose, function, behavior, and structure of the sociotechnical systems.
UOA clarifies and strengthens enterprise architecture by finding the right place and the right owner for each enterprise asset. In UOA, web applications, mobile apps, web services, and RESTful APIs constitute units' boundaries, business processes comprise units' operations, business events serve as a medium for inter-unit communication, and business rules constitute units' governance facades. As a result, a software unit becomes not only a construct that comfortably accommodates a social unit, but also a micro-platform that lets other digital components plug into it.Figure 1.1. A unit as a micro-platform
The Industrial Age has developed technologies that provided high quality, holistic support to social systems: houses to families, factories to manufacturers, tanks to military units, space stations to astronauts, and office buildings to social organizations. The Information Age, however, despite its fast-paced development and exponential growth, wasn't able to adequately support social entities.
The 20th century saw the intense development of systems thinking, a new discipline that views a system as the whole that is greater than the sum of its parts. Systems thinking defines a system as a set of interrelated and interacting elements that make a unified whole. A social system is one in which both the whole and some of its parts have a purpose. Families, organizations, and military and organizational units are all examples of social systems.
UOA's key focus is to provide intentional, complete support to social systems, mainly to organizations and organizational units of all types.
Relationships with Other Disciplines
UOA uses Systems Thinking for defining the problem and essential concepts, Organization Design for structuring both an organization and an organizational unit, service oriented architecture (SOA) for constructing unit boundaries, event driven architecture (EDA) for inter-unit communication, business process management (BPM) for defining unit operations, and Business Rules for governance.Figure 1.2. Relationships between UOA and other disciplines
A unit—an organizational unit or an organization—is the focus of UOA. The main concepts related to a unit from the systems thinking perspective are its purpose, function, behavior, and structure.Figure 1.3. Relationships between a unit's purpose, function, behavior, and structure
Note that if we take a specific organization, for example, an accounting business, the unit's purpose, function, behavior, and structure also become specific.Figure 1.4. Purpose, function, behavior, and structure of an accounting business
Thus, the name of a unit could be derived from the statements like a set of accounting needs, a set of accounting functions, or a set of accounting processes.
Key Architecture Considerations
Figure 1.5 uses a house analogy to illustrate similarities between building and software architectures in terms of how they accommodate social units. The foundation of a digital house consists of two layers: 1) an infrastructure layer (virtual machines, servers, operating systems, network) and 2) a platform layer (database management system, business process management system, business rule management system, application server, etc.). Unlike the house foundation, which is typically placed in the ground, today's infrastructure and platforms are often hosted in the Cloud. A software layer business artifacts, such as business processes, business rules, and business interfaces, are deployed on the platforms and executed by the platforms.
A house accommodates actors—who play well-defined roles (mother, father, daughter, son)—and support both their activities and interactions with the outside world. Similarly, a unit accommodates actors who also play various roles in an enterprise (accountant, trader, bank teller, etc.).Figure 1.5. A digital unit accommodates a social unit
In People and Performance,
Peter Drucker argued that
organizations are structured to satisfy the need for:
- Clarity, as opposed to simplicity. (The Gothic cathedral is not a simple design, but your position inside it is clear; you know where to stand and where to go. A modern office building is exceedingly simple in design, but it is very easy to get lost in one; it is not clear.)
- Economy of effort to maintain control and minimize friction. (If the people in top management have to spend all their time on internal problems of organizational and human relationships within the business and have no time for the business itself, the design is truly uneconomical. It abuses energy - using resources as lubricants.)
- Direction of vision toward the product rather than the process, the result rather than the effort. The people who do quality control need to be concerned with the reasons for quality control, e.g., the values and needs of the customer rather than worry only about quality control techniques.
- Understanding by each individual of his own task as well as that of the organization as a whole. The quality control people need to know specifically what they have to do to provide effective quality control.
- Decision making that focuses on the right issues, is action oriented, and is carried out at the lowest possible level of management.
- Stability, as opposed to rigidity, to survive turmoil, and adaptability to learn from it.
- Perpetuation and self-renewal, which require that an organization be able to produce tomorrow's leaders from within, helping each person develop continuously; the structure must also be open to new ideas.
UOA offers a practical, natural and elegant approach to satisfy these needs. The approach is based on key architecture considerations:
- Unit orientation. Unit is the essential concept of UOA, a digital construct that provides ultimate support to independent and semi-independent organizational units at all levels. The entire digital enterprise could be assembled from modular digital units of just 2 types—functional and control units—which demonstrate the clarity of unit oriented architecture.
- Hierarchical unit structure. The optimal means-end hierarchical structure of the enterprise not only effectively defines the roles and divides the responsibilities between the units, but also increases the information processing capacity of the enterprise. Because the components of hierarchies as well as sub-hierarchies are themselves stable systems, a hierarchically structured organization can adapt, develop, and grow quickly.
- Process centric and event driven integration. UOA differentiates between process driven coordination of work inside a unit and event driven coordination of activities between units. This approach liberates top managers from tedious coordination work and ensures economy of effort by decentralizing control and minimizing friction.
- Differentiation between functional and control units. Functional units are the leaf nodes in an organization hierarchy and don't contain other units. Functional units make digital products, provide digital services, or process information related to making physical products / providing digital services. Control units contain other units; they direct, coordinate, measure, and control their performance to ensure their best contribution to the bottom line. The differentiation between functional and control units promotes a clear understanding by each individual of their roles in the organization and delegates decision making to the appropriate organizational contexts.
- Operations in support of interactions. In systems thinking, the quality of interactions between system's parts is generally considered to be more important than the quality of the parts themselves. The effectiveness of a unit is determined by the quality of its interfaces, which enable interactions between the unit and its environment. UOA's "boundary first" focus sets the direction of vision toward the product or service rather than the process. Effective unit interfaces nevertheless must be supported by efficient operations.
Organizational units empowered by robust digital constructs can fully concentrate on customers, perpetuation and self-renewal, and benefits realization. Figure 1.6 illustrates the business benefits that could have been realized as a result of UOA implementation.Figure 1.6. The business benefits of UOA Implementation
UOA creates digital constructs that provide interactional and operational support to organizational units. An organizational unit is a social system, which represents a social technology phenomenon programmed to some purpose(s).
UOA views the organization as an implementation of the Composite design pattern with every node treated either as a Composite (control unit) or a Leaf (functional unit).
Unit software must be as comfortable to an organizational unit as a house is to a family, a space station to an astronaut crew, or a battle tank to a fighting crew.
Each unit must have a formal [software] boundary, which represents a contract between the unit and other entities inside and outside of the organization.
Each unit runs its own operations implemented as executable business processes. Every process in the organization is owned by exactly one unit. A unit might engage another unit or organization to perform a task within the context of the process it owns.
UOA places a special emphasis on control units, which today often consist of just one or a few people, have inadequate information support, and, therefore, have become the weakest links in modern organizations.
UOA uses Systems Thinking for defining the problem, Organization Design for configuring both an enterprise and a composite unit, SOA for constructing unit boundaries, EDA for inter-unit communication, BPM for defining unit operations, and Business Rules for governance.