专注于技术经验交流

水至清则无鱼、宁静而致远!

技术、经验、学习共同打造.Net网络新生活!
欢迎光临我发你发一起发招商加盟网:http://www.5818178.com
posts - 70, comments - 103, trackbacks - 2, articles - 160
   :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理
一个在美国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图,就知道项目计划是怎么回事了;
填一下表格就是管理;
吃一顿饭就是沟通。
没有对质量整体的认识,不了解其为什么这么做,大家就根据自己的过去经验"理解"、"推测"、"认识"别人,有这么巨大的认识差距就不足为怪了。
目前,公司在质量体系方面的培训与推行力度的不断加强,印度所经验的不断推广,在很多方面,如流程建设、预测、质量控制、度量系统,我们已经初步了解该怎么做。但我们还要不断地宣传、不停地松土,让所有的人承认自己无知,只有这样,我们才能由"无知"变为"有识"。
"艺低人胆大",今后,我再也不想听这种大胆的豪言壮语:“我们每月代码1万行"!

Feedback

#1楼   回复  引用  查看    

2007-10-25 13:13 by 1-2-3      
复制粘贴的以及工具(例如codeSmith)生成的代码不应该算的。

#2楼   回复  引用    

2007-10-25 13:21 by 无畏者无知[未注册用户]
我们公司是以M(兆)来计算代码量的,具体方法是将代码中的注释去掉,然后保存为标准文本格式,在用RAR进行压缩,然后计算代码量是多少.

#3楼   回复  引用  查看    

2007-10-25 13:25 by 巫云      
一月才一万呢?不多了。一天整2、3K行是常事。
公司只要以最快的速度把code变成money。学人家搞
流程,也不管分工,需求+设计 +一大半开发+测试+实施
都交给你自己,然后给你一顶“项目经理”的帽子就算规范管理
了,流程再好没用,关键是公司的管理,公司的管理看什么?
关键看领导是不是在为公司打算,每个人上来就是想以最快的
速度拿出业绩来,最好的办法就是:我不管你们怎么干,只要
每个月我能看到比上个月多的回款,你们以后再维护,修改,
我能不能看见还不知道呢。

#4楼   回复  引用  查看    

2007-10-25 13:37 by xiaowy      
一天整2、3K行是常事。

#5楼   回复  引用  查看    

2007-10-25 13:37 by 老Q      
浮躁的中国软件,关键还是人太多了,拼命的压价
客户就给这么多钱,你花时间去测试写文档你还能赚钱?
站着说话不腰疼,等你是老板的时候,每个月去搞钱的时候就不这么想了

#6楼   回复  引用    

2007-10-25 14:04 by Midas[未注册用户]
楼主的文章直接道出了中国软件业的现状,特别是下面这两段。
----
这是典型的小公司游击战的做法,一个人搞一个小软件,不需要任何流程,没有任何质量体系,除了写代码,测试以外,什么都不需要,非常自由,自以为"牛得不行",这很easy,那很容易,"管理是罗嗦,流程是麻烦",但实际的结果是什么样大家都知道。
----
对方估计工作量为36人月,我方估计为22人月,实际数为35人月。
----

#7楼   回复  引用  查看    

2007-10-25 14:05 by 碎蜂      
--引用--------------------------------------------------
无畏者无知: 我们公司是以M(兆)来计算代码量的,具体方法是将代码中的注释去掉,然后保存为标准文本格式,在用RAR进行压缩,然后计算代码量是多少.
--------------------------------------------------------
以M(兆)来计算代码量不算什么的,我们公司是靠测量硬盘的增重来计算代码量的。

#8楼   回复  引用  查看    

2007-10-25 14:10 by 老刀把子      
--引用--------------------------------------------------
碎蜂: --引用--------------------------------------------------
无畏者无知: 我们公司是以M(兆)来计算代码量的,具体方法是将代码中的注释去掉,然后保存为标准文本格式,在用RAR进行压缩,然后计算代码量是多少.
--------------------------------------------------------
以M(兆)来计算代码量不算什么的,我们公司是靠测量硬盘的增重来计算代码量的。

--------------------------------------------------------
:)
每天下班前,都把硬盘拆到天平上称一下。

#9楼   回复  引用  查看    

2007-10-25 14:59 by Cure      
所谓的生产率,是在质量过关的情况下来算的,就算月产1,2万行,质量不过关,和0是一个效果。

#10楼   回复  引用    

2007-10-25 15:07 by mickeysuda[未注册用户]
--引用--------------------------------------------------
1-2-3: 复制粘贴的以及工具(例如codeSmith)生成的代码不应该算的。
--------------------------------------------------------
呵呵

#11楼   回复  引用    

2007-10-25 15:46 by 菜鸟e[未注册用户]
无知者无畏

这句话真恶心

装B到印度去

#12楼   回复  引用  查看    

2007-10-25 15:51 by 周行天下      
请以后不要发这样的帖子,不要鄙视我们程序员。因为你也是。大环境造就了我们这样。不要再争辩这个问题了。真的真的很无聊
!!!!!!!!!!!!!!!!!!!!!!

#13楼   回复  引用  查看    

2007-10-25 15:54 by ˇ┾落≠單_      
--引用--------------------------------------------------
碎蜂: --引用--------------------------------------------------
无畏者无知: 我们公司是以M(兆)来计算代码量的,具体方法是将代码中的注释去掉,然后保存为标准文本格式,在用RAR进行压缩,然后计算代码量是多少.
--------------------------------------------------------
以M(兆)来计算代码量不算什么的,我们公司是靠测量硬盘的增重来计算代码量的。

--------------------------------------------------------

牛的不得了.

#14楼   回复  引用    

2007-10-25 15:56 by 逍 遥[未注册用户]
哎,中国软件业是完了

我现在都快不敲代码了,基本都是^C,^V,无奈啊~~~

#15楼   回复  引用    

2007-10-25 16:04 by xht[未注册用户]
难道软件行业也要变成“具有中国特色的软件行业”?

#16楼   回复  引用  查看    

2007-10-25 16:08 by JerryGao      
好吧,我知道很牛
很好,很强大!

#17楼   回复  引用    

2007-10-25 16:31 by Leisang[未注册用户]
如果我们造飞机,我们可能自己都不敢坐。
----------------------------------------
这句话才道出了国内制造业的真谛。
为什么大家都爱买进口货?我想从软件行业就能看出点什么来。

可是似乎又不能怪到谁头上,老板为了赚钱,一个项目卖1万块,你难道真要花几个月去分析?

#18楼   回复  引用    

2007-10-25 16:35 by yet【梦凌】[未注册用户]
关键不在我们程序员,不在我们项目经理怎么想,关键在老板怎么想。。。。
反正他就这个IDEA,你实现它,最快最好,不管你用什么方法!
中国现在中小型软件公司太多了。。都是这种状况的,你能怎么做哦 ,还不是同流合污~~~~~
谁不想按照项目管理的方法去开发项目。。。

#19楼   回复  引用  查看    

2007-10-25 16:46 by 吾跃乾坤      
不错,我们需要反省,我们需要总结

但请不要看不起自己,给人的感觉你只是在抱怨自己是这其中的员

#20楼   回复  引用  查看    

2007-10-25 17:27 by a11s.net      
我们要写具有中国特色的和谐代码




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 937128




相关文章:

相关链接:
New Document