When one undertakes to create a model there are a number of guidelines that are considered essential for consideration if there is to be a success with the model.
When you set out to develop a model it is essential that you have a sense of what the model is intended to achieve, it's [Purpose], and you should expect that [Purpose] may evolve as you develop the model.
A [Boundary] allows you to explicitly define what's part of the model and what's not part of the model. If you're unclear on the [Purpose] of the model and unable to establish a [Boundary] how will you ever know when to stop adding things to the model?
[Time Frame]. Will the interactions in the model be depicted over over Years, Months, Days, etc. And you should realize that your initial thought may have to be revised during the development of the model. [Simulation Length]. How long might the interactions have to be modeled for. Here again the answer may be obvious, or you may have to start with an estimate and revise it after working with the model. [Time Step]. Here again you have to estimate a value based on the smallest time of transition you expect in the interactions and then test it to see if you you're close enough.
As you build your model add notes to the elements so you can refer to them later for a sense of what you were thinking when you created them. Yes, you tell yourself you know what you're doing at the moment, though you'll be surprised at what you won't remember a week, a month or even a year from now. Notes also make it much easier for others to understand what you intended when you created elements.
[Stocks]. Identify which items are accumulations in the model that will change over time. Stocks are often easy to identify if you think about stopping time. When time stops a stock still has a quantity. [Flows]. Identify the flows which are responsible for changing the stocks over time. If time stops a flow has no value.
[Delay] can have very unexpected impact on the behavior of a model. Where there are delays make sure they're explicitly identified.
A [Stock] represents a quantity and should be labeled with a directionless noun our noun phrase, you know, a person, place or thing. Avoid directional modifiers such as increasing, decreasing, growing, slowing, etc. as they tend to make a model very difficult to understand. A [Flow] represents something moving over time so it's label should be something one would easily think of as moving over time as walk, speed, flow, etc.
If you're developing a Causal Loop Diagram or Stock & Flow Diagram be sure to label and sequence your loops so others have a sense in what order to read your story.
Make sure you include all relevant influences and only the relevant influences. Sometimes you include items because you can't figure out if they're relevant or not. That's OK as long as you remember to later take out the ones that aren't relevant. If you leave influences which aren't relevant they are likely to result in confusion later.
Balancing loops always have [Goals]. Make sure they're explicitly identified.
If there are limits on Stocks, Variables or Flows be sure they are explicitly stated so Insight Maker can inform you if the model generates out of limit values. This will signal you that there is a problem with assumptions or initial values.
[Units] can be very instrumental in assuring model validity. While consistency of units doesn't guarantee model validity if the units are inconsistent you can be sure the model is not valid.
Ensure the model is producing results which are consistent with reality. If it is not then it's an opportunity for learning.
The guidelines are far too much to memorize though if you refer to them as a check list over time they will actually become second nature and you'll find yourself automatically checking them as you're adding elements to a model.