观点:ERP并非是个软件! 开源ERP必死无疑!

不知道曾几何时,开源ERP产品在我们身边逐渐发展起来,慢慢的有着跟商业ERP并驾齐驱之势。也许开源ERP有起发展的优势,不过,我对开源ERP并不看好。为什么呢?请听我的理由。

一、ERP并非只是一个软件。

ERP系统跟操作系统有个非常大的不同,就在于ERP系统不仅仅是一个软件,更多的倾向于是一种管理的工具。而对于操作系统来说,其仅仅是一个软件,所以,LINUX等开源的操作系统可以取得成功,可以跟微软分庭抗礼。但是,ERP不行,因为ERP不仅仅是个软件,更是个工具。

对于ERP项目来说,三分软件七分实施。一个好的ERP项目,实现要有一个好的项目实施团队。可惜的是,现在市场上ERP实施顾问本来就是个比较抢手的资源。在国内,从事开源ERP项目的实施顾问可以说比较少,而经验丰富能力强的实施顾问更加是少之又少。没有好的项目实施团队的支持,即使ERP软件设计的再出色,开源ERP软件在企业中实施的效果也是有限的。更何况,根据我的观察。现在开源ERP软件的功能实在不怎么样,而且,其BUG又多的要命。在这种情况下,若没有经验丰富的实施顾问在那边统揽全局,开源头ERP项目,要能够在企业中取得不错的业绩,那真的是奇迹了。

其实,很多企业把ERP项目在企业中没有用好归咎于软件产品不好。其实,这只是他们的借口。根据我的工作经验,其实软件本身在ERP项目中起到的作用最多只有 30%,而且,现在各个产品之间也在相互模仿,同质现象比较严重,各个品牌的产品若光从产品功能上来看,其实真的没有多大的区别。而有区别的就是软件的实施团队了。所以,项目的实施效果好坏,大部分不在于软件的本身,而在与好的项目实施团队。而真是开源软件所缺少的。

我也接触过一些开源软件的实施顾问,说实话,他们的顾问团队跟金碟、SAP、神州数码等软件巨头的实施顾问水平还是有一定差距的。其实有这个差距也不用奇怪,因为开源软件企业的利润本来就没有商业软件那么高,所以,他们顾问的待遇普遍没有商业软件公司那么高。而没有很好的待遇的话,很难留住优秀的ERP实施顾问。而根据我的了解,开源软件的实施顾问流动性也普遍比商业软件公司的流动性要高。因为很多有经验的开源软件实施顾问在有几个项目经验后,都会考虑转型到商业软件公司。

毕竟,水往低处流,人往高处走。这就如同一些小型的ERP软件公司的实施顾问,拼命往SAP、ORACLE等ERP产品发展,同一个道理。不过,有些开源软件,确实也有一两个好的实施顾问在那边独揽大局。若企业能够跟这些经验丰富的实施顾问合作的话,那可能ERP项目的效果会好一点。

二、程序开发,远远没有我们想的那么简单。

企业的IT技术人员,拿到ERP软件的原代码,就可以进行二次开发了吗?其实,真的没有这么简单。

这就好象我们烧饭一样。你若把米烧成饭可能简单一点,但是,若想利用剩饭经过重新加工做出可口的饭来说,那可能对厨师的要求会高一点。其实,软件开发也是如此。对于软件开发人员来说,若从零开始进行开发,可能还会简单一点;但是,若要在原由软件的基础之上,进行软件二次开发的话,难度可能会比较大。因为他们首先要先去了解原有软件的思想、结构、设计思路等等。而到软件开发人员了解这些内容后,早就黄花菜都凉了。

我曾经有个朋友,他们公司里上了一个开源项目。一开始的时候,他们是叫了一家专门做这个开源产品的软件公司进行二次开发。那时候,他们由于熟悉这个系统,在这套系统上,他们起码已经钻研了五年。我朋友企业根据用户需求,整理了一份资料,叫他们进行开发,大概花了一个星期左右的时间,就开发完成了。后来遇到版本升级了,我朋友企业就找了本地的一家软件公司进行开发。为了更他们达成长期合作的意向,企业还自己掏钱送他们的程序员去培训。结果呢,花了近两个星期的时间,这个原来二次开发需求的升级工作工作还没有做好。这主要还上因为他们对于开源软件的原由系统架构与设计思路不熟悉所造成的。所以,我们若采用开源软件的话,那么拿到代码后,很长一段时间不是在新功能的开发上,而是在对原有系统设计思路的理解上。

