到印度取经
作者:雷军,写于2001年
去印度前,我只知道印度有瑜咖,是人口大国,比较穷,最近几年内乱不断。出发前,听说印度地震后瘟疫流行、组织者要求我们去打了霍乱预防针,给我们很大的思想压力;后来还听说有人带了半箱方便面,不准备吃印度饭了。这样,对于去印度大家多了些“深入虎穴”的历史使命感。
由于印度软件业发展迅猛,作为中国同行,我还是非常希望能亲眼看看。这次去印度考察是北京市软件行业协会组织的;参加者主要是做系统集成和企业应用软件的公司,通用软件公司的代表有金山和翰林汇。
我们2月23日出发去德里,然后去印度的硅谷班加罗尔,3月3日回到北京。印度是我们的近邻,我以为会比较近便,但不知道为什么,没有直飞的飞机。2月23日上午,我们从北京出发,飞了3个多小时到香港,等了几个小时后,登上赴德里的飞机。飞机是印度航空公司的,比较旧,一进机舱,一股强烈的咖哩味道令人非常不舒服,而且坐得非常满,再加上有人抽烟,6个多小时的辛苦尤可想知。到印度时,已经是当地时间晚上九点半了。路上,我一直想着唐僧西天取经的故事。其实我们费这么大的劲,也是去印度取软件发展的经,越想越觉得去印度的确不容易。
感受印度
德里(Delih)是印度的首都,旧德里是旧城,新建的部分就在老城的边上,叫新德里。这样建设的方式有助于保护文物和旧城风貌。导游介绍德里有1300多万人口,300多万辆汽车,听上去和北京的规模一样大。我们住在凯悦饭店,这个饭店是新盖的,环境非常舒服,但比较偏僻。出了门不远处,有一大片垃圾堆模样的东西,走进一看,是住人的窝棚,特别矮,棚上盖着一堆废弃的帆布,这就是印度贫民住的地方。这个贫民窟和五星级饭店形成了鲜明的对比。
9天的行程中有一天是观光,按计划安排是去参观泰姬陵,是国王为王妃盖的行宫,泰姬陵是世界上非常有名的建筑,相当于北京的长城。但参观这个地方需要早上4点钟起床,坐印度恐怖无比的火车3个多小时,再坐1个多小时的汽车,才到那个地方,这样看一趟,回来的时候就到了晚上12点。我没有去,在德里市内看了看,收获也比较大。
德里的街道比较窄,一般是双车道。车小,而且比较旧。令我不解的是,路边经常有人小便。街道边上有很多人站着,终日无所事事。当然,印度也有世界一流的豪华酒店,城市绿化比较好。有的地方,在楼上看过去,楼宇星星点点地座落在四处,非常有意境,有点像城市建在森林里。德里也有像天安门一样的地方,非常非常漂亮,如国会大厦、总统府、印度门等地方。在那里,你感受不到病穷和落后,而是一个文明古国的气度。后来到了印度的硅谷班加罗尔,就感觉城市比较干净、漂亮,比德里好。
我一直以为印度是佛教国家,但没有看到任何寺庙。后来才知道,80%以上的居民信仰印度教。看来佛教传到中国后,在印度反而衰落了。印度的风俗比较怪的是用手抓饭吃,摇头表示同意。印度官方语言是英语,但有些音不太准,比较难懂。听说印度理工大学是世界一流的大学,我们去的时候是星期天,车进不去,我们就在外边逛了逛。大家闲了一些印度理工大学的情况,这个学校难进,也难出,只有25%的人能毕业。该校淘汰学生,不是一个人一个人地淘汰,而是一个小组一个小组地淘汰,这样,每个小组成员必须要有团队意识,才能生存下来。难怪印度工程师在硅谷非常抱团,哪怕印度各个民族并不团结。在印度,好几次看到了康佳的广告,我们感到自豪。总体来看,印度比中国落后10年以上。
软件大象国
在德里(Delhi),我们参加了印度软件大会,也拜访了Tata infotech、interra等公司。在班加罗尔,我们参观了Infosys、Tata Elxsi、sunita等软件公司和软件园区。再次返回德里后,我们参加了知名CMM认证中心QAI的一个培训会。时间安排得非常满,有三四天都是清晨五六点起床就出发的。
整个过程我们拜访了10多家公司,总体感觉印度软件公司比较相像,大体是个软件工厂,几乎什么活都可以干,如ERP、CRM、电子商务等,能适应任何机型、任何程序语言。其中APTech公司和北大青鸟合作,已经把他们的培训课程引人中国。但遗憾的是,接待我们的大多是营销负责人,希望从我们这里找到订单,这让我们非常狼狈。

