Model Rigor, You Say
31 May 2024
Domain-Driven Design Europe 2024
YouTube 52 minutes playing time
Slides PDF
In the USA, to legally purchase alcohol, you must be over the age of 21. On some websites, before proceeding, the user is asked, “Are you 21 or older?” If they answer in the affirmative, they can proceed. But is that truly a rigorous design? Of course not! It’s rigor theater. We can lull ourselves in believing we’ve designed sufficiently rigorous systems when we have not. We can cause unexpected behaviors when we enforce rigor and it is too constraining.
Design and modeling rigor is desired when a precise, exact, definitive answer to a question should determine and constrain future actions. Rigor isn’t arbitrary when our software deals with physical laws, or physics and mathematical formulas. But it often seems arbitrary with other system behaviors. When do we need strict precision in answers? When is it a bad idea to enforce precision? What should we do when it’s too hard to enforce seemingly necessary rigor? Those are some questions we’ll explore in this talk.