These are some of the most common or most expensive mistakes I’ve seen when people start to create models. All the names of customers and industries have been removed, to preserve the self-respect of the modellers.

Modelling the World

The point of a model – of any sort- is to take some aspect of the real world and create an abstraction of it. Then use that to help do something new. How much of The World you choose to model can be a burden. A really big one. So choose your scope carefully, and only modelwhat you NEED to model , and what you have time to understand.

I was once asked to review a model built by some experts in ecology. They wanted to model the causes of ecological threats, especially pollution, and what happens as a result. This could then serve as the basis for ecology-related software solutions.

As is often the case with model reviews, I’m shown into a meeting room with lots of smart people – industry experts – and me. I usually get a bad feeling when they all sit on one side of the table, and put me on the other. Sets a non-collaborative tone. So they explained their model was in three halves, set out on a HUGE whiteboard:

  • The left-hand side, bit which set out the main pollutants: animals, vegetable, mineral. Well thought through, very comprehensive
  • The right-hand side, which had all the effect of pollution: death, disaster etc. Also well modelled.
  • They said the middle bit was a problem.

It was a while ago, but I’m sure that the middle bit, where they were going to describe how the pollutants on the left CAUSED the effects on the right, contain one class. It was called:

laws of physics

It really was. They said, in a very serious voice “we’re having a bit of a problem with this bit”.

You think!

They had go so “into” the problem that they couldn’t see the impossibility of what they were trying to do. I tried to be encouraging: “If you can fix that bit, I think a lot of people would like a word with you“.

So, no matter how smart you are, and how much you know about the area you’re going to model, remember to be realistic. Don’t try to model the world. Take the smallest possible bit (but not too small) and model that. And get some value from it, somehow. Then maybe you’ll be allowed to carry on

About the Author Ian Mitchell

Ian Mitchell is a business analyst and software developer. He's been using UML since before it was UML, and has managed teams of BAs all over the place. He also teaches UML and BPMN, and writes the eaDocX document generator for the Sparx EA tool.
%d bloggers like this: