Ken Thompson’s Golden Rules of Good Simulation Design

Article by Ken Thompson, 06 Apr 2017


From designing simulations for varying purposes for over twenty years I have accumulated my own little set of “Golden Rules”.

I share these dozen with you knowing that there are many more rules and issuing a warm welcome for you to extend my list with your own favourites!

Rule 1: Einstein’s Law: All models are wrong but some are useful

Rule 2: Machines can be faithfully simulated - sadly however organisations, people, culture and social structures are not machines

Rule 3: Past Behavior Rule: Beware of any simulations which cannot reproduce past behaviour (necessary for usefulness but not sufficient)

Rule 4: Some simulations produce forecasts but no simulation predicts the future

Rule 5: You can have realism or usefulness in models but usually not both (see Rule 1)

Rule 6: In simulation complexity reduction is the biggest challenge and abstraction is the best tool to help achieve this

Rule 7: A good simulation makes visible what is important - a poor simulation makes important what is visible

Rule 8: Requisite Complexity Rule: every unnecessary equation or variable in a simulation reduces its potential user base by 25% (credit to Corey Peck)

Rule 9: Clever don't count Rule: The value of any learning simulation is measured only by the new actionable insights it produces and not by anything else

Rule 10: The 7 Year Old Boy Rule: No graphical user interface on a simulation can ever compete with the human imagination (“Radio is like TV only with Radio the pictures are better”)

Rule 11: Dilemma-Based Design Rule: If you want to capture the absolute essence of any function don’t model its decisions model its central dilemmas.

Rule 12: Occams Razor Rule: if you have a choice of two simulation design options always go with the simplest one

Want to know more about this topic?

As well as starting the conversation we will send you a FREE Executive Summary of our Book:

A Systematic Guide to Game Based Learning within in Organizations

Close App
Request a Callback