Practice Guide: Financial Architecture for Enterprise Architecture¶
This guide shows how to use the Linked.Archi Financial Architecture extension to make cost a queryable dimension of your architecture knowledge graph. It addresses the gap identified by Gartner's 2025 Leadership Vision — that EA teams lack financial acumen and cannot articulate recommendations in terms of ROI, TCO, or cost-benefit trade-offs.
Extension artifacts:
extensions/financial-architecture/financial-architecture-onto.ttl— Classes, properties, viewpoints, concernsextensions/financial-architecture/financial-architecture-tax.ttl— SKOS taxonomy (by cost type, investment type, analysis type)extensions/financial-architecture/financial-architecture-shapes.ttl— SHACL governance rulesextensions/financial-architecture/financial-architecture-metamodel.ttl— Metamodel manifest (entry point)extensions/financial-architecture/financial-architecture-reference-data.ttl— Cost categories, investment types, cost periods
The Problem¶
EA teams struggle to influence executive decisions because they cannot speak the language of finance:
- No cost visibility — "What does this capability cost us annually?" requires weeks of manual research across finance, procurement, and IT operations.
- No investment justification — Architecture modernization proposals lack ROI projections, NPV calculations, and payback period estimates.
- Invisible technical debt — The ongoing cost of workarounds and maintenance overhead is not tracked, making it impossible to justify remediation investment.
- No cost-informed decisions — Architecture decision records capture quality attributes and forces but not the financial trade-offs between options.
- Cloud cost opacity — FinOps data exists in cloud billing tools but is disconnected from the architecture model.
This extension does not replace financial planning tools. It makes cost a queryable dimension of the architecture knowledge graph — linked to applications, capabilities, value streams, decisions, and TIME assessments.
Quick Start¶
Step 1: Import the Extension¶
@prefix fina: <https://meta.linked.archi/financial-architecture/onto#> .
@prefix finard: <https://meta.linked.archi/financial-architecture/reference-data#> .
@prefix arch: <https://meta.linked.archi/core#> .
<https://model.example.com/my-portfolio#>
a owl:Ontology ;
owl:imports <https://meta.linked.archi/financial-architecture/onto#> ;
owl:imports <https://meta.linked.archi/archimate3/onto#> ; ## optional
owl:imports <https://meta.linked.archi/time-framework/onto#> ; ## optional — for TIME composition
.
Step 2: Attach Cost Models to Architecture Elements¶
@prefix fina: <https://meta.linked.archi/financial-architecture/onto#> .
@prefix finard: <https://meta.linked.archi/financial-architecture/reference-data#> .
@prefix am: <https://meta.linked.archi/archimate3/onto#> .
@prefix : <https://model.example.com/my-portfolio#> .
## An application in the portfolio
:OrderManagementSystem a am:ApplicationComponent ;
skos:prefLabel "Order Management System"@en ;
fina:hasCostModel :OrderMgmtCostModel .
## Its cost model
:OrderMgmtCostModel a fina:CostModel ;
skos:prefLabel "Order Management TCO Model"@en ;
fina:currency "EUR" ;
fina:tcoHorizonYears 3 ;
fina:totalTCO 720000.00 ;
fina:costModelDate "2026-04-01"^^xsd:date ;
fina:hasCostItem [
a fina:CostItem ;
fina:costCategory finard:LicenseCost ;
fina:annualAmount 85000.00 ;
fina:costPeriodType finard:Annual ;
skos:note "Oracle DB Enterprise license"@en ;
] , [
a fina:CostItem ;
fina:costCategory finard:InfrastructureCost ;
fina:annualAmount 42000.00 ;
fina:costPeriodType finard:Annual ;
skos:note "3x VMs on-premises (prod + staging + DR)"@en ;
] , [
a fina:CostItem ;
fina:costCategory finard:LaborCost ;
fina:annualAmount 110000.00 ;
fina:costPeriodType finard:Annual ;
skos:note "0.5 FTE operations + 0.3 FTE development"@en ;
] , [
a fina:TechnicalDebtCost ;
fina:costCategory finard:TechnicalDebtInterest ;
fina:annualAmount 35000.00 ;
fina:costPeriodType finard:Annual ;
fina:debtType "interest" ;
fina:debtDescription "Manual CSV export workaround due to missing API — 2 hours/week operations overhead"@en ;
] ;
fina:allocatedToCapability :OrderFulfillmentCapability .
Step 3: Create Investment Cases¶
:OrderMgmtModernization a fina:InvestmentCase ;
skos:prefLabel "Order Management Modernization"@en ;
fina:investmentType finard:TransformInvestment ;
fina:investmentAmount 450000.00 ;
fina:investmentCurrency "EUR" ;
fina:projectedROI 35.0 ;
fina:paybackPeriodMonths 18 ;
fina:investmentStatus "proposed" ;
fina:investmentSponsor :VPEngineering .
:OrderManagementSystem fina:hasInvestmentCase :OrderMgmtModernization .
Step 4: Add Cost-Benefit Analysis to Decision Options¶
@prefix ad: <https://meta.linked.archi/arch-decision#> .
:ADR-OrderMgmtModernization a ad:Decision ;
skos:prefLabel "ADR-060: Modernize Order Management System"@en ;
ad:hasOption :Option-CloudMigration, :Option-Replatform, :Option-Tolerate .
:Option-CloudMigration a ad:Option ;
skos:prefLabel "Migrate to cloud-native on AWS"@en ;
fina:hasCostBenefitAnalysis [
a fina:CostBenefitAnalysis ;
fina:estimatedCost 450000.00 ;
fina:estimatedBenefit 780000.00 ;
fina:netPresentValue 220000.00 ;
fina:discountRate 0.08 ;
fina:analysisHorizonYears 3 ;
fina:cbaCurrency "EUR" ;
skos:note "Benefit: eliminate Oracle license (85K/yr) + reduce infra (30K/yr) + eliminate debt interest (35K/yr)"@en ;
] .
:Option-Replatform a ad:Option ;
skos:prefLabel "Replatform to PostgreSQL on-premises"@en ;
fina:hasCostBenefitAnalysis [
a fina:CostBenefitAnalysis ;
fina:estimatedCost 180000.00 ;
fina:estimatedBenefit 340000.00 ;
fina:netPresentValue 110000.00 ;
fina:discountRate 0.08 ;
fina:analysisHorizonYears 3 ;
fina:cbaCurrency "EUR" ;
skos:note "Benefit: eliminate Oracle license (85K/yr) + reduce debt interest (20K/yr)"@en ;
] .
:Option-Tolerate a ad:Option ;
skos:prefLabel "Tolerate — maintain current system"@en ;
fina:hasCostBenefitAnalysis [
a fina:CostBenefitAnalysis ;
fina:estimatedCost 0.00 ;
fina:estimatedBenefit 0.00 ;
fina:netPresentValue 0.00 ;
fina:cbaCurrency "EUR" ;
skos:note "No investment, but technical debt interest continues at 35K/yr"@en ;
] .
Step 5: Validate with SHACL¶
Composing with the TIME Framework¶
The Financial Architecture extension is designed to compose with the TIME framework for cost-aware portfolio rationalization:
@prefix timefw: <https://meta.linked.archi/time-framework/onto#> .
:LegacyCRM a timefw:Application ;
skos:prefLabel "Legacy CRM System"@en ;
timefw:hasFitAssessment [
a timefw:FitAssessment ;
timefw:timeDisposition timefw:Migrate ;
] ;
fina:hasCostModel [
a fina:CostModel ;
fina:currency "EUR" ;
fina:tcoHorizonYears 3 ;
fina:totalTCO 1250000.00 ;
fina:hasCostItem [
a fina:MigrationCost ;
fina:costCategory finard:InfrastructureCost ;
fina:oneTimeAmount 400000.00 ;
skos:note "Estimated migration to Salesforce"@en ;
] ;
] .
This enables queries like "What is the total migration cost for all applications classified as Migrate?" — combining TIME disposition data with financial data in a single SPARQL query.
Key SPARQL Queries¶
Total annual cost per business capability¶
PREFIX fina: <https://meta.linked.archi/financial-architecture/onto#>
SELECT ?capability ?capLabel (SUM(?amount) AS ?totalAnnualCost) WHERE {
?costModel fina:allocatedToCapability ?capability .
?capability skos:prefLabel ?capLabel .
?costModel fina:hasCostItem ?item .
?item fina:annualAmount ?amount .
}
GROUP BY ?capability ?capLabel
ORDER BY DESC(?totalAnnualCost)
Technical debt interest across the portfolio¶
PREFIX fina: <https://meta.linked.archi/financial-architecture/onto#>
SELECT ?element ?label (SUM(?amount) AS ?annualDebtInterest) WHERE {
?element fina:hasCostModel ?cm .
?element skos:prefLabel ?label .
?cm fina:hasCostItem ?item .
?item a fina:TechnicalDebtCost ;
fina:annualAmount ?amount .
}
GROUP BY ?element ?label
ORDER BY DESC(?annualDebtInterest)
Investment portfolio by Run/Grow/Transform¶
PREFIX fina: <https://meta.linked.archi/financial-architecture/onto#>
PREFIX finard: <https://meta.linked.archi/financial-architecture/reference-data#>
SELECT ?type (SUM(?amount) AS ?totalInvestment) (COUNT(?ic) AS ?count) WHERE {
?ic a fina:InvestmentCase ;
fina:investmentType ?type ;
fina:investmentAmount ?amount .
}
GROUP BY ?type
Compare decision options by NPV¶
PREFIX fina: <https://meta.linked.archi/financial-architecture/onto#>
PREFIX ad: <https://meta.linked.archi/arch-decision#>
SELECT ?decision ?decLabel ?option ?optLabel ?npv ?cost ?benefit WHERE {
?decision a ad:Decision ;
skos:prefLabel ?decLabel ;
ad:hasOption ?option .
?option skos:prefLabel ?optLabel ;
fina:hasCostBenefitAnalysis ?cba .
?cba fina:netPresentValue ?npv ;
fina:estimatedCost ?cost ;
fina:estimatedBenefit ?benefit .
}
ORDER BY ?decision DESC(?npv)
Viewpoints¶
| Viewpoint | Purpose | Concerns | View Type |
|---|---|---|---|
| Cost Overview | High-level cost landscape by capability, application, platform | Total Cost of Ownership | Matrix, Catalog |
| Investment Portfolio | Run/Grow/Transform classification, ROI, payback | Investment Prioritization | Matrix, Diagram |
| Technical Debt Landscape | Debt interest by application, remediation cost | Technical Debt Visibility | Matrix, Catalog |
| Cloud FinOps | Cloud spending by provider, service, application | Cloud Cost Optimization | Matrix, Catalog |
References¶
- FinOps Foundation — Framework
- Gartner Technology Business Management (TBM)
- ISO 55000 — Asset Management
- Gartner 2025 Leadership Vision for EA
- Gartner 2025 Extensions — Cross-extension composition and queries
- TIME Framework Use Case — Portfolio rationalization with TIME