Skip to main content

Coverage Template

Coverage Templates define the structure for assessing how thoroughly an organization has adopted the Orthogramic Metamodel across its domains. They establish which domains, attributes, and elements should be documented for different organizational contexts.

Schema Version: 2.1
Schema Location: /schemas/extensions/coverage-template.schema.json
Specification: JSON Schema Draft-07

Overview

What is a Coverage Template?

A Coverage Template specifies:

  • Which domains are required vs. optional for a given context
  • What level of detail (attributes, elements) should be documented
  • Target coverage percentages for maturity assessment
  • Weighting factors for prioritizing domain completion

Why Coverage Templates Matter

Organizations rarely need to model all 24 domains with equal depth. Coverage Templates help:

  • Focus effort — Prioritize domains that matter most to your context
  • Measure progress — Track metamodel adoption over time
  • Set expectations — Align stakeholders on what "complete" means
  • Enable comparison — Benchmark coverage across units or organizations

Template Structure

Core Attributes

AttributeTypeRequiredDescription
templateIDstring (UUID)YesUnique identifier
templateNamestringYesHuman-readable name
descriptionstringNoPurpose and usage guidance
templateTypeenumYesCategory of template
targetAudiencestringNoIntended users
versionstringNoTemplate version

Domain Coverage Specifications

AttributeTypeRequiredDescription
domainCoveragearrayYesList of domain coverage specs
overallTargetCoveragenumberNoTarget percentage (0-100)
maturityModelenumNoMaturity framework reference

Template Types

TypeDescriptionUse Case
enterpriseFull organizational coverageEnterprise-wide BA program
divisionBusiness unit scopeDivisional architecture
projectInitiative-specificTransformation program
domain-specificSingle domain deep-diveCapability modeling project
minimum-viableEssential domains onlyQuick-start adoption

Domain Coverage Specification

Each domain in the template includes:

{
"domainID": "capabilities",
"domainName": "Capabilities",
"requirement": "required",
"targetCoverage": 80,
"weight": 1.5,
"attributeCoverage": {
"required": ["title", "description", "owner", "orgUnitTitle"],
"recommended": ["performanceIndicators", "dependencies", "strategicAlignment"],
"optional": ["cost", "risks", "improvementOpportunities"]
},
"elementCoverage": {
"capabilityFunction": "required",
"capabilityComponent": "recommended",
"capabilityProcess": "optional"
},
"notes": "Core domain - prioritize for all assessments"
}

Requirement Levels

LevelMeaning
requiredMust be documented for template compliance
recommendedShould be documented where applicable
optionalDocument if resources permit
excludedNot applicable to this template

JSON Schema Definition

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://orthogramic.com/schemas/extensions/coverage-template.schema.json",
"title": "Coverage Template",
"description": "Template for defining metamodel coverage expectations",
"type": "object",
"required": ["templateID", "templateName", "templateType", "domainCoverage"],
"properties": {
"templateID": {
"type": "string",
"format": "uuid"
},
"templateName": {
"type": "string"
},
"description": {
"type": "string"
},
"templateType": {
"type": "string",
"enum": ["enterprise", "division", "project", "domain-specific", "minimum-viable"]
},
"targetAudience": {
"type": "string"
},
"version": {
"type": "string"
},
"overallTargetCoverage": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"maturityModel": {
"type": "string",
"enum": ["initial", "developing", "defined", "managed", "optimizing"]
},
"domainCoverage": {
"type": "array",
"items": {
"$ref": "#/$defs/domainCoverageSpec"
}
}
},
"$defs": {
"domainCoverageSpec": {
"type": "object",
"required": ["domainID", "requirement"],
"properties": {
"domainID": {
"type": "string"
},
"domainName": {
"type": "string"
},
"requirement": {
"type": "string",
"enum": ["required", "recommended", "optional", "excluded"]
},
"targetCoverage": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"weight": {
"type": "number",
"minimum": 0
},
"attributeCoverage": {
"type": "object",
"properties": {
"required": {"type": "array", "items": {"type": "string"}},
"recommended": {"type": "array", "items": {"type": "string"}},
"optional": {"type": "array", "items": {"type": "string"}}
}
},
"elementCoverage": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": ["required", "recommended", "optional", "excluded"]
}
},
"notes": {
"type": "string"
}
}
}
}
}

Example Templates

Minimum Viable Template

{
"templateID": "tpl-001",
"templateName": "Minimum Viable Coverage",
"description": "Essential domains for quick-start metamodel adoption",
"templateType": "minimum-viable",
"targetAudience": "Organizations new to business architecture",
"overallTargetCoverage": 60,
"domainCoverage": [
{
"domainID": "organization",
"domainName": "Organization",
"requirement": "required",
"targetCoverage": 80,
"weight": 1.0,
"attributeCoverage": {
"required": ["title", "description", "orgType"],
"recommended": ["parent", "children"]
}
},
{
"domainID": "capabilities",
"domainName": "Capabilities",
"requirement": "required",
"targetCoverage": 70,
"weight": 1.5
},
{
"domainID": "stakeholder",
"domainName": "Stakeholder",
"requirement": "required",
"targetCoverage": 60,
"weight": 1.0
},
{
"domainID": "strategy",
"domainName": "Strategy",
"requirement": "recommended",
"targetCoverage": 50,
"weight": 0.8
},
{
"domainID": "value-stream",
"domainName": "Value Stream",
"requirement": "recommended",
"targetCoverage": 50,
"weight": 0.8
}
]
}

Financial Services Enterprise Template

{
"templateID": "tpl-002",
"templateName": "Financial Services Enterprise Coverage",
"description": "Comprehensive coverage for regulated financial institutions",
"templateType": "enterprise",
"targetAudience": "Banks, insurers, wealth managers",
"overallTargetCoverage": 85,
"maturityModel": "managed",
"domainCoverage": [
{
"domainID": "organization",
"requirement": "required",
"targetCoverage": 95,
"weight": 1.0
},
{
"domainID": "capabilities",
"requirement": "required",
"targetCoverage": 90,
"weight": 1.5
},
{
"domainID": "risk-management",
"requirement": "required",
"targetCoverage": 95,
"weight": 2.0,
"notes": "Critical for regulatory compliance"
},
{
"domainID": "policy",
"requirement": "required",
"targetCoverage": 90,
"weight": 1.5
},
{
"domainID": "finance",
"requirement": "required",
"targetCoverage": 85,
"weight": 1.5
},
{
"domainID": "customer",
"requirement": "required",
"targetCoverage": 80,
"weight": 1.2
},
{
"domainID": "information",
"requirement": "required",
"targetCoverage": 85,
"weight": 1.3
},
{
"domainID": "technology",
"requirement": "required",
"targetCoverage": 80,
"weight": 1.0
}
]
}

Usage Guidelines

Creating Effective Templates

  1. Start with objectives — What does the organization need to achieve?
  2. Prioritize domains — Not all 24 domains are equally important
  3. Set realistic targets — 100% coverage is rarely achievable or necessary
  4. Use weights wisely — Higher weights for strategic domains
  5. Document rationale — Explain why domains are required/optional

Template Lifecycle

For Data Engineers

Coverage Templates can inform data catalog completeness metrics. Map template requirements to OpenMetadata data quality rules to automatically track which business architecture domains have corresponding data assets documented.