【转】Dynamics CRM 实施策略
如果Microsoft Dynamics CRM应用软件的标准功能不能满足用户需求,就必须要通过客户化来实现用户的个性化需求。客户化策略应考虑业务流程、实施范围、项目阶段、对系统架构的影响和程序的可靠性等因素。
以往实施的Microsoft Dynamics CRM项目,客户经常会为 Dynamics的灵活扩展性所吸引,提出很多个性化的需求,2010年实施某项目中,客户了解Microsoft Dynamics CRM的特性后,甚至提出:“XX ERP没有做的事情,我们都要在 Dynamics CRM中实现。”确实,微软 Dynamics CRM在扩展性方面做的很好,但是如果不能合理的的客户化定制,将会造成很大的实施风险,甚至导致项目失败。总结这几年实施项目的体会,我们对Microsoft Dynamics CRM 客户化策略提出以下建议:
一、业务流程应先于系统实施
在实施CRM项目的时候,项目实施人员应优先实施已经成熟的业务领域,不要希望通过实施一个IT项目改变企业的业务流程。因为企业的业务变革改变需要做出很大调整,如工作岗位设置、业务职责的重新划分、绩效指标的重新定义、其他资源的投入。所以业务变革要求企业必须基于稳定的内外部环境,IT项目只能是对现有业务流程的技术表现。之前很多实施厂商提出通过实施IT项目带动企业管理变革的口号,这是缺乏管理经验的表现。
对此我们的建议是,如果软件系统不能满企业现有操作流程,则应考虑线上和线下配合的方式完成业务处理,这需要用户调整自己的操作习惯。项目实施人员应把新的处理方式通过强有力的措施推行下去。
二、根据项目范围来控制客户化的工作量
在确定哪些需求要进行二次开发时,还可以根据项目的范围来进行判断。如在为CRM项目做可行性分析时,可以将CRM的项目目标进行细分,明确实施的部门、业务领域、业务流程,双方做出明确的约定。先期细致的工作将保护实施双方的利益,也是项目实施成功的重要保证。
对此我们的建议是,在实施开始之前必须给客户做标准产品培训,必须与客户做解决方案的确认,项目实施人员应提供业务人员和技术人员都能明白的业务解决方案。
三、合理划分项目阶段,避免过长的实施周期
当用户提出二次开发需求时,不要急着让开发人员进行客户化开发,而应该按阶段对需要进行整理。如此的话,才能够从全局上把握二次开发的需求,防止开发数量过多,使得项目周期和成本失控。有些用户的需求本身就不是很合理。如果按照他们的要求作,反而会降低系统的操作效率。这些内容在项目刚开始的时候,一般都难以发觉。而是要等到管理员对软件有一定的了解,或者说有一个总体的印象,才会发现原来用户提的需求有多么的荒唐。故先把用户的需求先放一放,等到大家都系统有更进一步了解的时候,再确定确实需要二次开发的内容。
对此我们的建议是,一般实施周期在3个月左右为极限,如果超过3个月的实施周期,应考虑划分不同的项目实施阶段。
四、二次开发应避免大范围改动系统架构
曾经接手过一个Microsoft Dynamics CRM项目,之前的实施人员没有充分利用系统已有功能,全部采用自定义实体,造成了大量的重复开发,系统的稳定性、扩展性全部丧失。这个项目最终失败,并直接影响了另外一个项目的客户选择。由于Microsoft Dynamics CRM高度的灵活性,所以很多初学者认为可以随意增加新的定制,其实越是这种灵活性高的系统越需要实施人员慎重对待。Dynamics CRM有很多好的功能,是微软CRM产品组花了很大精力开发出来的,这些功能运行稳定、效率高、支持升级,我们应优先考虑使用系统现有功能。
对此我们的建议是,实施人员应熟练掌握系统已有功能;尽量通过配置完成客户化需求。
五、二次开发应遵循合规性原则,做好系统架构的设计
如果必须做客户化开发,实施人员应遵守微软SDK文档的要求,采用系统支持的方法做开发,在系统架构设计上必须考虑清楚,做到高内聚、低耦合。
对此我们的建议是,开发人员应熟练掌握微软SDK文档;系统架构设计必须保持简洁、必要。客户化程序的部署,应尽量把部署到CRM站点内,程序中要减少对框架的使用。