When I've been to Denmark, I often saw people saying "Navision turns amateurs into professionals." And it is so true, actually, it happened to me, it turned me from a business analyst into a programmer.
MSCRM is different: although customization became easier in 3.0, it is still hard for a consultant with a non-technical background to learn Visual Studio a C# to do very simple customizations.
For example, if users request that when they open an Opportunity form, they should get a message box if any contacts associated will have a birthday in two weeks, you need to 1) write a web service in Visual Studio, compile and configure it, that reads the data from the database 2) write JScript code to the form to show the message box. It is kind of hard.
So, I think we should start thinking together how to make it easier.
1) Having to use two languages instead of one (Jscript and C#/VB.NET) is hard. We could investigate that whether we could write the compiled part in Jscript.NET. It would bring things closer. In a next post, I will copy a little Jscript.NET tutorial here.
2) Borrowing the idea of the Object Table from Navision, we could investigate the idea of creating custom entities to hold the code. Maybe two entities, Project and Code Object, could be the name, and the code itself in a text field. Then, we could write a service that calls the command-line compiler and maybe even copies the files where they belong. Is it a good idea?
Remember, Visual Studio is great, but you don't need it for 95% of typical CRM/ERP customization requests, usually they are very simple, just reading and writing some data.
Any ideas are welcome.
And Merry Xmas!
Do It Yourself is they key. Standard code might work - your code surely works.