Model, like so many words in the English language, has a multitude of meanings depending on the context in which it is used. In a systems context I have come to understand model to mean:
We often deal with things, later I'll call them systems, that are so complex as to be beyond the limits or our intuitive comprehension. As such, we construct models, simplifications of the real thing, which allow us to study that which we seek to understand.
Whether a model is right or wrong is simply a value judgment, whether it is correct or incorrect is something that will be evident in time. The most important question to ask should relate to the extent to which the models we develop promote the intentioned development of our understanding. The extent to which a model aids in the development of our understanding is the basis for deciding how good the model is.
In developing models there is always a trade off. A model is a simplification of reality, and as such, certain details are excluded from it. The question is always what to include and what to exclude. If relevant components are excluded there is a chance that the model will be too simple in nature and will not support the development of the understanding desired. On the other hand, if too much detail is included, the model may become so complicated that, again, it fails to promote the development of the deeper levels of understanding one seeks. One cannot develop every model in the context of the entire universe, unless of course your name is Carl Sagan.
Personally I find I learn a lot from models developed by others. In an attempt to return the favor many of the models I have developed over the years are available for downloading on various web pages on this site.
When I first began developing models what seemed the greatest hindrance to progress was a blank sheet of paper. I used to spend endless amounts of time trying to figure out where to start because I wanted to make sure I got it right. As a result of my insistence on getting it right I got it wrong, simply because the model wasn't progressing. Sound like a typical Catch-22?
What I finally realized was that it simply doesn't matter where one starts! Any place you start is the beginning. You can build the model from the top down, from the bottom up, from the inside out, or from the outside in. If one pursues continued elaboration of the model sooner or later one arrives at an equivalent well defined understanding.
Now that I have stopped worrying about getting it right, admitting that each stage of model refinement or elaboration is just another approximation of some more elaborate system, I have begun to make more progress, and hopefully am developing better models.
What I have found to be absolutely essential is that if one builds a model with the intent of simulating it, each step of the elaboration must be relatively small and manageable, and must represent an operational simulation. That is, each elaboration must run as a simulation. Every time I have developed multiple levels of model refinement or elaboration without testing it I have set myself up for numerous headaches.