Below are some best practices for modeling.
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 systemDon’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.