Skip to main content
Business Process Management Metamodel

The detailed metamodel for the Business Process Management use case solution

Jon Scott avatar
Written by Jon Scott
Updated over 2 months ago

Ardoq’s Business Process Management (BPM) Solution enables organizations to document the business processes and the activities (the “how”) within an organization and then connect them to the EA graph.

By capturing and analyzing your processes across the organization, you can realize several benefits associated with clearly understanding your processes and how they connect to the rest of the Enterprise Architecture.

This metamodel article discusses the components, references, and fields of the Business Process Management solution.

To learn more and better understand the foundation for the method, please refer to the Business Process Management: Purpose, Scope, and Rationale document.

Content

Business Process Management - Metamodel Overview

Business Process Management Metamodel

Business Process Management

At its core, the Business Process Management Solution focuses on:

  • Documenting Processes and how they fit into a Process Framework

  • Determining if detailed Process Activities are necessary

  • Establishing the connection between processes, process activities, and the rest of the Enterprise Architecture

  • Maintaining process information

Process Library Workspace

Process Category

The Process Category component is adapted from the generic Category Component, which is used to organize components into a categorized hierarchy. As covered in the BPM Purpose Scope and Rationale it is similar to the Category and Process Group in the APQC framework and allows for a clear distinction between the process and the grouping structure.

Process Category Fields

Field

Field Type

Description

Name & Description

Component Level

Calculated Number Field

Used to create a simple number level used for filtering. An example when this is valuable is when you would like to create a view that only shows Level 3 or higher process categories.

Process Component

The Process component is used to represent a series of interconnected activities or tasks that transform inputs into outputs, following a defined sequence and set of rules. It represents the operational flow of activities within an organization. It is like a recipe, with a series of steps and instructions that -lead to a desired outcome.

Processes are typically expressed in verb-noun format e.g., Receive Order or Ship Product, and they focus on the sequence of activities required to complete a particular task or deliver a specific output. They provide a detailed, operational view of how work is performed within an organization and are often assessed to improve performance, automation, and compliance purposes.

Process Fields

Several metadata fields are used to capture process attributes to help better classify and understand what the process is and how it is functioning in the organization.

Field

Field Type

Description

Definition

Process Description

Process Diagram

URL Field

Percent Automated

(on Process component)

Calculated Number Field

A measure of how effective the process is based on a 1-100% scale

Calculated by assessing the automated and manual steps of the underlying process activities and returning that in percentage scale out of 100

Maturity

Number Field

A measure of how complete and optimized a process is

( 1 ) Initial

( 2 ) Under Development

( 3 ) Defined

( 4 ) Managed

( 5 ) Measured

PII

Calculated Checkbox

Identifies if a process has any activities that process Personally Identifiable Information

Calculated by checking if any referenced process or process activities have a reference to a data entity that has a Confidentiality field value of Confidential or Restricted

Total Duration (Min)

Calculated Number Field

Used to represent the Total Duration of the process based on the aggregated duration of the referenced process activities

Calculated by aggregating the duration field of all child process components or by the duration field on the process if there aren’t any child process activities

Duration (Min)

(only needed if not capturing process activities)

Number Field

Used to capture the duration of the activity in minutes

Cost (Optional)

Number Field

General cost field that can be used to understand cost associated with the process

Total Duration & Duration Fields

To capture the duration of a process or a set of activities, we use the Duration number fields. If processes are mapped to underlying process activities we recommend using the Total Duration calculated number field on the process component. This field will aggregate the duration of the process or all children process activities. If you are not mapping process activities to your processes then the Duration number field should be sufficient.

Process Governance Fields

Field

Field Type

Description

Definition

Approved

Checkbox

Used to indicate whether a component has been reviewed and acknowledged as being accurate and complete

Review Date

Date Field

Used to indicate the date at which a component was reviewed and acknowledged as being accurate and complete

Process References

Outgoing References

Description

Is Supported by (Process → Is Supported By→ Process)

Provides the linkage between Processes that depend on other processes or sub-processes

Is Supported by (Process → Is Supported By→ Application)

Used to illustrate the relationship between the process and the technology that supports it.