在世界上比较出名的印度公司是infoys,它也是第一家在Nadsaq上市的印度软件公司。Infosys发展势头比较猛,市值一度高达450亿美元,目前跌了不少,市值也在100亿美元以上。该公司2001年营业额估计有2亿多美元,纯利率高达33%。1981年一个工程师借了他太太150美元,和6个伙伴开始创业,1994年300多人,2000年初4500人,现在9500人。infoys在班加罗尔有七八栋楼,比美国硅谷任何一个大公司都不差。该公司很早就通过了CMMS和ISO9001论证。接待我们的是其创始人之一,他来过中国,但对中国政府对于软件行业的支持力度表示了长达45分钟的批评。
在印度,无人不知Tata集团,因为它实在太有名。Tata集团是印度最大的集团公司,有120多年历史,年营业收人100多亿美元,27万雇员,占印度股市价值的8%,业务跨越了钢铁、汽车、发电等行业,软件方面也毫不示弱。听说TCS(tata consult-ing software)有1.5万人,是印度最大的软件公司。
我们参观了TATA集团所属的两家公司:Tatal Elxsi和Tata Infotech,其中Tata Infotech有4000多人,年营业额12亿美元。但给我印象更深的却是Tatal Elxsi,
Tatal Elxsi公司850人,年营业额4500万美元。该公司和其他公司非常不一样,他们技术力量比较强,能够涉及通信、视频处理等领域,还可以设计主板、芯片组等。他们和深圳的华为集团有过合作。TataElxsi公司1997年通过iso9001认证,2000年6月通过CMMS认证。听他们介绍,华为1998年派到班加罗尔两个人,现在已经有了30多人,其中70多人来自中国。看来,华为是一家非常有远见的公司。
班加罗尔城市环境的确适合软件公司发展。这里的软件园区建设世界有名,主要特点是虚拟园区,没有实际的地盘,只要做软件,在那里登记就可以。他们为了国际合作,很早就建设了世界一流的IDC(nItemet数据中心),保障了和欧美联系的渠道。一进人这里,随处可见四个时钟,其中有美国东部时间和西部时间,充分显示出印度软件业的国际化感觉。印度软件业年产值40多亿美元,超过100人的软件公司上百家,前五位的公司有Tata Consulting System、Wipro、HCL、Infosys和Tata InfoTech等,基本只做软件开发,相当有规模,大约都在5000人以上。

