While turf wars may play a part, the debate about Enterprise and Systems governance is rooted in a more serious argument, namely, how the divide between enterprise and systems architectures may affect decision-making.
The answer to that question can be boiled down to three guidelines respectively for capabilities, functionalities, and visibility.
From an architecture perspective, enterprises are made of human agents, devices, and symbolic (aka information) systems. From a business perspective, processes combine three kinds of tasks:
- Authority: deciding how to perform processes and make commitments in the name of the enterprise. That can only be done by human agents, individually or collectively.
- Execution: processing physical or symbolic flows between the enterprise and its context. Any of those can be done by human agents, individually or collectively, or devices and software systems subject to compatibility qualifications.
- Control: recording and checking the actual effects of processes execution. Any of those can be done by human agents, individually or collectively, some by software systems subject to qualifications, and none by devices.
Hence, and whatever the solutions, the divide between enterprise and systems will have to be aligned on those constraints:
- Platforms and technology affects operational concerns, i.e physical accesses to systems and the where and when of processes execution.
- Enterprise organization determines the way business is conducted: who is authorized to what (business objects), and how (business logic).
- System functionalities sets the part played by systems in support of business processes.
That gives the first guideline of systems governance:
Guideline #1 (capabilities): Objectives and roles must be set at enterprise level, technical constraints about deployment and access must be defined at platform level, and functional architecture must be designed as to get the maximum of the former subject to the latter’s constraints.
Informed Decisions: The Will to Know
At its core, enterprise governance is about decision-making and on that basis the purpose of systems is to feed processes with the relevant information so that agents can be put it to use as knowledge.
Those flows can be neatly described by crossing the origin of data (enterprise, systems, platforms) with the processes using the information (business, software engineering, services management):
- Information processing begins with data, which is no more than registered facts: texts, numbers, sounds, visuals, etc. Those facts are collected by systems through the execution of business, engineering, and servicing processes; they reflect the state of business contexts, enterprise, and platforms.
- Data becomes information when comprehensively and consistently anchored to identified constituents (objects, activities, events,…) of contexts, organization, and resources.
- Information becomes knowledge when put to use by agents with regard to their purpose: business, engineering, services.
Along that perspective, capabilities can be further refined with regard to decision-making.
- Starting with business logic one should factor out decision points and associated information. That will determine the structure of symbolic representations and functional units.
- Then, one may derive decision-making roles, together with implicit authorizations and access constraints. That will determine the structure of I/O flows and the logic of interactions.
- Finally, the functional architecture will have to take into account synchronization and deployment constraints on events notification to and from processes.
That can be condensed into the second guideline of system governance:
Guidelines #2 (functionalities): With regard to enterprise governance, the role of systems is to collect data and process it into information organized along enterprise concerns and objectives, enabling decision makers to select and pull relevant information and translate it into knowledge.
Qualified Information: The Veils of Ignorance
Ideally, decision-making should be neatly organized with regard to contexts and concerns:
- Contexts are set by architecture layers: enterprise organization, system functionalities, platforms technology.
- Concerns are best identified through processes: business, engineering, or supporting services.
Actually, decisions scopes overlap and their outcomes are interwoven.
While distinctions with regard to contexts are supposedly built-in at the source (enterprise, systems, platforms), that’s not the case for concerns whose distinction usually calls for reasoned choices supported by different layers of governance:
- Assets: shared decisions whose outcome bears upon several business domains and cycles. Those decisions may affect all architecture layers: enterprise (organization), systems (services), or platforms (purchased software packages).
- Users’ Value: streamlined decisions governed by well identified business units providing for straight dependencies from enterprise (business requirements), to systems (functional requirements) and platforms (users’ entry points).
- Non functional: shared decisions about scale and performances affecting users’ experience (organization), engineering (technical requirements), or resources (operational requirements).
As epitomized by non functional requirements, those layers of governance don’t necessarily coincide with the distinction between business, engineering, and servicing concerns. Yet, one should expect the nature of decisions be set prior the actual decision-making, and decision makers be presented with only the relevant information; for instance:
- Functional requirements should be decided given business requirements and services architecture.
- Scalability (operational requirements) should be decided with regard to enterprise’s objectives and organization.
Hence the third guideline of system governance:
Guideline #3 (visibility): Systems must feed processes with qualified information according to contexts (business, organization, platforms) and governance level (assets, user’s value, operations) of decision makers.
- Knowledge Architecture
- Conceptual Thesaurus: Overview
- Requirements Taxonomy
- Enterprise Architectures & Separation of Concerns
- EA Documentation: Taking Words for Systems
- Abstractions & Emerging Architectures
- EA: Entropy Antidote