Tuesday, December 30, 2014

To Code or Not to Code in Dynamics CRM

Microsoft Dynamics CRM offers a wide range of features combined with the ability to customize the data model and workflows without any coding.  The question is, will these features fulfill all your business requirements or do you need to write some custom code? 

This is an important question, because once you start writing code you need to put in place a commensurate framework, methodology and platform to support it.  For instance, you may need multiple environments for development, testing, staging and production.  You may need version control for code as well as documentation. 

If you choose to go the No Code route, you may need to compromise the complexity of your business rules and change the way you work to suit the product better.  You will also have to settle for a bit less automation of some functions that could be streamlined through code. For instance, if you are determined to assign Account IDs that are a combination of the abbreviated customer name, state and date that they became a customer you will need to write some code.  Integration with other systems such as inventory or timesheets nearly always requires writing code.  Complex field derivations and validations require coding. 

If you are a do-it-yourselfer and not a programmer, and you want to implement Dynamics CRM on your own, try not to take on more than you can handle in terms of custom code.

Third party plug-ins can extend the capabilities of Dynamics CRM without forcing you to write and support custom code of your own. You can purchase plug-ins for reports and calculations or for functions such as sales tax calculation. 

Be sure to consider where you stand on custom coding in your implementation of Dynamics CRM. 

2 comments:

Ben Hosking said...

why do you not need the same amount of environments for the no code solution, surely you still need to test the no code solution

Jim Townsend said...

Thank you for commenting -- I agree that testing is needed regardless of which approach you take. At least one non-production environment is necessary to allow testing a reduce risk from untested changes.