自定义开发
在某些情况下,你选定的CRM应用程序的标准功能可能无法充分支持你的流程,或是其他功能可能会对团队的工作效率产生极大的影响。所有主流CRM应用程序供应商都预料到了这一点,并在不同程度上设计他们的应用程序,以此来允许合作伙伴和客户对其补充新功能。由于自定义功能是根据你独特的需求和情况由你自己设计的,它们非常有价值。但是,在将自定义开发工作当做CRM项目的一部分工作进行之前,有很多重要点考虑的问题。
成本:自定义开发通常包括从头开始对CRM应用程序的新特性或功能进行编程。它的花费将十分巨大,而且在所有自定义组件的设计工作全部完成之前,全部开发成本都难以精确地估计。这可能会导致费用超支。
升级路线:为CRM应用程序添加自定义代码会使版本的升级变得更困难,而且每个新发布的CRM应用程序的代码可能都需要测试和返工。
自己的IT人员:你的内部人员是否拥有足够的技能和时间来创建、或至少维护并定期完善自定义组件?如果没有,你与你的CRM顾问合伙人的关系如何呢?将来他们还有可能作为你的开发合作伙伴吗?你能够接受外包工作对成本的影响吗?
CRM供应商路线图:你是否正在计划创建一个功能,而此功能已经在CRM应用程序供应商的路线图上了?如果是的话,你能为此而等待吗?
ISV概述:CRM应用程序的ISV附件能够充分满足这个功能吗?在其他功能都相同的情况下,购买现货产品通常都比开发自定义组件更合适。
我们的目的不是阻止进行自定义开发;事实上,我们见过的一些最具价值和创新性的CRM项目都包括自定义开发的组件,用以直接处理客户特定的流程或难题。但是,这些组件的价值必须经过仔细考虑而且必须认真管理它们,因为它们会对项目的预算和进度构成风险。
将自定义开发作为CRM项目的一部分来管理
如果你决定将自定义组件的开发作为CRM项目的一部分,就应该明白它是一种与标准应用程序功能相关的设计和配置过程有着本质区别的活动。如果把标准应用程序的设计和配置比作为你的新汽车选择配件和颜色,那么,自定义开发则类似于从零开始设计汽车。这种区别为你将自定义开发作为项目的一部分来管理提供了以下指导原则。
严格地编写文档。你应该创建一个详细的功能规格说明书作为设计过程的输出,并保证其随着设计的变更而随时更新。
计划几个开发过程中的里程碑来评估原型,对复杂组件来说更是如此。这使你有机会直观地了解开发流程,并根据需要修正开发过程。
避免功能蔓延。扩展功能集对于预算和进度的影响,将不仅限于新功能的额外开发成本方面。你肯定会有机会发布新版本,所以不要试图一次完成所有的工作;相反,可以把一些需要但又超出范围的功能规划到未来开发过程中,进行评审和划分优先级。
认真管理海外开发团队。市场上一个越来越普遍的趋势是,把一些自定义开发工作外包给可以以低成本进行这些服务的地区。这可能是一种成功的模式,但是你需要付出更多的努力来确保它的成功。你应该保证认真地挑选开发合作伙伴。要找一个在你选定的CRM应用程序方面具有丰富经验的合作伙伴。要比一般情况下更加详细地编写文档。没有面对面的交流,仅仅通过电话/电子邮件,想要弄清情况会非常困难。你应该计划在开发过程中与开发合作伙伴进行定期的接触。监控他们的工作量,以确保有效地利用他们的时间。
技术规格说明书
功能规格说明书定义了需要构建的内容。它关注结果和用例,而且描述了应用程序应该在哪个流程的哪个阶段为哪些人完成哪些任务。技术规格说明书则关注如何完成,为了实现功能规格说明书所描述的功能,必须创建哪些内容。功能规格说明书是一份由分析人员编写的文档,记录了来自开发团队的输入,而技术规格说明书则由开发人员编写的文档,记录了来自分析/设计团队的输入。技术规格说明书的形式和变化是多种多样的,但是大多数都离不开几个主题。