找回密码
 注册
美国原生IP服务器推荐-Yv.gs
【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 234|回复: 0

"无知者无畏"——中国程序员和印度程序员的对话

[复制链接]
发表于 2011 年 11 月 27 日 15:21:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
一个在美国IBM工作过2年,在印度公司工作了4年的项目经理与我司资深软件开发经理有这样一段对话。   Q0 P! h# {7 J9 [
  t2 j5 K* y) h+ I
    印方经理问:"你们每月生产多少行代码?" 0 V6 G- O1 H  L3 g4 z% I
    我方经理掂量了很久,谦虚地说:"人均代码1万多行吧,不到2万行"。
" [9 Q/ b4 j* u- \$ V2 `; g    印方经理听后,眼睛瞪得圆圆的:"喔!你们已经远远超过国际最高水平了。" 5 _+ ~, @* e& r- J& u! r. v5 J
    我方经理惴惴不安地反问:"你们的呢?" ! j/ A4 `% `# }  Q! r
    印方经理很认真地回答:"我们公司目前的效率为每人每月300行。" : L% N/ t. m2 b5 y0 R' f
& s1 ]7 n# c+ y& X8 n
    这是一个真实的故事,我想换了其他人(包括以前的我)也会给出同样的答案。
( K9 t  k  L" z
: K3 q4 M* J+ `    为什么与软件大国有这么大的差距呢?
. d3 a" F3 t/ t: {) V* Y0 _9 q" b3 w
, E5 N' ?7 |3 \* H; z; @; S- B- g3 O    首先我们没有生产率的概念。大多数人是这么算的,一天编400行-500行代码还不是小菜一碟。一个月有30天,这样每月1万多行还不是轻松搞掂? 1 S( x: W# u. @! f1 n) n- v' j

- C  m, N0 n* v5 B1 m- O    殊不知,这个伟大的假设有两个致命的错误:第一、没有考虑需求分析、概要设计、详细设计、单元测试、集成测试、系统测试的时间,也没有考虑文档的时间,甚至都有可能不知道有这些过程。
- e- d0 t6 O* X2 ?& X; f
. [/ x+ P5 `8 A9 C    这不是笑话,试问:我们有需求分析吗?我们有单元测试吗?我们有编程规范,但我们遵守了吗?
5 U& s) f" ^* q8 k& `9 H( H- |8 F$ T; }8 p; E, @# y/ D3 U1 Q
    我们的代码花花绿绿,风格千奇百怪――
4 ?, }) q; U' \" w, c' Y0 R, N) _0 }8 z
* a+ h# {+ [/ Y6 e! X" ~" h  a    我们不是有"开发完了,还没有设计文档的经历"吗?/ O# x& g6 V+ ~, q' P) E

5 e$ _# r$ n9 ]( _/ f* N. y    我们不是有"要转中试了,所有人才开始埋头苦干写文档"的经历吗?
# g5 Q" [' t! P2 v; P" c( q+ \- ~' l* F- O% ^
    我们不是有人在文档中写过,"该软件对人畜没有伤害"吗? % n. T/ n* D& q/ y5 n( j. J* x
& M! M. b7 D. a) W) e
    当然,我们更不可能想到有review的时间,根本考虑不到质量控制? # {# f6 l3 ^$ m3 [/ [4 `9 O# M( p

