Design with mental models & iteration

Every day, we interact with hundreds of things1 designed for a particular purpose. Some are so good they give us a little rush of joy; others are so bad they make us clench our jaws in frustration. Great design turns out to be hard to do. Sometimes even hard to recognise. What makes it so, and how can we get better at it?

Product design is difficult because our mental models of how the world will react to our creations are usually too weak to account for all the pertinent aspects of the real world. Either our mental models are simply ill-developed, or the world is too complicated to let us compute mental predictions.

To combat this we can do two things:

  1. We can study to improve our mental models.
  2. We can iterate on the product we are designing to test how variations of it behaves in the real world.

The key thing to understand is that these two tactics are closely related and complement each other.

Mental models

A mental model is a kind of internal symbol or representation of external reality, hypothesized to play a major role in cognition, reasoning and decision-making. – Wikipedia

In other words, a mental model is a pattern of thinking about how something works or how to do something. We use them whenever we make predictions – how a ball will travel when we throw it or what will happen when we click the “abort” button. Fundamentally, design is about coming up with hypotheses2 and then predict how the world will react to them. Good mental models allow for good predictions and thus good design decisions.3

Despite the value of mental models in domains ranging from software development to politics, many underinvest in them. If you are not actively pursuing a deeper understanding of your domain – its people, systems, and tools – through focused study of books, experiments, and questions, you are doing yourself and those you design for a disservice.

That said, great mental models are not sufficient to predict how our complicated world will react to our designs. We also need iteration.


To iterate on a design is to repeatedly evaluate one or more aspects of it and use the insights gathered to adjust both the design and our mental models of the domain. Each iteration is an experiment on the design hypothesis, to see if it interacts with the world as we think it will.

There is unsurprisingly no shortage of empirical evidence of or endorsement for the value of iteration: evolution, science, the iPhone, the lean startup movement, writing4, and the OODA loop to name only a few.

A key advantage of iterations over mental models is that they can give precise answers to how complicated systems like software, a microbiome, or a group of people behave. Mental models of high enough precision to answer such questions are often lacking and when they exist, reliable deduction can be infeasible5. Iterations externalise these deductions and add constraints that allow our mental models to effectively grasp and attack the problem.

The downside of iterations is that they tend to be comparatively expensive in both resources and time. They certainly don’t replace good mental models6. Even though evolution has had reasonble success with that, we don’t have that much time. However, the cheaper we can make iteration cycles, the more we can leverage good mental models which are great at making local adjustments, but less good at predicting what will improve complex systems overall. It is not uncommon that iteration speed can be increased by several multiples, resulting in similar relative improvement in quality or speed of a design.


To summarise, mental models and iterations are both fundamental to the design process, interrelated, and complemenatry. The quality of our mental models, the cost of iterations, and the complexity of the domain influence the best mix of the two tactics. Though iterations are commonly and rightly lauded, the value of good mental models is more rarely discussed, but I posit, just as important.

Thanks to Jan Sramek, Emily Rookwood, and Simon Meier for their feedback on drafts.

  1. Kitchen utensils, tax-forms, shoes, ticket machines, school curricula, mobile phones, websites, water taps, houses, hamburgers, washing machines, laws, and APIs to name only some things designed for a purpose.

  2. There are many ways to come up with hypotheses: by analogy with solutions to similar problems (in the same or other domains), elimination of possibilities, considering special cases, and several others that Pólya discusses in How To Solve It.

  3. It’s important to understand how good your mental models are – if you have poor mental models and you know it, you still have a good chance at good decisions because you know to be careful and seek out more facts. If on the other hand you think that your mental models are great when they are poor, you are more likely to make costly mistakes. Thus, if you have poor mental models, you are better off trying to find out and be honest with yourself about it.

  4. “Rewriting is the essence of writing well: it’s where the game is won or lost.” – William Zinsser, On Writing Well, 30th anniversary edition, p. 83.

  5. For example, systems that are highly sensitive to initial conditions are impossible to make long-term predictions about as chaos theory teaches us.

  6. Mental models can actually be replaced in some design problems where computers can run representatative simulations very quickly. So far, the class of design problems susceptible to this approach has been relatively small, but will doubtless grow.