印度为什么?
大家最关心的问题在于:印度软件业怎么发展起来的?印度软件业为什么会比中国软件业发达?1991年,印度政府发布文件大力扶持软件行业,引发了印度软件行业的一场革命。软件业的产值最近10年增长了10倍,从4亿美元上升到40亿美元。而中国的统计数字表明软件产值达到了230亿元人民币,表面上看和印度差距不大,但我们这个数字中包含了太多的系统集成的硬件销售,实际上差距要大得多。我觉得,下面几个方面是值得我们深思的:
政府支持
政府支持是印度软件业发展的导火线。InfosyS有关人员告诉我们,从1991年开始,印度政府对软件行业实施零税赋和放手发展的自由经济法则,政府出面建设了IDC等非常先进的基础设施。我国政府去年才颁布类似的支持文件,比印度晚了10年,而且支持力度也不如印度。英语国家印度官方语言是英语,所以,他们非常容易进人欧美市场。这是他们的独特优势,是我们无法比拟的优势。但是,进人日本、韩国市场的时候,印度的这个优势就不明显了,相反,我国有很多地方韩语、日语有很好的基础,而且地域上也比较近。或许我们应该考虑进军日本、韩国软件市场。
人才培育
一直以来,我们都在宣讲,中印两国都有丰富的人才资源。但我国最缺的是有10年经验的工程师,这导致我们可能需要花费更长的时间赶超印度。在印度,包括在美国,我见到的项目经理都是三四十岁的人,他们“越老越值钱”,有些人甚至拥有超过20年的行业经验。国内的情况大不相同,项目经理和部门经理都是工作两三年的人,有值得骄傲的年轻,但缺乏太多的宝贵经验。这会大大影响我们国家的软件行业发展速度。如何改善这一点,我觉得只有仰仗时间和高强度的培训。
重视管理
印度软件公司非常重视管理,通过ISO和CMM认证的公司数目惊人。比如美国卡内基梅隆大学1993年研究软件工程的成果提出的CMM认证,分五级,主要用于改善软件公司的管理。目前,世界上通过四级以上认证的公司只有70多家,印度占了42家。而我国刚刚开始推行此项认证,金山公司准备今年年底通过CMM两级论证。国内软件公司达到印度的管理水平,估计需要五到十年的努力。
参观印度软件公司,非常明显的一个感觉是“软件工厂化”。在印度,软件开发流程的控制可以精确到巧分钟,软件生产简直就是工业流水线。程序员加人一个公司很长时间,可能根本不知道整天编写的代码是干什么的,他只管完成自己的程序和文档。尽管印度软件业因此招致很多批评,比如缺乏对人的重视等等;但是,印度软件公司以最经济的人才梯队配置,哪怕是用很差的工程师,也一样能写出很高质量的程序。要知道软件产业的发展绝对不是靠少数聪明人就行的,一定是要千百万软件工程师共同努力。什么时候中国出现了万人规模的大型专业软件企业,中国软件行业才真正有了规模。政府必须扶持一批软件企业先过管理关,长成大企业,带动小企业。
印度软件业的重点是行业应用软件,他们视产品质量为生命线,而且非常重视客户管理。不像我们国内的情况,不仅软件公司不成熟,客户的成熟度也成问题,致使很多系统集成软件品质低劣,大面积浪费。
开放性
硅谷有50%的工程师是印度人,而且印度人非常团结,英语又好,在硅谷时间长。这样,很多印度人在美国大公司中身居高位,比如,Hotmail就是几个印度人创立的,后来卖给了微软。这样,对于印度软件公司承接美国订单有相当大的好处。我们要想发展出口加工型软件,除了改善管理外,还要解决一个致命伤,就是要有懂国际市场的抢订单的人才,这一点不容忽视。
印度公司怎么看待中国同行,又如何看待中印两国之间的竞争呢?令我们非常难受的是每个接待我们的公司都问:你们来印度的目的是什么?我们实在无法回答,因为我们是来学习的,或者叫作偷师的。印度软件业也意识到中国及亚太国家是印度软件业潜在的最大威胁。但印度公司认为,合作大于竞争。因为中印都是东方国家,文化比较相同,可以共同合作振兴亚洲经济;印度的软件业是完全外向型,主要面向欧美市场,他们也希望进人中国市场;而且,中国还有可能和印度一起开拓日本、韩国的市场。到美国硅谷,满眼都是知名的厂商,你更多地感受到自己的落后;而走一趟印度,虽然也看到差距,但你更多地会鼓起信心,激发起斗志。所以我认为,我们还是大有希望的。
印度是一个比中国贫穷的国家,软件业也只是最近10年发展起来的。我们的教育水平总体好过印度,我们有很大的国内市场,我们当然有机会超过印度。更让我激动不已的是,infoys在6年前也只有三四百人,和今天金山公司的规模一样大,只用了五六年的时间它就发展到了接近一万人;或许金山也有机会用5年到10年时间发展到这样的规模。不论如何,必须先树立这样的目标,我们才有可能赶超印度的软件业。
以管窥豹:中印软件开发之比较
在工作中接触到印度软件公司开发出来的软件: 整个体系架构非常清晰,按照我们的要求实现了全部功能,而且相当稳定。但打开具体的代码一看,拖沓冗长,水平不咋样。可能多数印度程序员的水平才民低,但是,印度人能够把软件整体把握得很好,能够完成软件,并得到相当好的设计文档。这才是最重要的!
印度公司做软件总是先好好进行软件分析,而不是一拿到任务就啃次啃次写代码。几位同事在一家CMM4级的印度软件公司工作了一段时间,感受如下:
流程重于项目;
QC(就是QA)独立于研发部门,专门检查研发部门的开发流程是不是按照既定流程走。如果QC觉得流程不对他会直接上报高层,项目就此停止; 多数项目经理(Pc)是从编码人员升上来的,一般都至少有4年以上的经验;
PC主要就是制定开发计划,负责协调,填写各种表格;所有的东西(包括草稿)都有文档;
详细文档要求达到有了这个文档就可以编码的程度,一般写文档时间占60%,编码时间极少;
有各种详细的review(同行评审),包括项目组内的,项目组之间的,以及客户的;
计划很详细,的确能达到小时级,但与实际情况还是有较大误差,所以他们也有加班。
以下几点值得一提:
印度软件教育整齐划一
我们招聘印度人,给应聘者出了一份与国内差不多的试卷,有基础概念和编程题目。等到他们答完一看,我们这些中国的自认高手都惊呆了!他们的编程题目简直像是抄袭的:程序结构、注释、变量命名等等全都极其类似! 反观中国的程序“高手”,每个人都有自己的一套,还说“这样有创造性”。
项目经理可以不懂技术
中国的项目经理如果不能在技术上压服下属,那么下属将与他搞鬼,越是高手越喜欢搞鬼。而印度许多软件经理可以不懂正在做的东西,许多人是MBA或者是领域专家(工业设计、地理专家等),但他们却能够领导大群训练有数的程序员把工作做好,没有内部不团结的情况。
编程人员的流动率达到30%
印度软件公司的编程人员流动率(包括内部项目之间的流动)高达30%,可以想见他们的文档水平如何。他们的产品不依赖任何一个人,谁都可以立即辞职,但产品的开发还是会正常进行。而国内的情况是:老板怕总工或技术骨干拥兵自重,抗拒管理,任何制定好的计划,都有可能被技术人员推翻或者跟你消极怠工。
开发计划和控制力求精确
如果印度软件公司的一个项目经理没有上班,那么他的下属将可能根本不知道要作什么。他们的计划一般都定到天,每个基层开发人员每天的工作量就是8小时。而我们能够给出月度计划的公司就很少,而给出的月度计划也总是不可能实现;开发人员往往被粗略定个任务,月初或月中慢慢琢磨磨,到了月末才熬夜编码