The Eric Normand Podcast

How does executable specifications compare with other modeling paradigms?

Jun 12, 2023
Discover the fascinating world of executable specifications and how they stack up against UML and domain-driven design. Learn why practical skills can enhance communication and decision-making in software development. Delve into the significance of aligning code with its intended meaning, and critique traditional design methods that often prioritize aesthetics over functionality. This conversation offers valuable insights for anyone looking to elevate their software design approach.
Ask episode
AI Snips
Chapters
Books
Transcript
Episode notes
INSIGHT

UML vs Executable Specs

  • UML is a graphical, intermediate modeling language mainly useful for communication, not direct execution.
  • Executable specifications use code, enabling precise, runnable models without translation loss.
ADVICE

Use Signatures to Model Early

  • Write function signatures first without implementations to explore your domain model.
  • Use prototypes with the same signatures but simpler implementations to validate domain behavior early.
INSIGHT

Code Directly Avoids Translation Loss

  • Removing the translation step from models to code preserves information and aligns mental models.
  • Running executable specs helps catch and fix model errors faster than guessing UML's meaning.
Get the Snipd Podcast app to discover more snips from this episode
Get the app