LPLeon Penningsinblog.leonpennings.com·1d ago · 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 b00
LPLeon Penningsinblog.leonpennings.com·Jun 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 10
LPLeon Penningsinblog.leonpennings.com·May 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.00
LPLeon Penningsinblog.leonpennings.com·May 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 tec52S
LPLeon Penningsinblog.leonpennings.com·May 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 buildin915CVSJL
LPLeon Penningsinblog.leonpennings.com·Apr 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, each10
LPLeon Penningsinblog.leonpennings.com·Apr 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 system00
LPLeon Penningsinblog.leonpennings.com·Apr 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 00
LPLeon Penningsinblog.leonpennings.com·Apr 4 · 9 min readRich Domain Models: Start with What Is, Not What HappensA lot of software is more difficult to build and maintain than it needs to be. Not because the business itself is inherently complex. Not because the requirements keep changing. But because the softwa00
LPLeon Penningsinblog.leonpennings.com·Apr 2 · 20 min readYour software development approach is too expensive and too brittleMost software teams are not struggling because software is inherently chaotic. They are struggling because they are paying enormous amounts of money to keep the wrong machine barely usable. That sound00