Today I visited a company called Sörman (yes, they’ve kept the umlauts in their name which I applaude) and listened to a seminar. One of the speakers gave me the following insight:
In traditional development methods information is stored in documents. But, every time the information is processed by humans, it is actually transformed into a model – a mental model. We don’t think in terms of linear text when we reason about technical solutions. Instead we create some sort of model of the system in our head and reason in terms of that model. It may well happen of course that different people get different mental models from the same linear text as there may be several ways to transform it into a mental model.
Since model-based development is closer to our mental models to start with, there should be fewer transformation errors going back and forth between the (external) system model and the mental model. Not all models are graphical though. There are some mental meta-models that are largely linear and suitable for a textual concrete syntax. We for instance like stories that in turn create images in our heads which is for instance why use cases might still be a good way to describe system behavior.