As with everything in life, there are right ways and wrong ways to tackle problems.
- Ensure that the customization vendor plans to do the customization separately as a standalone “black box” code piece
- Some customization houses have access to GP source code, remember to never agree to this option. Customizing your original GP source code is fraught with risks. GP source code is so interconnected that touching even the most seemingly separate lines of code can cause defects to occur in other places in GP. This is a common problem with this methodology and can mean vast amounts of time to fix later on. Far outweighing any cost advantages up front. Also, touching source code makes an end-user a “hostage” to the developer, when it comes time to update versions/service packs. Every time you need to upgrade, the developer will need to ensure that their code will work – and that is typically not done for free.
- Ensure that before you do the work that the developer knows all of the GP modules in the end users environment PLUS any existing customizations
- This will ensure a more seamless outcome. If older customizations do exist, the end user should have access to the source code (which most times is not the property of the end user) of the existing customizations and if not, they should have the developer of the existing customizations interface with the new custom developer.
- Ensure that you have a cost-effective way to support the customization in the longer term
- Is the developer a “one man band” that could move or leave the business suddenly? Usually, the larger development shops have the manpower and stability to absorb the loss of developers. Lastly, look for developers that offer annual support for their customizations. Also, look for ones where upgrades are free as part of the annual support package. This will not make you a “hostage” every time you look to upgrade or install a new service pack!
- Ensure that your customization comes with some form of user documentation
- Even the simplest customizations should be documented. With people leaving the company and new hires requiring training, proper documentation can ensure smoother transitions.