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
| Attribute | Type | Required | Description |
|---|---|---|---|
templateID | string (UUID) | Yes | Unique identifier |
templateName | string | Yes | Human-readable name |
description | string | No | Purpose and usage guidance |
templateType | enum | Yes | Category of template |
targetAudience | string | No | Intended users |
version | string | No | Template version |
Domain Coverage Specifications
| Attribute | Type | Required | Description |
|---|---|---|---|
domainCoverage | array | Yes | List of domain coverage specs |
overallTargetCoverage | number | No | Target percentage (0-100) |
maturityModel | enum | No | Maturity framework reference |
Template Types
| Type | Description | Use Case |
|---|---|---|
enterprise | Full organizational coverage | Enterprise-wide BA program |
division | Business unit scope | Divisional architecture |
project | Initiative-specific | Transformation program |
domain-specific | Single domain deep-dive | Capability modeling project |
minimum-viable | Essential domains only | Quick-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
| Level | Meaning |
|---|---|
required | Must be documented for template compliance |
recommended | Should be documented where applicable |
optional | Document if resources permit |
excluded | Not 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
- Start with objectives — What does the organization need to achieve?
- Prioritize domains — Not all 24 domains are equally important
- Set realistic targets — 100% coverage is rarely achievable or necessary
- Use weights wisely — Higher weights for strategic domains
- Document rationale — Explain why domains are required/optional
Template Lifecycle
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.
Related Documentation
- Organization Goal — Define coverage objectives
- Coverage Status — Track current coverage state
- Coverage Expectation — Set time-bound targets