The Business Health Check is a vital part of a complete Business Architecture program. Not understanding where to look can cause wasted effort in focusing on the wrong things and attempting to fix symptoms.
Armed with Ardoq’s Business Health Check solution, the Enterprise Architect can identify, assess, and unveil conversations which should be happening, who needs to have them, and what they should be about. This is valuable information for corporate stakeholders, including the operations, management, coordination, audit, intelligence and policy people who need to understand how the business needs to communicate.
This article discusses the components, references, and fields of the Business Health Check solution. It also suggests how to structure data in Ardoq workspaces to effectively maintain your Business Health Checks, etc.
To better understand the foundation for the method, please refer to the Business Health Check Purpose, Scope, and Rationale document.
Contents
Business Health Check Metamodel Overview
Full Business Health Check Metamodel
The Business Health Check solution provides you with an effective implementation of a baseline business health check metamodel. It requires Business Capabilities Modelling as a prerequisite and the identification of 5 roles within the capability, who will receive each survey, which is specific to their role, and respond with their levels of concern based on their experience. Their feedback is used to calculate a more specific level of conversations that should be happening. If capability Deltas are to be used to capture suggested gaps or suggested areas for improvement, then the Strategy to Execution Bundle is also required.
Business Health Check Components
At its core, the Business Health Check Solution is built around 4 core components; People, Business Capability, Business Health Check and Capability Delta
Business Health Checks Workspace
This section explains how Business Health Check can be represented with the above metamodel; how it is associated with its target Business Capability and Capability Deltas.
Business Health Check Component Type
Business Health Check is a type of Assessment Component ( that is used to represent an individual instance of Business Health Check.)
A Business Health Check component is specific to one Business Capability. The Has Subject reference is used to associate the Business Health Check component with the Business Capability that is assessed by it. Three component types can be involved in Business Health Checks:
Business Capability
Capability Delta
Person
You do need to have modeled your Business Capabilities and have your People represented in the People workspace. The Is Expert In reference type is already in the People workspace as it is part of business capability modelling. The "Expertise" field is added to the Is Expert In reference by this Solution.. Capability Deltas require the Strategy to Execution solution.
The Has Subject and any new Is Expert In references are created on the submission of the New Business Health Check survey, and the Expertise field on the Is Expert In references is populated for the experts who are nominated panel members. The Depends On reference is created on submission, should a Capability Delta be identified and selected from the BHC Summary survey.
Business Health Check Fields
Several fields are used to capture the concerns to help better classify and understand what the priority is and who should discuss those to identify actions.
Business Health Check Survey Fields |
|
|
|
Field | Field Type | Description | Detail |
Operations - Coordination | List Field | Used to help assess the level of concern operations has about coordination | Select from 1,2,3,4,5 to signify strength of concern |
Operations - Coordination - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Operations - Execution of tasks | List Field | Used to help assess the level of concern operations has about execution of tasks | Select from 1,2,3,4,5 to signify strength of concern |
Operations - Execution of tasks - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Operations - Managing local Issues | List Field | Used to help assess the level of concern operations has about managing local issues | Select from 1,2,3,4,5 to signify strength of concern |
Operations - Managing local Issues - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Operations - Resource allocation | List Field | Used to help assess the level of concern operations has about resource allocation | Select from 1,2,3,4,5 to signify strength of concern |
Operations - Resource allocation - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Operations - Responding to demands | List Field | Used to help assess the level of concern operations has about responding to demands | Select from 1,2,3,4,5 to signify strength of concern |
Operations - Responding to demands - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Control - Adjusting activities on feedback | List Field | Used to help assess level of concern control has about adjusting activities on feedback | Select from 1,2,3,4,5 to signify strength of concern |
Control - Adjusting activities on feedback - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Control - Allocating resources | List Field | Used to help assess level of concern control has about allocating resources | Select from 1,2,3,4,5 to signify strength of concern |
Control - Allocating resources - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Control - Balancing short-term with long-term | List Field | Used to help assess level of concern control has about balancing the long term goals with the short term objectives | Select from 1,2,3,4,5 to signify strength of concern |
Control - Balancing short-term with long-term - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Control - Conducting audits | List Field | Used to help assess level of concern control has about conducting audits | Select from 1,2,3,4,5 to signify strength of concern |
Control - Conducting audits - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Control - Enforcing standards | List Field | Used to help assess level of concern control has about enforcing standards | Select from 1,2,3,4,5 to signify strength of concern |
Control - Enforcing standards - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Control - Monitoring performance | List Field | Used to help assess level of concern control has about monitoring performance | Select from 1,2,3,4,5 to signify strength of concern |
Control - Monitoring performance - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Coordination - Ensuring consistent communications | List Field | Used to help assess the level of concern Coordination has about ensuring consistent communications | Select from 1,2,3,4,5 to signify strength of concern |
Coordination - Ensuring consistent communications - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Coordination - Harmonizing activities | List Field | Used to help assess the level of concern Coordination has about harmonizing activities | Select from 1,2,3,4,5 to signify strength of concern |
Coordination - Harmonizing activities - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Coordination - Minimizing conflicts | List Field | Used to help assess the level of concern Coordination has about minimizing conflicts | Select from 1,2,3,4,5 to signify strength of concern |
Coordination - Minimizing conflicts - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Coordination - Monitoring disruptions | List Field | Used to help assess the level of concern Coordination has about monitoring disruptions | Select from 1,2,3,4,5 to signify strength of concern |
Coordination - Monitoring disruptions - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Coordination - Standardizing procedures | List Field | Used to help assess the level of concern Coordination has about standardizing procedures | Select from 1,2,3,4,5 to signify strength of concern |
Coordination - Standardizing procedures - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Intelligence - Adapting to external change | List Field | Used to help assess the level of concern Intelligence has about adapting to external changes | Select from 1,2,3,4,5 to signify strength of concern |
Intelligence - Adapting to external change - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Intelligence - Balancing current needs with future | List Field | Used to help assess the level of concern Intelligence has about balancing current needs with future | Select from 1,2,3,4,5 to signify strength of concern |
Intelligence - Balancing current needs with future - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Intelligence - Innovation | List Field | Used to help assess the level of concern Intelligence has about innovation | Select from 1,2,3,4,5 to signify strength of concern |
Intelligence - Innovation - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Intelligence - Long term planning | List Field | Used to help assess the level of concern Intelligence has about long term planning | Select from 1,2,3,4,5 to signify strength of concern |
Intelligence - Long term planning - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Intelligence - Scanning external environment | List Field | Used to help assess the level of concern Intelligence has about scanning the external environment | Select from 1,2,3,4,5 to signify strength of concern |
Intelligence - Scanning external environment - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Policy - Defining the vision | List Field | Used to help assess the level of concern policy has about defining the vision | Select from 1,2,3,4,5 to signify strength of concern |
Policy - Defining the vision - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Policy - Ensuring organizational coherence | List Field | Used to help assess the level of concern policy has about Ensuring Organizational Coherence | Select from 1,2,3,4,5 to signify strength of concern |
Policy - Ensuring organizational coherence - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Policy - Maintaining viability | List Field | Used to help assess the level of concern policy has about Maintaining Viability | Select from 1,2,3,4,5 to signify strength of concern |
Policy - Maintaining viability- Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Policy - Making key decisions | List Field | Used to help assess the level of concern policy has about Making Key Decisions | Select from 1,2,3,4,5 to signify strength of concern |
Policy - Making key decisions - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Policy - Resolving conflicts | List Field | Used to help assess the level of concern policy has about Resolving Conflicts | Select from 1,2,3,4,5 to signify strength of concern |
Policy - Resolving conflicts - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
Policy - Setting goals and priorities | List Field | Used to help assess the level of concern policy has about Setting Goals and Priorities | Select from 1,2,3,4,5 to signify strength of concern |
Policy - Setting goals and priorities - Rationale | Text Paragraph | Used to capture rationale for survey score |
|
The Business Health Check Summary fields are exposed to capture the decisions made [Decision Text] and rationale [Decision Rationale] if the Health Check Closed check box is selected. If the Health Check is to be continued the next survey date can be updated in the date time field and is captured using the Review Date field.
Business Health Check Summary Fields |
| |
Field | Field Type | Description |
Review Date | date/time | Review Date is used as a Hidden Field in the Survey. It automatically captures the date/time when the Submit button is hit. So it represents the last time the Panel met. |
Decision Rationale | Text Paragraph | The rationale that underpins the decision |
Decision Text | Text Paragraph | The decision |
Health Check Closed | Check Box | Used to retire the health check |
Comments | Text Paragraph | Used to capture a summary of panel meetings |
The Expert fields are used to identify the Experts for each of the functions
Expert Fields |
| |
Field | Field Type | Description |
Operations Expert | Calculated Text | Contains the name of the System 1 expert (or blank if one has not been assigned) |
Coordination Expert | Calculated Text | Contains the name of the System 2 expert (or blank if one has not been assigned) |
Control Expert | Calculated Text | Contains the name of the System 3 expert (or blank if one has not been assigned) |
Intelligence Expert | Calculated Text | Contains the name of the System 4 expert (or blank if one has not been assigned) |
Policy Expert | Calculated Text | Contains the name of the System 5 expert (or blank if one has not been assigned) |
The Worst Score is used to identify the largest concerns. These calculations identify if any concerns that are rated 4 or 5, and if s,o they appear on the agenda for the next meeting
Analysis Fields - Worst Score |
|
| |
Field | Field Type | Description | Detail |
Operations - Worst Score | Calculated Field | Used to determine and store the highest value among the Operations survey fields | The calculation is used to identify whether Operations contains a score of 4 or more. If so, it will appear on the agenda for the next meeting of the expert panel |
Coordination - Worst Score | Calculated Field | Used to determine and store the highest value among the Coordination survey fields | The calculation is used to identify whether Coordination contains a score of 4 or more. If so, it will appear on the agenda for the next meeting of the expert panel |
Control - Worst Score | Calculated Field | Used to determine and store the highest value among the Control survey fields | The calculation is used to identify whether Control contains a score of 4 or more. If so, it will appear on the agenda for the next meeting of the expert panel |
Intelligence - Worst Score | Calculated Field | Used to determine and store the highest value among the Intelligence survey fields | The calculation is used to identify whether Intelligence contains a score of 4 or more. If so, it will appear on the agenda for the next meeting of the expert panel |
Policy - Worst Score | Calculated Field | Used to determine and store the highest value among the Policy survey fields | The calculation is used to identify whether Policy contains a score of 4 or more. If so, it will appear on the agenda for the next meeting of the expert panel |
Business Health Check References
Health Check Reference Table |
|
| |
Reference | Description | Source | Target |
Has Subject | Represents the direct relationship between the Business Capability Health Check and its target Business Capability | Business Health Check | Business Capability |
Depends On | Represents the direct relationship between a Capability Delta and the Business Health Check | Business Health Check | Business Capability |
Person Component
The People workspace is your repository of people (employees, consultants, etc.) with the responsibility, ownership, or expertise within your organization. In business health checks, the Person component is used to identify experts relating to business capabilities, which is critical in performing the health check.
To learn more about establishing your People workspace, check out the Organizational Modeling solution.
Business Capability Workspace
The Business Capability workspace contains your organization's business capabilities but also capability deltas. Two very important elements to the business health check solution.
Business Capability Component
As covered in the "What are Business Capabilities" article, we have defined a business capability as the building blocks and language of the organization’s business value streams and business processes, with each capability having a clear outcome. They enable the business to develop through application rationalization, budgeting, mergers and acquisitions, and so forth. This makes business capabilities a vital element of the organization, which we evaluate to ensure optimal performance.
To learn more about establishing your business capability model, check out our Business Modeling Solution.
Capability Delta Component
A Capability Delta represents a change to a Capability and is either an identified desired change, i.e. a capability gap found during capability-based planning, or an improvement that will be delivered as part of an Initiative.
Capability Deltas represent the business change needed for an objective and/or the benefit delivered from one or more Initiatives and will only remain relevant during the lifespan of the Initiative, or while the Objective remains relevant.
Read Strategy To Execution: Purpose, Scope, and Rationale for more information about Capability Deltas and Navigating the Transient Nature of Strategy to Execution for a discussion about the temporary nature of particular components.
Business Health Check Gremlin
Gremlin Code for Expert Fields
Operations Expert
The code identifies business capabilities linked to the Business Health Check, checks for experts in “Operations," and provides a list of their names in the result.
g.V(ids).
project('id', 'name', 'value').
by(id).
by('name').
by(out('Has Subject').hasLabel('Business Capability').inE('Is Expert In').filter(values('expertise').unfold().is('Operations')).outV().hasLabel('Person').values('name').fold().map{it.get().join(' , ')})
Coordination Expert
The code identifies business capabilities linked to the Business Health Check, checks for experts in “Coordination," and provides a list of their names in the result.
g.V(ids).
project('id', 'name', 'value').
by(id).
by('name').
by(out('Has Subject').hasLabel('Business Capability').inE('Is Expert In').filter(values('expertise').unfold().is('Coordination')).outV().hasLabel('Person').values('name').fold().map{it.get().join(' , ')})
Control Expert
The code identifies business capabilities linked to the Business Health Check, checks for experts in “Control," and provides a list of their names in the result.
g.V(ids).
project('id', 'name', 'value').
by(id).
by('name').
by(out('Has Subject').hasLabel('Business Capability').inE('Is Expert In').filter(values('expertise').unfold().is('Control')).outV().hasLabel('Person').values('name').fold().map{it.get().join(' , ')})
Intelligence Expert
The code identifies business capabilities linked to the Business Health Check, checks for experts in “Intelligence," and provides a list of their names in the result.
g.V(ids).
project('id', 'name', 'value').
by(id).
by('name').
by(out('Has Subject').hasLabel('Business Capability').inE('Is Expert In').filter(values('expertise').unfold().is('Intelligence')).outV().hasLabel('Person').values('name').fold().map{it.get().join(' , ')})
Policy Expert
The code identifies business capabilities linked to the Business Health Check, checks for experts in “Policy," and provides a list of their names in the result.
g.V(ids).
project('id', 'name', 'value').
by(id).
by('name').
by(out('Has Subject').hasLabel('Business Capability').inE('Is Expert In').filter(values('expertise').unfold().is('Policy')).outV().hasLabel('Person').values('name').fold().map{it.get().join(' , ')})
Gremlin Code for Worst Score
Operations - Worst Score
The code fetches the survey responses, checks their Operational scores, and gives you the highest number from the set of concerns, along with the vertex’s ID and name.
def toInteger = {
try {
return it.get().substring(0, 1).toInteger();
} catch (NumberFormatException e) {
return 0;
}
}
g.V(ids).
project('id', 'name', 'value').
by(id).
by('name').
by(values('operations_execution_of_tasks', 'operations_resource_allocation', 'operations_coordination', 'operations_responding_to_demands', 'operations_managing_local_issues' ).map(toInteger).max())
Coordination - Worst Score
The code fetches the survey responses, checks their Coordination scores, and gives you the highest number from the set of concerns, along with the vertex’s ID and name.
def toInteger = {
try {
return it.get().substring(0, 1).toInteger();
} catch (NumberFormatException e) {
return 0;
}
}
g.V(ids).
project('id', 'name', 'value').
by(id).
by('name').
by(values('coordination_harmonizing_activities', 'coordination_minimizing_conflicts', 'coordination_standardizing_procedures', 'coordination_monitoring_disruptions', 'coordination_ensuring_consistent_comms' ).map(toInteger).max())
Control - Worst Score
The code fetches the survey responses, checks their Control scores, and gives you the highest number from the set of concerns, along with the vertex’s ID and name.
def toInteger = {
try {
return it.get().substring(0, 1).toInteger();
} catch (NumberFormatException e) {
return 0;
}
}
g.V(ids).
project('id', 'name', 'value').
by(id).
by('name').
by(values('control_allocating_resources', 'control_monitoring_performance', 'control_enforcing_standards', 'controls_conducting_audits', 'control_balancing_short_term_with_long_term', 'control_adjusting_activities_on_feedback' ).map(toInteger).max())
Intelligence - Worst Score
The code fetches the survey responses, checks their Intelligence scores, and gives you the highest number from the set of concerns, along with the vertex’s ID and name.
def toInteger = {
try {
return it.get().substring(0, 1).toInteger();
} catch (NumberFormatException e) {
return 0;
}
}
g.V(ids).
project('id', 'name', 'value').
by(id).
by('name').
by(values('intelligence_scanning_external_environment', 'intelligence_long_term_planning', 'intelligence_innovation', 'intelligence_adapting_to_external_change', 'intelligence_balancing_current_needs_with_future' ).map(toInteger).max())
Policy - Worst Score
The code fetches the survey responses, checks their Policy scores, and gives you the highest number from the set of concerns, along with the vertex’s ID and name.
def toInteger = {
try {
return it.get().substring(0, 1).toInteger();
} catch (NumberFormatException e) {
return 0;
}
}
g.V(ids).
project('id', 'name', 'value').
by(id).
by('name').
by(values('policy_defining_the_vision', 'policy_setting_goals_and_priorities', 'policy_making_key_decisions', 'policy_ensuring_organizational_coherence', 'policy_resolving_conflicts', 'policy_maintaining_viability' ).map(toInteger).max())
Version | Date | Author | Rationale |
1.0 | 1/8/25 | Adam Walls | Published |