所以说呀,开源软件ERP不是说我们拿到源代码就可以直接进行二次开发的,软件二次需求开发的准备工作,即对于原代码的研究工作,可能在我们平时的工作中,需要占据比较多的时间与精力。

三、对于需求的把握与控制。

我刚开始的时候,是在企业内部做项目实施的。那时候,我们关注的需求是什么呢?这个单据的格式不好看,要弄的好看一点;这个查询不方便,要多设置一些查询参数;这边输入不方便,最好能够直接选择就好。那时候,我们关注的就是这些细小的需求,在这些细小需求的实现上,浪费了大量的时间。而对于一些比较具有价值的需求,如收货数量的控制与超收管理控制方面,我们反而抛之一旁。以企业现有管理水平跟不上为由,来个不管不顾。而老是在一些这些没有实际价值的小功能上,弄个没玩。最好开发成本花了不少,但是,却没有带来多大的实际价值。这个问题到底是出在哪里呢?这主要就是在对于需求的把握与控制不是很好。

现在回过头来想想,确实如此。以前在企业里负责信息化项目的时候,站在用户的角度上考虑问题。由于缺乏实际项目经验,很难站在全局的高度去思考一个 ERP项目该如何去运作,哪些方面的改进会给企业带来商业价值。这就导致我们在实施项目的时候,围绕着用户转。他们说这个不好,那就改这个。解决的永远是哪些鸡毛蒜皮的小事情,一些单据、报表的格式问题。而对于流程的改善 与控制,这方面却做的非常的不到位。

所以,企业若现在采用开源的ERP软件项目,由于缺乏知道,不免也会陷入这个困境之中。我有个朋友,现在就在企业中负责开源的ERP项目。他们公司还好,一个专门负责实施,而他就是负责开发。他跟我说,他现在开发的内容,就是围绕报表呀、表单呀、字段的格式呀;而对于功能方面的改进基本上就没有。因为他们也不知道到底哪些东西需要改进。为什么呢?很明显,用户连准确的该怎么做都不知道,那当然不知道系统的功能有哪些缺陷,若有缺陷的话该如何走,这些内容也不会很熟悉。所以,他们现在是系统有什么他们就用什么,没有的话就用手工来替代。而我朋友负责程序开发,整天在那边做的就是单据、报表格式的调整,数据库字段长度的调整等等简单的开发工作。

这都是因为企业没有比较专业的人来分析、调查企业需求所造成的。而商业软件不同。他们会把企业的需求调研当作项目实施过程中的一项重中之重的工作来对待。因为他们清楚,把企业的需求搞清楚了,那么企业的ERP项目也就成功一大半了。可见,需求调研、需求分析的工作,对于ERP项目的重要性。而开源软件项目,缺少的就是这么一个比较专业的人来负责企业的需求分析工作。从而导致开源软件的二次开发,老是围绕哪些细枝末节的东西在展开。

四、开源软件升级的顾虑。

由于开源软件存在众多的 BUG,所以,其版本升级也是非常之快,可以比得上微软操作系统的版本升级了。但是,微软操作系统出现新补丁的话,只需要在原有系统上打补丁就可以了。但是,开源ERP系统则不是。他需要重新安装、部署系统。但是,开源、开源,其版本升级的话,支持的并不是很好。要解决版本升级带来的麻烦,企业至少需要解决两个问题。

一是数据迁移的问题。由于新版本的ERP系统需要更改数据库或者其他内容,所以,原由的数据库直接备份恢复到现有的数据库中,明显是行不通的。所以,用户面临的第一个问题就是开源ERP系统,若遇到升级的话,数据如何迁移。对于商业ERP软件来说,虽然也遇到类似的问题。但是,他们一般会提供技术支持,甚至帮助用户完成数据迁移的工作。但是,开源项目来说,由于本身就是免费的,企业就不能享受这么好的服务了。除非企业愿意花钱。

二是二次开发需求迁移的问题。在原先版本上所做的需求,如何迁移到新版本之上呢?这是用户在版本升级过程中遇到的第二个难题。在商业软件中,这一般不是问题,只要你交了每年的服务费用,则他们在软件升级的过程中,他们会帮你完成二次开发需求的迁移工作。而对于开源软件来说,不不怎么好办。一方面,用户自己会开发很多需求;另一方面,若需求外部帮助的话,他们也会开发一些相应的需求。若现在让他们负责进行二次开发需求迁移的话,则不仅企业要付出昂贵的升级费用,而且的话,用户自己开发的需求也需要重新定制。这中间的需求确认、开发版本控制、文档制作、功能测试等等会遇到很多问题,不是三言两语可以说的清楚的。总之是一句话,非常的头疼,非常的麻烦。