原创 印度程序员与中国程序员的区别

2012-6-25 14:58 1657 20 21 分类: 工程师职场

一个在美国IBM 工作过2 年,在印度公司工作了4 年的项目经理与我公司资深软件开发经理有这样一段对话。

印方经理问:"你们每月生产多少行代码?"
 
我方经理掂量了很久,谦虚地说:"人均代码1 万多行吧,不到2 万行" 。
 
印方经理听后,眼睛瞪得圆圆的:"喔!你们已经远远超过国际最高水平了。"
 
我方经理惴惴不安地反问:"你们的呢?"
 
印方经理很认真地回答:"我们公司目前的效率为每人每月300 行。"
 
这是一个真实的故事,我想换了其他人(包括以前的我)也会给出同样的答案。
为什么与软件大国有这么大的差距呢?
 
首先我们没有生产率的概念。大多数人是这么算的,一天编400 行-500 行代码还不是小菜一碟。一个月有30天,这样每月1万多行还不是轻松搞掂?
 
殊不知,这个伟大的假设有两个致命的错误:第一、没有考虑需求分析、概要设计、详细设计、单元测试、集成测试、系统测试的时间,也没有考虑文档的时间,甚至都有可能不知道有这些过程。
 
这不是笑话,试问:我们有需求分析吗?我们有单元测试吗?我们有编程规范,但我们遵守了吗?
我们的代码花花绿绿,风格千奇百怪――
 
我们不是有"开发完了,还没有设计文档的经历"吗?
 
我们不是有"要转中试了,所有人才开始埋头苦干写文档"的经历吗?
 
我们不是有人在文档中写过,"该软件对人畜没有伤害"吗?
 
当然,我们更不可能想到有review 的时间,根本考虑不到质量控制?
 
我们最熟悉写程序、系统测试、维护,其他的都是多余。这是典型的小公司游击战的做法,一个人搞一个小软件,不需要任何流程,没有任何质量体系,除了写代码,测试以外,什么都不需要,非常自由,自以为" 牛得不行",这很 easy ,那很容易,"管理是罗嗦,流程是麻烦",但实际的结果是什么样大家都知道。
 
 
第二、一天能写 400 -500 行代码,并不表示,你平均每个月能写 12000 -15000 行代码,道理很简单,一个人 100 米速度是12秒,并不表示他的3000米速度是6 分钟。我们不是机器人,写软件需要思考,写嵌入式软件尤其需要质量。
 
印度工程师是人,中国软件工程师也是人,我们的代码生产率与水平能高到哪里去呢?正如大家都是凡人,你突然说你比**还快,一蹦3 层楼高。
 
这真是"无知"者"无畏"?
 
其实我们的生产率很低,自己不觉得罢了,很多人并不相信我司的公开数字――月产代码才120 行?如果算一算所有的人力,所有阶段的时间,我们就不会惊奇这个数据了。不信的话,我们拿一个产品算一算!或许我们的经理自己都不知道在这个产品投了多少人力。华为有职业化的软件开发管理人才吗?目前几乎没有,或许我们真的有月产 2 万行的编程高手,也有很多自以为能写2 万行代码的" 泡沫"高手,但我们没有真正专业的软件人才!
 
目前我们公司的销售情况很好,卖得很火。但这是项目开发成功了吗?不是,可能更多的是市场的成功,以及产品预研立项人员的成功。生命周期内还要花那么多维护费用,这怎么能算成功?如果我们造飞机,我们可能自己都不敢坐。衡量项目成功的标准与要素是什么?很多人并不知道。印度发展最快的Infosys 公司告诉我们:衡量项目成功的标准是"质量、成本与进?quot; ,达到这一目标的重要条件是"流程、技术、人"。
 
 
我们做计划时,只有进度,或许会考虑一下成本,但从来没有考虑过质量。我们知道项目开发的质量活动是什么吗?我们不知道;
 
我们知道我们的质量目标吗?我们也没有;我们知道如何控制我们的质量吗?我们没有干过。
 
 
所以我们才无所畏惧,百折不饶。但如果我们知道"折"一次要花100 万,我们还会无所畏惧地"百折"吗?再回头看看一些业界标准:某印度合作公司通过了 CMM5 级,联合开发项目的生产率为每月 400 行。其中编码阶段,印度工程师每天可以写 200 至900行代码。
 
 
在4 个月的联合开发过程中――
 
在编码速度上,我方优秀工程师与对方差不多,但别人教会了我们如何保证代码规范以及编程风格的一致;
 
在阅读协议标准方面,对方的速度是我们的4 -5 倍;
在设计方面,对方有明显的优势;
在质量控制,我们与他们就没有办法比较了;
在预测方面,对方估计工作量为36人月,我方估计为22人月,实际数为35人月。
通过对比,我的结论是:我们富有,因为我们有很多bug ;我们快速,因为我们没有质量体系。
有些人还以为――
会使用配置工具sourcesafe,就知道什么是配置管理;
会画CANTT 图/PERT 图,就知道项目计划是怎么回事了;
填一下表格就是管理;
 
吃一顿饭就是沟通。
 
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1676710 2014-12-29 09:31

说白了,都是代码搬运工
相关推荐阅读
用户1647523 2018-01-09 16:09
教你如何通过MCU配置S2E为TCP Client的工作模式
在上两篇文章中分别讲述了通过MCU配置S2E为UDP、TCP Server的工作模式”,相信小伙伴们已经对S2E的基本功能了解了一些,现在就让我们再接再厉、更上一层楼吧:首先我们先了解一下MCU与S2...
用户1647523 2018-01-09 15:53
教你如何通过MCU配置S2E为TCP Server的工作模式
在上一篇文章中讲了“如何通过MCU配置S2E为UDP模式”,相信小伙伴们已经了解了S2E的基本功能,在这一篇中,我们再接再厉,继续学习一下“如何通过MCU配置S2E为TCP Server的工作模式”,...
用户1647523 2018-01-09 14:44
教你如何通过MCU将S2E配置为UDP的工作模式
​​W5500S2E-S1是一款工业级串口转以太网模块,支持TCP Server、TCP Client和UDP三种工作模式,串口波特率最高可达1.152Mbps,并提供配套的上位机配置软件,也可通过网...
用户1647523 2015-12-09 13:53
第四届韩合集成电路技术交流会成功举办
2015年12月2日,第四届韩合集成电路技术交流会在WESTIN酒店深圳世界之窗店顺利举办。本届交流会与会嘉宾主要是韩合集成电路项目的主要领导、驻在深圳的9家韩合IC企业以及相关企业代表,主要围绕...
用户1647523 2015-12-09 13:46
第四届韩合集成电路技术交流会成功举办
2015年12月2日,第四届韩合集成电路技术交流会在WESTIN酒店深圳世界之窗店顺利举办。本届交流会与会嘉宾主要是韩合集成电路项目的主要领导、驻在深圳的9家韩合IC企业以及相关企业代表,主要围绕...
用户1647523 2015-10-16 14:47
WIZnet芯片在智能家居市场的应用
2014年是智能家居和可穿戴设备集中发力的一年。传统家电厂商、互联网企业和智能终端企业都虎视眈眈的盯着这个巨大的蛋糕,初创企业也借助各种众筹平台将自己的新奇创意转换为实际产品并推进市场,各种智能家...
我要评论
1
20
关闭 站长推荐上一条 /3 下一条