Developing a model is perhaps the most challenging part of problem
solving. In order to model a system, you first have to make some
assumptions. These assumptions must find the medium between
simplifying the problem so that a solution can be found relatively
quickly and easily, while not over-simplifying. In addition you need
to determine which asssumptions are valid, and which ones are not.
Most important of all is that the model fits the data. Regardless of
how much fun it is to derive and manipulate equations, a model isn't
very useful if it doesn't accurately describe what we witness, and
most importantly, what we expect to witness in the future.