← Back to Blog

Don’t Bend Reality to Fit the Model

The tools and models we use should adapt to our understanding of reality, not the other way around. We should never change our understanding of something simply because it does not fit neatly into a modeling framework.

Consider a simple example from object-oriented modeling. Suppose we want to represent an individual as a class. Should personality traits be modeled as attributes or as methods?

Take anger. Some people get angry and yell. Is yelling an attribute of the individual or a method?

If I define an attribute such as “yells = true/false,” I reduce a complex behavior to a static label. It suggests that yelling is a fixed property of that person.

If I define a method “yells(),” I acknowledge that yelling is a behavior the person can perform. That is closer to reality. But then how do I distinguish between individuals? Everyone now has the same capability.

So I pause and ask: what is my actual understanding of an individual? Perhaps it is this: a person yells, on average, once a month, depending on context.

Now the model changes. I may introduce an attribute such as “yelling rate per month,” and keep the method “yells().” The behavior becomes dynamic and measurable. Then I can go further: what inputs influence the method? Stress level? Environment? Triggers?

The point is simple. Modeling is not about forcing reality into predefined boxes. It is about refining the tool until it faithfully reflects how we believe the system actually works.

Javad Seif
Claremont, CA