The discussion about whether modeling is good or bad does is not really appropriate. We all and always create a mental model of the system before coding it. As Olivé says in [1], the model always exists, the only option designers have is about its form: it may be mental (exists only in the designers’ heads) or explicit.

Therefore, the real discussion is whether the effort, the investment, of making the models explicit is worth or not. What it is key is to see, in every scenario, whether the ROI of taking the time to model the system is good enough.

IMHO all arguments against modeling are not against modeling per se but against modeling using the current modeling languages and tools. That is, in my opinion, the problem is not modeling, the problem is the limitations of the tools we are forced to use when modeling! (see for instance, this usability experiment)

In fact, I strongly believe that a new generation of modeling tools that:

  • Simplify the drawing of the models (e.g. allowing free-hand drawing of the models on a TabletPC, promoting simpler versions of the modeling notation for certain types of users and uses, allowing to combine or drag-and-drop elements from different types of diagrams when defining the models and so forth)
  • Offer interesting model-based services (e.g. quality checks in a reasonable amount of time, AI-based modeling assistants, model version control for distributed teams, code-generation services,…)

could end the “Modeling War” since then, clearly, the (now less) time invested in making the models explicit would pay off thanks to benefits of the model-based services.

I don’t think having one of these tools is science fiction at all. Most of these aspects have already been published as prototypes or research papers. We just need to combine them in a single tool. If you had that modeling tool of your dreams (pls, share which would be the killer features you’re picturing right now!) wouldn’t you start thinking that maybe modeling (better said: explicit modeling)  is not such a bad idea?

[1] Antoni Olivé: On the Role OF Conceptual Schemas in Information Systems Development. ADA-Europe 2004: 16-34

Want to build better software faster?

Want to build better software faster?

Read about the latest trends on software modeling and low-code development

You have Successfully Subscribed!

Pin It on Pinterest

Share This