Although this excellent article by Vjekoslav Babic is written from the ERP and MS Dynamics NAV perspective, the same list holds true for the CRM side as well:
- Regressions can be tricky to hunt down and fix
- Go-live schedule can be delayed if the customizations are not properly though out in advance
- Official support does not cover custom code, how do you then identify if problems in your system are covered or not?
- Upgrade to the next version will become more difficult and expensive
- Know-how only exists within your organization, so proper documentation becomes a critical factor for risk management
- Vendor lock-in is almost inevitable, which in practice means rewriting the code if the co-operation with your vendor is no longer working
- Help for the users needs to be developed and maintained in-house, since user guides and courseware can’t possibly cover your custom processes
The relative ease of developing custom solutions on top of applications like Microsoft Dynamics CRM can easily lead you to dangerous path. Just because you can quickly implement it, does not mean that it will be cheap in the long run. Unless you are able to identify these hidden costs of customization in advance, you may find yourself singing up for something that will ultimately cost you more than the potential benefit to be derived from the custom solution.
So, just because you can, does not mean you should.