Unit Oriented Architecture

Evolution of Digital Units

The evolution of units is best described by the patterns of evolution that I adopted from TRIZ, a comprehensive framework for problem solving and innovative thinking developed by Genrich Altshuller and his colleagues - most notably Vladimir Petrov, Boris Zlotin, Alla Zusman, and Yuri Salamatov - in the former Soviet Union.

1. Increasing the degree of ideality. Petrov defines an An Absolutely Ideal System (which is impossible) as a system which does not exist but all possible functions are delivered at the required moment of time in the required space with 100% of effectiveness, whereas there is no consumption of power, material, energy and information. In reality, however, the unit's ideality can be achieved by 1) increasing quality and quantity of delivered functions, 2) lowering the cost of operations that support the functions, and 3) reducing negative effects on itself and the environment.

2. Uneven evolution of constituent units. Faster evolution of some subunits creates pressure on other units, accelerates the innovation, and thus speeds up the evolutionary process.

3. Increasing the degree of unit's dynamics. Higher dynamics can be achieved by increasing visibility, configurability, and controllability of the unit's parts including data, information, process, and boundary elements.

4. Transition to macro-level. With intensive growth and development, it often makes sense to increase independence of a unit or make its structure more complex by 1) formalizing its boundaries or 2) decomposing or disaggregating it into multiple units.

5. Transition to micro-level. Sometimes elimination of formal boundaries may significantly improve the performance of a unit. In this case, the unit becomes a team within a parent unit.

6. Improving coordination. Choosing either process driven or event driven coordination of work may increase loose coupling of subunits and enable units' self-control and self-development.

7. Decreasing human involvement. Units gradually delegate work to computers by introducing a combination of process automation (automated coordination of work) and task automation. There exist 3 types of task automation: 1) conversion of a manual task into a human task; 2) conversion of a manual task into a system task; 3) conversion of a human task into a system task.

Key Points

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.

Further Insights