探索中国CIO人才现状 | 第四季调研报告
如何实现CRM软件系统灵活性
2013-11-27  作者:CIO时代网 

  为什么CRM系统要具备灵活性呢?最重要的原因有俩个:一,很多的CRM产品是通用型的,要面向不同行业不同类型的企业,因此企业的需求也是不尽相同甚至是大不相同的,比如外贸行业的需求和餐饮行业的需求的差异就很大;二,就个别企业自身而言,客户关系管理是一个动态的发展过程,需要不断的改进,以适应企业对客户关系管理的要求。这俩个因素就决定CRM软件必须具备一定的灵活性。国外的一些CRM软件在灵活性方面做的都很出色,值得我们学习借鉴。


  CRM软件产品的灵活性的根本来源是对业务需求的的深刻理解和提炼。因为CRM系统是技术服务于业务,这也正是管理软件的本质,业务是管理的出发点和结束点,业务变化,管理手段也要随之变化。至于采用那种技术只是手段而已。目前市场上的几个比较优秀的CRM产品采用的技术并非都是最先进的.NET或JAVA之类的,有的是用的Dephi,而它们的长处在于它们对于CRM管理理念和业务的深刻理解。所以软件的架构设计十分的重要,规划设计人员的思路和业务水平决定了CRM软件的灵活性甚至是可用性。在软件的设计之初就要考虑到软件在进入客户企业时是要进行扩展定制的,随着时间的推移这种要求会越来越多,如何应对新的需求新变化?只有靠软件的灵活性。因为即使你的产品功能再多再复杂也有考虑不到的需求。


  下面来看几个例子,微软CRM和SageCRM,二者都是采用了面向对象(OO)的编程方式,但是业务对象的设计远远超出了设计语言和编程技术的范畴,来自于对于业务的深刻认识。Sage中定义了若干个实体,而这些实体又是由若干对象构成的,每个对象实际是系统定义的对象类的一个实例。比如其中的Company实体是由Fields、Screen、List、Tabs、Blocks、Tablescripts、Views、SummaryReport、Notifications等对象类构成的,对于现有的实体可以新增上述对象类中的对象实例,从而构成了我们在前台所看到的各种界面、列表、提醒等等。新增的实体也是由上述的对象类构成的。因此其灵活性可见一斑。


  MSCRM中也定义了业务实体,业务实体比如Account由Forms、Views、SystemViews、Attributes、Relationship等类和属性构成。可以对已有的实体进行修改,同时也可以创建新的实体。


  Saleslogix的B/S版本中与上述二者的方式略有不同,而是由四个部分组成:Template、Action、Alians和Query,其中Template是我们看到的web界面的模板,Action是对应的各种动作,Alians是对应数据库字段的别名,Query则是进行查询并显示的表格。


  微软CRM和SageCRM采用的都是业务实体的定义,二者相似之处较多,而且对于主要实体和新建的实体都可以关联工作流,大大提高了系统的灵活性。Saleslogix虽然目前的版本还没有引入实体的概念,但是在其网站上演示的新版本已经引入了实体的概念。三者都是将一些主要的类的定义和其他的内容封装到了DLL文件中,具有较好的保密性。


  实际上我们的话题又回到了出发点,灵活性来自于对于业务的深刻理解,采用面向对象式的开发方式,这里所指的对象是业务对象而并非技术对象,使得软件具有较好的稳定性和可重用性,因为,需求发生变化时,用对象模拟需求中的实体,不会引起软件整体结构的变化;采用封装和信息隐藏机制,对象内部与对象外部隔绝,具有较强的独立性,预先将定义的对象设计成各种各样的组件,再由实现特定功能的组件构成实体和对象,实现了高度的可重用性。

 

CRM