We love to customize Microsoft Dynamics CRM solutions here @Beringer. We’ve been working with Microsoft Dynamics CRM since its inception, and we’re always finding innovative ways to implement the latest tools and help automate business processes. If you are looking for a CRM solution partner to help you with your CRM installation, make sure you pick the one that practices all of the Microsoft methodologies and best practices.
Here are my top three best practices that should be followed when customizing a CRM System.
1) Do NOT customize the default solution
Create a new solution, then add a publisher with a custom prefix. This will make it easier to identify your customizations, and cleanly move them between CRM systems.
Check out my blog titled Deploying your Intellectual Property with a CRM Managed solution Part 1 for a walk thru.
2) Do NOT develop in your Production environment
At a minimum, you should have two CRM environments: Development and Production.
All changes should start in the Development environment. This gives you the opportunity to test any new code, customizations, reports or processes before they are rolled out to your users. If you purchased a CRM Online site, then you may already be entitled to a Development environment.
A better practice, if you have the budget, is adding two more environments: Component Integration Test(CIT) and User Acceptance Testing (UAT).
Once a component is created and alpha tested in the Development environment, you can move it to a Component Integration Test(CIT) environment. This is where your beta testers can stress test individual components, and kick it back to Development with any bugs. When these components pass beta testing, you can then move it into a User Acceptance Testing (UAT) environment. This environment should be an architecturally and functionally representative of the Production environment. This is where you want your power users to test any changes in overall functionality, and ensure it’s ready to move to the Production environment.
Are these environment worth the cost? Just remember that each environment adds another opportunity to find and resolve issues to ensure repeatability and predictability.
3) Keep a historical trail of all code and solutions
We’re all following the Microsoft Visual Studio Team System/TFS methodology when developing code, right? This methodology provides fundamental services such as version control, work item and bug tracking, build automation, test management, data warehouse, and a fully customizable and extendable framework to be able to support any delivery processes. Besides storing all of your source code, you can use it to keep generations of both managed and unmanaged solutions too.
Can we help you with your CRM implementation? Please feel free to contact us. Beringer is a Microsoft Gold Certified Partner with expert knowledge in modifying Microsoft Dynamics CRM.
Reference: ALM for Microsoft CRM Whitepaper