% N/ A. s- f4 N+ O1 [; S$ l; O& O, U( F    我们最熟悉写程序、系统测试、维护,其他的都是多余。这是典型的小公司游击战的做法,一个人搞一个小软件,不需要任何流程,没有任何质量体系,除了写代码,测试以外,什么都不需要,非常自由,自以为"牛得不行",这很easy,那很容易,"管理是罗嗦,流程是麻烦",但实际的结果是什么样大家都知道。 0 ?& b. a+ E# P9 `  q
+ W" J/ ^0 Z9 Q, a; |8 J0 u* T/ J
    第二、一天能写400-500行代码,并不表示,你平均每个月能写12000-15000行代码,道理很简单,一个人100米速度是12秒,并不表示他的3000米速度是6分钟。我们不是机器人,写软件需要思考,写嵌入式软件尤其需要质量。
- b9 q; c6 Z( t2 e( U+ _' ^4 N& z% x/ u5 h" h2 @, I6 ]5 k
    印度工程师是人,中国软件工程师也是人,我们的代码生产率与水平能高到哪里去呢?正如大家都是凡人,你突然说你比子弹还快,一蹦3层楼高。
. ?1 X  k' @3 n3 Y" f8 i% O9 w. U5 ^  O* J9 _5 A# P1 z' O
    这真是"无知"者"无畏"? 7 q! k0 c; c3 M  R$ {0 I
# k3 N: O4 a9 s- P/ f
    其实我们的生产率很低,自己不觉得罢了,很多人并不相信我司的公开数字――月产代码才120行?如果算一算所有的人力,所有阶段的时间,我们就不会惊奇这个数据了。不信的话,我们拿一个产品算一算!或许我们的经理自己都不知道在这个产品投了多少人力。华为有职业化的软件开发管理人才吗?目前几乎没有,或许我们真的有月产2万行的编程高手,也有很多自以为能写2万行代码的"泡沫"高手,但我们没有真正专业的软件人才! " W, o. p1 h! C- [0 R/ Z4 ]. h6 ~
. \6 A$ V: x: a6 @, E6 y" @
    目前我们公司的销售情况很好,卖得很火。但这是项目开发成功了吗?不是,可能更多的是市场的成功,以及产品预研立项人员的成功。生命周期内还要花那么多维护费用,这怎么能算成功?如果我们造飞机,我们可能自己都不敢坐。衡量项目成功的标准与要素是什么?很多人并不知道。印度发展最快的Infosys公司告诉我们:衡量项目成功的标准是"质量、成本与进?quot;,达到这一目标的重要条件是"流程、技术、人"。
+ _) |. W8 S* Y7 V- W! y. E
$ i8 }% y0 ]5 D# V0 }    我们做计划时,只有进度,或许会考虑一下成本,但从来没有考虑过质量。我们知道项目开发的质量活动是什么吗?我们不知道;我们知道我们的质量目标吗?我们也没有;我们知道如何控制我们的质量吗?我们没有干过。 + a  u1 ?' z) N" X' d

$ Y' B' \2 |4 M+ @- I  k    所以我们才无所畏惧,百折不饶。但如果我们知道"折"一次要花100万,我们还会无所畏惧地"百折"吗?再回头看看一些业界标准:某印度合作公司通过了CMM5级,联合开发项目的生产率为每月400行。其中编码阶段,印度工程师每天可以写200至900行代码。 ( W- h5 {, u1 `  m% B+ I; m
在4个月的联合开发过程中――
, y8 Z1 \$ @2 ^9 V( I$ i* L  W8 X: I4 u: T0 |2 H
    在编码速度上,我方优秀工程师与对方差不多,但别人教会了我们如何保证代码规范以及编程风格的一致;
9 p9 T/ B% h6 @- ], \    在阅读协议标准方面,对方的速度是我们的4-5倍;
4 b! c( Q( ]% O: X    在设计方面,对方有明显的优势; 5 U# W* |# C; @6 L. S
    在质量控制,我们与他们就没有办法比较了; 2 {; W4 i" w3 Q6 X
    在预测方面,对方估计工作量为36人月,我方估计为22人月,实际数为35人月。
  O+ Y' e% R9 h) t* c- o" a% C    通过对比,我的结论是:我们富有,因为我们有很多bug;我们快速,因为我们没有质量体系。
9 B7 H7 F1 |: g8 v9 C8 i& @. I( J3 r    有些人还以为―― " X, d, h1 ~  e" J
    会使用配置工具sourcesafe,就知道什么是配置管理; 5 V  y2 L# ?, |' e2 R% g
    会画CANTT图/PERT图,就知道项目计划是怎么回事了;
8 T2 N* @/ ~! t( A6 N0 D    填一下表格就是管理;
' s  }+ L  A  h6 I: @0 R    吃一顿饭就是沟通。
) w* U  [# ?6 C9 H
! b% c" D$ X1 N" j7 d    没有对质量整体的认识,不了解其为什么这么做,大家就根据自己的过去经验"理解"、"推测"、"认识"别人,有这么巨大的认识差距就不足为怪了。
) [, j. b5 j+ v) C& B, A8 B: p* d( `. F3 C* R
    目前,公司在质量体系方面的培训与推行力度的不断加强,印度所经验的不断推广,在很多方面,如流程建设、预测、质量控制、度量系统,我们已经初步了解该怎么做。但我们还要不断地宣传、不停地松土,让所有的人承认自己无知,只有这样,我们才能由"无知"变为"有识"。
* K4 y& @1 }/ J' l4 D& i( f2 t+ o* c( o9 X0 T+ z! S8 J
    "艺低人胆大",今后,我再也不想听这种大胆的豪言壮语:“我们每月代码1万行"! 6 `9 q2 ~% P/ u, E$ o7 U
7 f# |2 T; v! I1 p5 v
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

美国原生IP服务器推荐|Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 1 月 23 日 10:45 , Processed in 0.025354 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表