Much of what we do here at Seilevel is based around visual models that make software requirements easier to understand. That’s the purpose of a model, after all: to take complex things and make them simpler to use. That simplification comes at a cost, though – the more complexity you strip out of a model, the less accurate it is. If you left all that complexity in, you wouldn’t even have a model – you’d have the original system that was too complicated to understand!
That means every model is, by nature, at least a little bit wrong. And the weird part is, that’s okay.
As Isaac Asimov argued, there are degrees of wrong. If somebody tells you the earth is flat, they are wrong. If somebody tells you the earth is round, they are also wrong – it’s actually an oblate spheroid (roughly – this is a model, too). If you dismiss both statements as invalid because they are both wrong, then you are “wronger” than both of them, because the second statement clearly leads to a more accurate understanding of Earth’s true shape.
There are many famous models throughout history that aren’t always identified as such. F = ma is a model because it incorrectly does not account for relativity, but it is such an accurate approximation that it’s still useful for almost all situations. Richard Feynman used ice water in his model to explain the root cause of the Challenger explosion to Congress. Even the maps we’ve all learned from since elementary school are derived from old approximations optimized for helping sailors navigate, rather than for accuracy.
It’s important to be aware of all this simplification, but there’s a limit to how far it can be taken. A “spherical cow” is when the model is made so simple it’s not even useful anymore. The name comes from a joke where a physicist comes up with a solution that only works for spherical cows, which obviously means his solution is useless since cows are never spherical.
A model is a tool to help users understand data for a specific purpose. If a detail helps users better use that data, keep it – if not, eliminate it. Put another way: would you rather be correct, or would you rather be effective? It’s okay to be a little bit wrong if it helps people get closer to being right.