第二个误区:“兽医”不能当“人医”用。
笔者有个朋友,去年开始上一个开源的ERP软件。由于开源软件有些功能不是很完善,故需要进行比较多的二次开发。他们一直找不到合适的合作伙 伴。要么是距离太远,要么就是实力不够。后来经过多方面比较,企业还是决定采取就近原则,选择了附件的一家软件公司,负责公司开源ERP软件的二次开发。 考虑到他们对于这个开源软件不是很熟悉,我们就出资,让他们派出一名人员跟我们公司的信息部人员一起,参加这个软件的培训。虽然如此,可是,在后来的合作 中,由于这家软件公司没有ERP软件二次开发的经验,而且,对这个软件的业务逻辑也了解的不够透彻,结果,在后续的工作中,惹来了不少的麻烦。
如由于对方不熟悉软件背后的业务逻辑,所以,对于我们的需求,他们提出的解决方案中,漏洞百出。如我们提出希望能够根据物料申购单直接转化成采 购单。若稍微了解这个业务逻辑的人都知道,为了避免物料申购单重复生成采购单,等这个作业完成后,需要采取一定的措施,在物料申购单上作标记,以防重复生 成采购单。可是,对方提出的解决方案中,以及后续的软件实现中,都没有这方面的控制。后来他们提出疑问,他们却说“他们也是第一次接触这个系统,所以不知 道有这方面的限制”,让我们晕死。
如笔者的朋友提出了一个需要对交货日期进行控制的需求,供应商最多只能够提前五天送货。若超出这个天数的话,则需要在ERP系统中设置警告信 息,并且不允许进货单的审核,以减少企业不必要的库存。当对方收到这个需求后,就傻眼了,不知道从而做起。后来,我朋友不得不请教其他有ERP项目经验的 朋友,帮他写了一个解决方案。然后,笔者朋友结合自己采用的ERP系统进行修改,再把它交给软件公司,让其在原有ERP软件的基础上进行修改。类似的情况 还有很多,都让笔者的朋友叫苦连天。这个朋友后来说,以后再也不贪图近,而选择合作伙伴了。宁可原一点,贵一点,也要选择专家,选择有这方面项目经验的软 件企业。
确实,兽医跟人医虽然都是医生,但是兽跟人到底不一样,如果让人医给兽治病的话,有时会往往是越帮越忙。所以,笔者认为,企业在找信息化项目合 作伙伴,特别是一些在原有项目基础之上进行工作的话,如一些软件的二次开发或者项目集成的工作,一定要考虑对方是否有这方面的项目经验。
具体的来说,需要注意以下几个方面的内容。
一是对于软件本身的熟悉程度。由于现在信息化软件做的越来越大,后台程序逻辑越来越复杂,往往是牵一发而动全身。若对方不熟悉这个软件的话,其 他的不说,光去学习这个软件、了解软件的架构就需要好久的时间,而往往这个时间也都是算到企业的帐上。这就会无形中增加项目的成本,对于企业来说,这是得 不偿失的。所以,企业若需要进行软件集成或者软件二次开发的话,需要寻找那些对这个软件比较熟悉的合作伙伴。而在实际工作中,有些企业认为对方只需要了解 这个技术架构即可。也就是说,软件是用JAVA语言开发的,则只需要寻找那些了解JAVA架构的软件公司即可,这是一个很大的误区。因为学习一门语言比掌 握一个软件的业务逻辑要简单的多。所以,我们更希望跟一些了解软件架构的企业合作,相对于只精通技术架构的企业来说。
二是项目经验,或者说业务逻辑。其实,从现在的角度来讲,一个掌握业务逻辑的专家比精通某个语言的软件工程师来说,更加值钱。但是,由于缺乏业 务逻辑的人才,企业往往需要支付更高的成本才能够雇佣这些业务型人才。如我们提出一个需求,对方不能够把这个需求翻译成程序开发人员可以了解的业务逻辑的 话,那么对于我们来说,会很头疼。从中也可以看出,懂得业务逻辑的人员在其中起到一个承上启下的过渡作用。若缺乏了这种人员,程序开发人员就不能够十分透 彻的了解企业的需求,他们在开发程序的时候,也难免会磕磕碰碰。不但会延长项目的周期,也无形中增加了项目的风险,如可能会出现比较多的漏洞等等。
所以,笔者建议,在选择合作伙伴的时候,最好需要考虑对方对这个软件的熟悉程度,以及是否有精通这方面业务的人员。千万不能“病急乱投医”,不管阿狗阿猫,先拿过来再说。这种“人医”、“兽医”不分的做法,外包项目很难成功。