{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreiatnk46k26hsfuwg5mutg7h2sfhv3wwt2mq7p244lkn3ss34xguca",
"uri": "at://did:plc:3peywwdnn4jkfvqowpviodbf/app.bsky.feed.post/3mn24jk67mwx2"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreict33rmxrfjpo465vjukuu3u6z5pqmsmay72h3w7zql63oesvuipi"
},
"mimeType": "image/png",
"size": 303111
},
"path": "/blog/2026/05/28/what-is-a-software-ontology/",
"publishedAt": "2026-05-28T00:00:00.000Z",
"site": "https://jeffbailey.us",
"tags": [
"Explanation",
"Software Architecture",
"Domain-Driven Design"
],
"textContent": "Open a mature codebase and grep for `Customer`. In billing, it means an active, paid account; in support, anyone who has sent an email; in analytics, a deduplicated household. The bug isn’t in one module, but in three teams misunderstanding they’re referring to the same thing.\n\nA software ontology is a clearly defined, shared model of a domain that includes concepts, meanings, and relationships, documented and integrated with code. This article explains its role in Domain-Driven Design (DDD), why it exists, and how it functions as a mental model.",
"title": "What Is a Software Ontology?"
}