Below are some best practices for modeling.
Document first
Don’t wait until the
end of model development to start the documentation process. Documentation should help the developer
communicate with the subject matter experts regarding what needs to be included
in the model and the assumptions the model will make. Do the documentation first and validate it
with the SME. Let the documentation help
guide development so the constructs will be developed only ONCE! You will most likely
pay a high penalty by having to rework the complex constructs if you don’t
address documentation first.
Documentation before construction will help reduce wasteful and
time-consuming rework. Build the model
right the FIRST time! This will help the model builder.
Test as you go
Don’t
wait to the end of model development to start testing. Test as you build. If you wait until the end to verify the model
works correctly, it will take much longer to find bugs because you have to
search through the entire model. Build the model in small chunks and test
thoroughly as you go. If you test as
you go, the new bugs will be in the constructs you have just built. You will be focused on a smaller construct to
look for the bug while that logic is fresh on your mind. This is such a crucial aspect of the modeling
process that it deserves mentioning more than once!
Build a clean model as you go
Don’t wait until the
end of model development to start cleaning up the model. Messy models take much longer to debug! You
might build a construct today and not touch it again for a few weeks or
months. As a result, you will forget the
details in the complex constructs. A
messy model is confusing once you return to it, and it requires you to spend extra
time trying to remember what each construct is doing. A clean and well-built
model is much easier to read and understand, which results in spending less
time finding errors. This will help the
model builder.
Build the interface first
The interface should
allow the model user quick and easy access to important input and output
variables and various model functions. If
the user interface is not created until the end of development, then you have
missed out on a fabulous opportunity to use those quick access features. Not using a model interface will slow model development
because you are taking the long way to do things. Creating it at the beginning helps guide the
developer with a clearer picture of what should or should not be in the user
interface because the variables and tools have been used throughout the entire
process. Beginning with the interface also leads the developer to think about
the end product first and clarifies the process of building toward that
endpoint. This will help the model
builder.
Use Animation for Debugging
Don't wait until the end to add animation. Animation can and should be used as a way to help detect bugs in your model in addition to making it look pretty. So consider adding nice animation from the start.
Ask for help
Ask for help when
needed. If you are new to modeling, your
first task should be finding someone who can help when you need it. Your go-to person may be a more experienced
coworker or an instructor in a training class.
While there’s real and irreplaceable value in learning through your own
trial and error, part of the learning process is in knowing when it’s time to
move on and ask for help. Don’t waste
excessive time trying to figure out how to do something.
Use the buddy system
Don’t go off on
tangents or get sidetracked. Modeling
can sometimes be more effective if you work with a buddy. When you are modeling on your own it is easy
to go down a path that is nonproductive and diverts you from the primary
goal. When you model with a buddy, you
are more likely to get back on the right path quickly because you can encourage
each other to stay focused. Modeling with someone else tends to work like
bumpers in a bowling alley.