Accesses (Process → Accesses → Data Entity

Used to illustrate which data is leveraged during a process. Can be mapped at the process activity level for granular detail.

Sub-Processes

Sub-processes are like activities, but ones that themselves are further broken down into constituent activities. We use the Process component type to represent them, but in all other respects, they can be considered similar to Process Activities. We model these sub-processes as Processes that support self-reference with the Is Supported By reference, allowing these processes to support multiple Processes.

Incoming References

Description

Consumes (Organizational Unit → Consumes → Process)

Used to connect the process to the departments, teams, or groups within the organization that rely on the process

Owns (Person / OU → Owns→ Process)

Used to show ownership/responsibility of the process. This should be from a Person. It can also be to an Org Unit, Team, Department etc.

Is Realized By (Business Capability → Is Realized By → Process)

Used to connect the Business Capability to other components in your architecture that help realize it, such as; Process, Technology, Organization, etc.

If there is a need for greater fidelity in your process ownership, check out the Process Playbook: Application Ownership for a more detailed ownership assignment process.

Process Activity Components

As articulated in the Business Process Management: Purpose, Scope and Rationale, our recommendation is to capture and document connections at the Process level. However, sometimes, there is a need for greater fidelity. Based on the needs of the organization, those connections can be made at the Process Activity level instead of the Process level.

Process Activities are the operational tasks that support the Process. Because Process Activities are often unique to the process itself, they are represented as children components of the Process.

Process Activity Fields

Field

Field Type

Description

Definition

Process Activity Description

Activity Type

List Field

Identifies what type of process activity it is following the BPMN task types

Automated

  • Service

  • Send

  • Receive

  • Script

  • Business Rule

Manual

  • Manual

  • User

PII

Calculated Checkbox

Identifies if the activity accesses any Personally Identifiable Information

Calculated by checking if this process activity has any reference to a data entity that has a Confidentiality field value of Confidential or Restricted

Duration (Min)

Number Field

Used to capture the duration of the activity in minutes

Cost (Optional)

Number Field

General cost field that can be used to understand cost associated with the process

Process Activity References

Outgoing References

Description

Is Supported by (Process Activity → Is Supported By→ Application)

Used to illustrate the relationship between the process activity and the technology that supports it. Mapped at the activity level for granular detail.

Flows To (Process Activity → Flows to → Process Activity

Used to represent the flow or sequence of various activities in the process

Accesses (Process Activity → Accesses → Data Entity

Used to illustrate which data is leveraged during the activity. Mapped at the activity level for granular detail.

Roles

Roles Workspace

The roles domain workspace classifies the capabilities, competencies, and behaviors required from people, teams, or organizational units without specifying who will fulfill them. The main component type in this workspace is Role.

Role Component

A role represents the set of skills, competencies, behaviors, or responsibilities a person or organization needs to demonstrate while fulfilling their duties. Roles are used within the Business Process Management solution to illustrate who participates in the processes or the activities. This information is captured via the RACI field on the assigned reference.

Outgoing References

Assigned To (Role → Assigned To → Process / Process Activity)

Used to connect the key roles that perform various parts of the process(es)

Incoming References

Assigned To (Person → Assigned To → Role)

Used to connect the people who are fulfilling the role

Assigned To Reference Field

To better understand how a role engages with a process or activity, the Assigned To references carry a field to capture that classification.

Field

Field Type

Description

Definition

RACI

(Role → Assigned To → Process / Process Activity)

List Field

Uses the RACI classification to identify what type of engagement is needed with roles associated with the process or process activities

  • Responsible

  • Accountable

  • Consulted

  • Informed

Gremlin Queries

Below are the gremlin queries needed to support the calculated fields for business process management.

PII

g.V(ids).
project('id', 'name', 'value').
by(id).
by('name').
by(
choose(
repeat(
timeLimit(50).
union(
__.in('ardoq_parent'),
out('Accesses')
).
simplePath()).until(hasLabel('Field' , 'Data Entity').has('confidentiality', within('Restricted', 'Confidential', 'Internal')),
),
constant(true),
constant(false)
)
)

Percent Automated

g.V(ids).where(__.in('ardoq_parent').has('activity_type')).
project('id', 'name', 'value').
by(id).
by('name').
by(
choose(
__.in('ardoq_parent').has('Process Activity', 'activity_type', within('Service', 'Script', 'Business Rule', 'Send', 'Receive', 'User', 'Manual')),
project('automatedCount', 'manualCount').
by(
coalesce(
__.in('ardoq_parent').has('Process Activity', 'activity_type', within('Service', 'Script', 'Business Rule','Send', 'Receive')).count(),
constant(0))).
by(
coalesce(
__.in('ardoq_parent').has('Process Activity', 'activity_type', within('User', 'Manual')).count(),
constant(0))).
math('automatedCount / ( automatedCount + manualCount) * 100').
map{it -> it.get().round()},
constant(0)))

Total Duration

g.V(ids).
project('id', 'name', 'value').
by(id).
by('name').
by(choose(__.in('ardoq_parent'), __.in('ardoq_parent').values('duration_min').sum(),
choose(__.not(__.in('ardoq_parent')), values('duration_min').sum(),
constant(0))))


Document Version

Version

Date

Responsible

Rationale

1.0

7/26/24

Jon Scott

Published

Did this answer your question?