Skip to main content

All Models Are Wrong, but Some Are Useful

ยท 3 min read
Nico Dupont

I love this quote from George Box.

The first time I heard about it, I felt like I discovered a small treasure. Something that will haunt me for years, coming back again and again.

The former context was "... all models are approximations. Essentially, all models are wrong, but some are useful. However, the approximate nature of the model must always be borne in mind....". (cf source)

Yes, all we perceive, all the mental models we're building around our perception are approximations. Reality is always more complicated, fuzzy, chaotic than our representation. And it's especially true when it comes to organization and human interactions.

A wrong but useful model I like is Conway's Law, stating: "Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure."

I found it often relevant. We copy the communication patterns into what we build as a team. When looking at some products or software architecture, I like to imagine the setup of the team(s) who built it.

A very strong decoupling between two features with a light integration between these in terms of UX/UI and navigation. A good chance that two different teams built these.

A very strong separation between frontend & backend code that looks like two different applications into the code base, communicating through web API. I'd bet the team is organized with the backend team on one side, and frontend team on the other.

As a team, we look for autonomy and ownership of the things we're working on. We do reproduce the communication constraints or the contracts we may have with other teams or other teammates.

When I craft a new organization or form a new team, I like to use Conway's to try to predict or to guess the outcomes. It's also known as Inverse Conway Maneuver. It's a way to promote the desired architecture or expected result by shaping the organization upfront.

Another wrong model I like is Tuckman's stages of group development.

Each time a teammate leaves a team, or each time a new member joins a team, it's not the previous team +1 or -1, it's a brand new team.

And this new team will cross different stages: Form, Storm, Norm, Perform to learn to collaborate efficiently. Each member has to find his own place within the new group. The group has to find its own way to operate.

This model can help to get prepared for the upcoming impacts when a team onboards a new teammate. It can also be used to trigger a change in the dynamic of a group. To help a team to change or re-invent their way to collaborate.

The reality is always far more complex.

These models are wrong (by definition).

But they can be useful (or not) in your context.