LLeon PenningsSep 7 · 10 min readTech Debt Isn't a Backlog Problem. It's a "Done" Problem.Technical debt is usually described as a bill that arrives later for a purchase made earlier: speed bought on credit, with the cost deferred to some future date. Ask practitioners why debt accumulatesblog.leonpennings.com
LLeon PenningsAug 29 · 16 min readThe Technical Candy Problem in Software Development"When a measure becomes a target, it ceases to be a good measure." Goodhart's Law is usually told as a story about metrics gaming: set a target, watch people optimize the number instead of the thing tblog.leonpennings.com
LLeon PenningsJul 21 · 11 min readDiscovery and Fit Testing: The Two Jobs of a Domain ModelEvery experienced architect has had this happen. A domain expert asks for feature X. An hour of conversation later, it turns out they don't actually need X at all — they need something X happened to bblog.leonpennings.com
LLeon PenningsJun 7 · 16 min readThe Invisible Invoice: The Cost of Building Software Without Understanding ItThe Wrong Measure Software doesn't fail when it stops working. It fails when the cost of keeping it working exceeds what anyone is willing to pay. That distinction sounds simple. Its consequences are 1blog.leonpennings.com
LLeon PenningsMay 21 · 28 min readThe Properties of Enterprise Software That Lasts"Perfection is achieved not when there is nothing more to add, but when there is nothing more to remove." — Antoine de Saint-Exupéry Introduction Enterprise software is different from other software.blog.leonpennings.com
LLeon PenningsMay 19 · 17 min readWhat Is a Rich Domain Model?Most articles about rich domain models get lost in comparisons to anemic models, debates about OOP mechanics, or pattern catalogues. This is not one of those articles. A rich domain model is not a tec52Pblog.leonpennings.com
LLeon PenningsMay 4 · 17 min readAI can build anything except an understanding of what you are buildingThere is a distinction in software development that the industry has spent twenty years pretending doesn't exist. It is the distinction between building software and understanding what you are buildin915CVSblog.leonpennings.com
LLeon PenningsApr 19 · 13 min readRich domain modelling: a library storyMost software doesn't have a domain model. It has a database schema, a set of service classes that orchestrate calls to it, and a collection of user stories that have been implemented one by one, each1blog.leonpennings.com
LLeon PenningsApr 10 · 8 min readFast Onboarding of Software Engineers: The Two Learning ModesThere is a persistent belief in software organizations that standardizing on a single framework — Spring Boot being the popular example — makes developers interchangeable across teams. If every systemblog.leonpennings.com
LLeon PenningsApr 7 · 8 min readWhen Distribution Becomes a Substitute for Design — and FailsA lot of modern software architecture—microservices, event-driven systems, CQRS—is not born from deeply understanding the domain. It is what teams reach for when the existing application has become a blog.leonpennings.com