软件研发投入不足—一个绕不开的话题

来源:互联网 发布:互联网 大数据 生活 编辑:程序博客网 时间:2024/05/17 23:02

软件研发投入不足一个绕不开的话题

 

中软通用产品研发中心 陈尚义

 

在我的上一篇博客《我对中国软件产业发展的看法制约软件产业发展的三大因素: 软件工艺、服务意识和抗风险能力》里,我写了制约软件发展的三个要素,即软件工艺、服务意识和风险机制。应该说,这是三个最大的制约软件产业发展的因素,尤其是前二者是最容易被人忽视的。但是,软件行业的业内人士都认为,制约软件行业发展的因素其实还有很多。

之前,当我向别人问到这个问题的时候,不同的人给出的答案各不相同。有人认为是软件研发上的投入不足;另一些人则认为是我们的抽象能力不够,因此开发不出通用的产品;还有的人认为是盗版惹的祸,挫伤了软件开发者的积极性;等等。

尽管我仍然坚持认为软件工艺、服务意识和抗风险能力是影响我国软件产业发展的三个最大因素,但是他们说的都有道理。我将陆续就这几个方面发表自己的一些感想。今天,就软件开发投入不足的问题先谈一谈。

 

1 软件开发投入不足的问题普遍存在

 

我国软件开发的投入确实不足。我在美国开发一个XML产品,公司耗资1亿多人民币,历时3年,产品尚且有很多明显不足、有待优化的地方,连我们自己也不得不承认是Demoware,可是同样的产品,我们的国人希望一两百万就开发出来!这不是我捏造的,是2003年真实发生的事实。一亿对一百万,100倍的差距啊!

再举一个例子。我有一个朋友在美国公司,他们公司的产品在投入了好几亿元人民币、历时4~5年才真正实现了商业化,开始见到利润。这个例子具有一定的代表性,一般地,一个产品从概念到设计、从设计到原型、从原型再到产品,然后一个版本接一个版本地不断优化升级,最后逐步趋于成熟,其投入的资金和时间都和这个项目相当。

你也许发现了,我们的很多公司在开发一个企业应用软件时,通常是找几个人,或者十几个人开发,希望在一两年内甚至更短的时间内出来产品,一个产品投入几百万就算是个大的投入。国内一家不小的软件公司于2000年开始做安全产品,二十多个人,两年时间内做了七、八个产品,平均三个人一组负责一个产品,结果,产品功能似乎都实现了,但到客户那里根本不能用,用他们的董事长的话讲,卖出去一个就惹一场官司,根本无法收拾。另一个专门做安全的公司也在重复着同样的做法,结果也是一败涂地。一个大学或研究所的教授,带几个学生,做出来的东西最多算是原型,可他们就把这些当作产品。

和美国相比,我们在软件研发上的投入实在太小,真是微不足道。据我估计,中国在同样规模的软件产品开发投入上,比美国小10倍到100倍。

 

2 软件开发投入不足的原因分析

 

究其软件开发投入不足的原因,一是认为中国软件人员的成本便宜;二是认为软件是智力产品,是软的,中国人聪明,随便加个班就可以解决。我观察了很多软件研究机构和企业,结果令人遗憾,他们抱的就是这种态度。

 

2.1 中国人力便宜,所以投入可以很少

 

认为软件开发人员的成本便宜,一个成熟的美国软件工程师年薪在10万美元左右,而中国软件工程师的年收入在10万元人民币左右,相差在7倍左右。因此有人认为,开发同样规模的软件产品,我国应比美国投入至少小7倍。简单地计算,似乎很有道理。

然而,事实却不是这样。看我的分析:

