A few days ago I was listening to a talk on DotNetRocks.com by Gary Short where he talks about “Technical Debt”.
Timing couldn’t be better; couple of weeks ago we started a large Dynamics CRM 4 to CRM 2011 upgrade.
The original project was done by another vendor and the debt incurred is pretty high! Let’s just say the upgrade cost would cover full payment on a nice house…
As Gary explains, technical debt is similar to the debt we know; you get the benefits now but pay back later. This works when you understand what you’re doing and have a good handle on things.
Unfortunately on this project the debt was not understood and not made clear to the business, the business requirements were set out to be achieved in a certain frame, the developers took shortcuts (“Technical Debt”) which now must be paid back with interest!
Here are some interesting finds…
Stay away from unsupported customizations (http://msdn.microsoft.com/en-us/library/bb928224.aspx). Developers who are new to CRM has some sort of SQL background, just because it’s easy to write SQL against the CRM database doesn’t mean you should!
Comment your code!
Plugins / Workflows• Use meaningful names for your plugins, eg: RollupResults instead of TestPostCreate.