我有一些可能含糊不清的问题,我不确定我是否会得到正确的答案,但我想我会把它放在那里,因为不知道还能在哪里得到答案。
部门在过去两年中一直在实施各种现代开发实践,即敏捷,Scrum,TDD,持续集成,MVC。
我的公司现在将转向Microsoft Dynamics CRM(目前我们使用的是第三方产品)。他们希望将Dynamics用作CRM,同时也用于定制定制开发。通过做一些阅读和背景学习,我可以欣赏Microsoft Dynamics是一个优秀的产品,它有其地位,并解决了许多企业的问题。我对Microsoft Dynamics的了解来自以下视频。 http://channel9.msdn.com/Series/DynamicsCRM2011
我们的实施可能会针对业务进行高度自定义,我们还将在Dynamics CRM中构建大量自定义应用。我的公司是微软的家,所以我们已经使用.NET,SQL Server等。
我的问题:
Microsoft Dynamics是否允许现代开发实践,如TDD,持续集成,MVC?
如果CRM部件高度定制,我们会失去使用Dynamics CRM的好处吗?
它作为市场产品的声誉是什么?
在Dynamics CRM中开发定制的自定义应用程序与自定义MVC应用程序相比,是更快还是更慢?
有哪些已知的限制或缺点?
有什么其他好的选择,如果有的话?
我意识到没有答案,只有意见,如果有人使用或有观点,或者可以指出一些平衡意见和事实的良好环节,我将不胜感激。
感谢。
答案 0 :(得分:10)
Microsoft CRM是一款非常棒的产品,它提供了一个非常好的应用程序框架。就像任何框架一样,它并不适合所有情况。这里一般说来,但CRM非常适合需要关系和/或工作流程的结构化数据的解决方案。
我们使用CRM后端构建MVC应用程序,将CRM视为更像SQL数据库;但是,这些通常适用于访问门户网站的非CRM用户。通常,对于您的CRM用户,您可以通过JavaScript,插件(例如C#)和iFrame(指向您想要的任何内容)来自定义内容。
在测试驱动开发(TDD)或持续集成(CI)方面,没有标准的CRM工具可以帮助您。我们已经构建了一些工具来自动化/协助我们的开发,并且使用SDK很容易实现。单元测试你的插件应该适合你现在正在做的任何事情。但是,您正在测试UI中的MVC应用程序目前还应该继续使用,因此您在开发/ qa过程中投入的资金是任何新框架都要考虑的事项。
如果CRM部件高度定制,我们将失去优势 使用Dynamics CRM?
这取决于你想要做什么。 CRM建立在关系之上。因此,如果您想使用一堆不相关的实体自定义解决方案而不使用工作流程,安全性等,那么我说CRM不适合您。
开发定制的自定义应用程序是更快还是更慢 Dynamics CRM中的许多业务规则与自定义MVC应用程序相比?
通常,在CRM界面中开发内容比开发非CRM MVC应用程序要快得多。问题的一部分将是提升你的开发人员。
如果MVC方法更适用于某种情况,那么您可以开发一个与CRM(或SQL)对话的MVC应用程序,并通过左侧导航集成到CRM中。
有哪些已知的限制或缺点?
Sharepoint对于非结构化数据更好。所以,我说这是CRM的弱点。 SQL数据库中有很多支持CRM的移动部件,所以如果你有一个SQL应用程序,你在那里聚集多个数据库,那么我就不会增加开销。唯一的另一个缺点是加速。
与任何工具一样,知道何时使用它与否是关键。 CRM并不能解决所有问题,但我发现它可以为各行各业的客户创造奇迹。
完全披露,我是Microsoft合作伙伴的开发人员。我强烈建议您有一个合作伙伴,为您提供培训,入门模板等,以延长您的开发时间。