Architecture & design · Book notes
Build, buy, or let AI write it: Khononov's subdomain test
Learning Domain-Driven Design sorts every subdomain into core, supporting or generic, and that sort becomes the first filter on a modernization budget.
Learning Domain-Driven Design by Vlad Khononov (O’Reilly, 2021) describes the strategic part as starting with a classification of subdomains, before you even start writing code. The core subdomains are what differentiate your company from its competitors. They’re complex and they’re constantly changing (if they were easy to do, your competitors would have copied you already). Generic subdomains are the hard problems that all companies share, but which have already been solved (like identity). Supporting subdomains are subdomains that you need to run your business, but which are simple and don’t give you a competitive edge.
Each type maps to a builder: core gets built in-house by your strongest people with careful business modeling; generic gets bought or adopted from open source; supporting gets built with simple patterns or outsourced to an external team. An informal test from book discussions: if someone would pay for the piece as a standalone, it’s likely core. Types can drift: core becomes generic through commoditization, supporting becomes core through growth, so the map needs periodic redrawing.
The sort is most valuable in modernization. McKinsey estimates up to 70% of Fortune 500 software is over 20 years old, and warns that translating code line-by-line merely relocates tech debt to a new platform. After ten years working with large financial institutions and Fortune 500 companies, now as a principal cloud architect, I believe the subdomain map is the first filter on a modernization budget. Most of a legacy estate is supporting or generic, so spending your best people on a faithful rebuild isn’t spending where the company competes.
AI moves the line again. In early 2026, software stocks dropped about 8% in a week on fears that agents would let enterprises build or automate what they licensed (ACS Information Age reported). Cheap generated code changes build-vs-buy most at the supporting and generic edges. I say generate supporting, keep buying generic, put your best people on core. Core’s hard part is the model of the business.. cheap code doesn’t make maintenance cheap. But if agents make supporting code nearly free, who owns it in five years?