我有个断言:10万人民币的中国工程师,其职业素质和专业技能,远比不上10万美元的美国工程师。我在海淀软件园“软件工程管理大讲堂”做演讲时,当我讲到“做职业化的软件工程师”时提到类似的观点,程序员们听了很不服气。很抱歉,真实情况就是这样的。一个10万美元的美国工程师是相当老练的,富有经验,他们中很多人拥有10年甚至更多的产品经验,加上他们接受的教育也远比我们的程序员好得多。我们的程序员少有10年正规经验的,尤其在产品开发方面,虽然他们在集成、应用系统开发上实践较多,对产品开发要讲究的设计、抽象、可扩展性、安全性、可靠性、适应性等方面考虑甚少,粗制滥造的多、精益求精的少。从美国回来创业或开办中国研发中心的老板,对于这一点都深有体会。

有个事实,即高水平的工程师即使在中国,他们能得到美国同等水平工程师的薪水的一半以上,甚至和美国的工程师一样多。如果你理解了世界是平的这个道理,就不难接受我这个观点,人才在国际间、内外企之间的流动变得不再困难的事实,应证了上述事实。仔细调查就会发现,外企高级的软件工程师其薪资大概就是这样的比例。

反对我观点、不承认上述事实的人,有一个很著名的论据,那就是为什么会有软件外包存在?外包看中的不就是中国软件人才的成本低、水平高吗?是的,外包的目的是为了节约成本,这一点毫无疑问。但是,问题是他们节约了多少成本?在Compositesoftware工作的徐先生,是我2001-2004年在美国工作时的上司,2006年,他在北京创办了Compositesoftware中国研发中心,任总经理的徐先生对此深有感触。他告诉我Compositesoftware雇佣中国本地的工程师,工程师的薪水平均在3万美元左右,和美国的10万美元年薪相比,看似节约了70%的成本,但实际上没有。一是因为凭这些工程师的技能在美国也最多只能拿到7万元年薪,这样一来只节约了57%。但他们英语沟通能力不够,需要花比较多的时间理解和表达,沟通成本增加了,节约的成本只在50%以下。更为严重的是,在中国研发中心里,工程师缺乏架构设计、测试设计、研发管理人才,中国研发中心承担的都是编程和测试等相对比较低级的任务,高级的架构设计、测试设计任务均在美国完成。我在美国工作的那家公司在上海也设立了研发中心,在技术水平、研发经验、理解沟通上都存在很多问题,他们能承担的是已经设计好的软件编码和测试工作,即使这样质量也打了很大折扣。一位从美国Standford硕士毕业的Michael Bu先生在2003年加入了上海研发中心,他给我留下的印象最深。他拿到的薪水是上海本地工程师的2-3倍,但是他的出色的表现让我深感他是值这个价钱的。记得有一次,我要上海几个工程师配合我完成一项任务,其中也包括Michael Bu,第二天,他们通过邮件将结果发给我,结果只有Michael Bu一人按照我的意思比较圆满地完成了任务,其他人都没有很好地完成,他们要么没完全理解我的要求,要么做工不细,提交的只是半成品。耽误了时间,造成了浪费。我的另一个接欧美外包的朋友 Sunny告诉我,外包只有在要求非常明确、任务简单且描述清楚的情况下才可能成功。高端的端到端式(End to end)的外包,在中国很少有公司胜任。这大体上就是外包的现状。

中国的人力成本确实比美国的便宜,但绝对不是1:7的关系,最多是1:2的关系,如果美国研制一款软件产品需要1亿人民币的话,我们也至少要花上3500万元。反观我国的软件研发投入,离这个数字差得太远了。

 

2.2软件是智力产品,加班熬夜就能节约成本

 

加班熬夜确实是软件行业的一大特点,很多时候靠这样做来赢得时间,以此节约成本。

但是,人们普遍没有体会到的是,正是因为软件产品是“软”的,是逻辑产品,它的质量、内部构造是很难看得出的;做出一个可以演示的东西是很容易的,满足一定质量要求却是很难的。误将原型当产品,是我们很多人常犯的错误。

也许你和我一样,听说过类似这样的故事,2001年前后,ERP盛行,几个人凑在一起开发ERP软件,预期售价是几万元一套。事实证明,这似乎是在开玩笑。我真实地看见过,几个人投入几百万元XML数据库产品,也见过十来个人甚至几个人做防火墙产品,不用想也能知道,这必将招致失败。

原创粉丝点击