liveBook · Manning

Model fitting

As explained in Collaborative Software Design: How to facilitate domain modeling decisions

A software design practice of deforming a problem domain by adding or omitting elements so that it conforms to an existing model, metaphor, or architecture.

Model fitting deforms a problem domain by adding or omitting elements so it conforms to an existing model, metaphor, or abstraction. It often preserves a familiar design at the cost of fit and flexibility. section 7.2.5

BigScreen private movie showings

BigScreen’s Movie Showing model linked a movie to slots representing a theater, hall, and playtime. When private showings introduced a reception and a movie, developers fitted them into the existing model by adding IsPrivate and treating the reception as another slot. This protected a familiar production model but stretched the meaning of slot. section 7.2.5

Emotional attachment makes extensions feel safer than redesign. Use feedback loops and deliberately create different models so new information can challenge the first design; discard it when it no longer fits the purpose. section 11.3.2 section 7.2.5

How Collaborative Software Design: How to facilitate domain modeling decisions covers it

How deep it goes
Defines the deformation pattern, explains its bias-driven cause, and works through a domain example without detailing implementation consequences.
Examples
Uses BigScreen’s Movie Showing, private movie showing, IsPrivate property, and reception-as-slot as the concrete modeling example.
What it assumes
Assumes familiarity with software design and collaborative modeling while framing cognitive bias effects through concrete domain modeling.
What you can do after
Evaluate models through feedback, generate alternatives, and accept redesign or abandonment when an existing model no longer fits.
How it connects
Connects model fitting to loss aversion, availability bias, collaborative modeling, feedback loops, and software design flexibility.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Collaborative Software Design: How to facilitate domain modeling decisions. The section links point to the parts of the book it draws on.