九星论坛


标题: [转帖]中国与印度软件开发之比较
白羊座 帅哥不在了 :-( commander
红巨星
Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5



精华 3
积分 28796
帖子 2016
经验 2559 点
威望 0 点
星币 2050 ¥
恋人 单身
门派 没有门派
阅读权限 50
注册 2002-12-21
第 1 楼
 
发表于 2006-12-29 12:22  资料  个人空间  短消息  加为好友 
[转帖]中国与印度软件开发之比较

我在工作中,接触到印度软件公司开发出来的软件: 整个体系架构非常清晰,按照我们的要求实现了全部功能,而且相当稳定。但是打开具体的代码一看,拖沓冗长,水平不咋样。我们自己的一些程序员就有怪话了,说他们水平真低。但是! 印度人能够把软件整体把握得很好,能够完成软件,并得到相当好的设计文档。而中国人在那里琢磨数据结构、算法,界面人员就还没编码就想着是Outlook式的还是Visual Studio式的界面。到最后就成为Code 高手,对某些特定的开发工具精通,但是就是不能保证能够把一个软件稳当、完整的开发出来。

举个简单的例子: 软件中需要一个列表,用来表示我们处理的事务。该类表在业务繁忙的时候将变得很大。中国人就用双向链表,抱着《数据结构》书在那里写链表的类。印度人开了一个大数组,然后就开始干。为什么印度人不用链表,他们说:1、你们给出的设备(小型机),最少具备512M内存,浪费一些没有什么。2、数组方式访问方便、效率高。 看出了一拿到东西就吭哧吭哧作Code,和好好进行软件分析的不同了吗?正好前几天我有几个同事从印度回来和我们交流,那家公司是CMM4级公司.


我感受的几点: 1,流程重于项目 2,QC(就是QA)独立于研发部门,专门检查研发部门的开发流程是不是按照既定流程走.如果QC觉得流程不对,他会直接上报高层, 项目肯定就此停止. 3,所谓的项目经理(PC)一般也是从编码人员升上来的,并不是所谓的不懂技术,一般都至少有四年以上的经验 4,PC主要就是制定开发计划,负责协调,填写各种表格. 5,所有的东西(包括草稿)都有文档. 6,详细文档要求达到只有这个文档就可以编码的程度,一般写文档时间占60%,编码时间极少 7,有各种详细的review(同行评审),项目组内的,项目组之间的,客户的... 8,计划很详细,的确能达到小时级,但是实际情况还是误差比较大,所以他们也有加班.

先学习UML和Rose以及RUP,不要总是要找着证据。在中国的软件开发水平下,很难给你一个好的例子,OK?中国人总是要看到一个东西有了试验田,而且稻子长得好,才换稻种。要知道在国外上述的软件开发模式的应用,大可以看看Rational网页上的story。Just do it! 一句话,中国的软件开发水平低得很。赶不上印度人,印度的软件公司可以让高中生编代码,它的软件工程水平可想而知。当然,你如果是个很牛的程序员。估计够呛,因为中国的气氛中,很牛的程序员都很难接受软件工程的。

你可以测试一下自己, 看看自己适不适合现在学习软件工程:

1、你是不是不能忍受一个编程序不如你的人做你的项目经理?

2、你是不是觉得你的老板对客户吹牛皮、夸大自己而感到不舒服?

3、你是不是一个拿到一个需求脑袋里第一念头就是如何实现的人?

4、你是不是很崇拜Stallman,Linus,很讨厌Microsoft?

5、你是不是曾经在深夜编码的时候,突然感觉到一种乏味,对Code的生涯感到一种无趣?

以管窥豹──印度神话 作者:"Kino" 我们现在处于深深的自卑当中,感到中国的软件工程水平的低下已经是牵涉到民族劣根性的问题了。

1、他们的软件教育水平: 我们招聘印度人,给应聘者出了一份与国内差不多的试卷,有基础概念和编程题目。 等到他们完成后,我们这些中国的自认高手惊呆了!他们的编程题目简直象是抄袭的?程序结构,注释,变量命名就不说了吧,全部都是极其类似!反观中国的牛人、高手,每个人有自己的一套。到了新的岗位,先把前任的程序贬损一通,然后自己再开发更多的问题的代码来代替。我的公司统计,一个软件中有4个以上 CSocket版本, > 每个人都觉得别人做得差,自己再搞一套。中国人,就是这个样子,还会辩解说“我们这样有创造性”。 其实软件发展,早就走过了求伯君那个编码英雄的年代,程序员已经是个坐办公室的蓝领了。你具备拧好一个螺丝钉的能力就可以了。Code是最低级的事情了。

2、他们许多公司的项目经理根本就不懂技术。 中国的项目经理如果不能在技术上压服下属,那么下属将与他搞鬼,越是高手越喜欢搞鬼,根本不知道作软件的终极目的是从别人兜里掏钱,而在内部搞不团结。技术高手都会纠集一些对他技术上崇拜的菜鸟,与管理层作对。而印度的软件经理根本就不懂正在做的东西,许多甚至直接就是MBA,或者是领域专家 (工业设计、地理专家等),而不是编码的专家。但是却能够领导大群素质良好的程序员把工作做好,没有内部不团结的情况。许多印度的程序员加入一个公司很长时间,都不知道自己整天编的代码是干什么用的。给他们的任务可能就是一个函数的声明以及该函数要实现的功能。我们呢?

3、他们的编程人员的流动率达到30%! 他们的编程人员流动率(包括内部项目之间的流动)高达30%,可以想见他们的文档水平如何。他们的产品不依赖任何一个人,谁都可以立即辞职,产品的开发还是会正常进行。 而中国,是老板怕总工。技术骨干拥兵自重,抗拒管理。任何制定好的计划,都有可能被技术人员推翻或者跟你消极怠工。

4、他们的开发计划能够做到小时级别。 如果一个印度公司的项目经理没有上班,那么他的下属将可能不知道作什么。他们的计划一般都定到天,每个基层开发人员每天的工作量就是8小时。而我们能够给出月度计划的公司就很少,而给出的月度计划要么不可能实现,要么就可 能被取消。开发人员被初略的给个任务,他在月初,可以慢慢琢磨是做成什么样子,然 后上上网,聊聊天。到了月中和月末,就开始熬夜编码。 看到每年,从各大高校不尽牛人滚滚来,我们是不得不要召人,同时又是不抱希望。我 公司现在有意以后将核心软件开发外包给印度公司,中国人?做做界面吧,中国人做界 面会极尽奇技淫巧,搞得花里胡哨的。 BTW,我公司非外企,大家不要误会我们有什么种族歧视。但是我们现在就是对自己歧 视,自卑得很。中国的程序员骂微软,追Linux是全世界最狠的,可是我们除了汉化Linux,做了什么东 西出来。CDE是瑞典人写的,Linus是芬兰的,GNome是墨西哥人写的。哎,我们曾经是多么的瞧不起印度人。

[ 本帖最后由 commander 于 2006-12-29 12:27 编辑 ]





忆昔开元全盛日,天下朋友皆胶漆。 眼界无穷世界宽,安得广厦千万间。
顶部
帅哥不在了 :-( lsosa
初生恒星
Rank: 4Rank: 4Rank: 4Rank: 4
AV on linux


精华 2
积分 6446
帖子 599
经验 724 点
威望 -1 点
星币 638 ¥
恋人 单身
门派 没有门派
阅读权限 40
注册 2004-8-27
来自 BIT
第 2 楼
 
发表于 2006-12-29 13:33  资料  个人空间  主页 短消息  加为好友 
反思是没有问题的,可是因为反思就无意中贬低自己--妄自菲薄,就是一种不合理的态度了;
我这里说一下我的观点:
一、对于印度人的编码水平,以及上文提到的这种状况,得出的结论就是印度的编程人员只适合做编程,写代码,可是如果对于自己编写的代码是做什么的都不知道的话,那你写代码的目的是什么恐怕也不清楚吧,我想说的是,这种性质和意义上的coding,很快就会被自动化编程所代替,这没有什么可羡慕的,相反,我们更因该从宏观的角度去看待编码这个问题--编码只是解决问题的一个工具,一种方法,看透了只是一种带有技巧性的技能而已,而随着IDE的不断完善,UML的广泛使用,以后的软件工程就是简简单单的点几下鼠标既可以完成的了,那个时候,大部分程序员将无事可干;到时候你要做什么,想过没有那?
二、还是同样的,如果开发计划都可以定到天的话,那这种东西早晚会全部自动化,这只是个时间问题,可是,这里有一个前提,那就是要忽略软件开发中的一个隐藏的比较隐蔽、可又不能回避的问题--软件开发是带有创造性的;这也是为什么搞研发是不可能严格的将完成某个新功能限制在一个具体的时间段内完成的,这和天文学家什么时候可以发现一个同地球一样的星球不能用时间来限制是一样的道理;可以说,软件开发中的创造性,永远是软件工程所不能够完全限定的一个不稳定因素,也正是这种创造性,才使得在中国,代码编写被涂上了一层神秘的色彩,令人望而生畏,又想慢慢靠近;
三、对于中国人做做界面还行的想法,我个人极不苟同此意见,我想对中国软件只要有所了解的人是都不会同意此意见的;
我这里对中国和印度软件发展顺便说一点点自己的意见:中国和印度都是在向西方学习软件,学习计算机,但是我的看法是两国都没有学到两者的精髓--计算机文化,反而学习了皮毛的东西,马上乐的屁颠屁颠的开始软件开发,开始买卖软件,这几本上就是中印软件的现状;我这两天看了不少有关计算机起源、计算机发展,相关理论发展,以及计算机自由文化和商业文化两者在美国并行、分支并各自为政,并行存在同时发展的历史,感触颇深;可以说,中印都是从美国的广泛的计算机文化中继承了他的一个分支--计算机商业文化,而这又是因为两国的经济都处于腾飞状态,商业气氛浓厚,因此对于计算机的另一半文化--计算机自由的文化却少有耳闻,从历史发展的角度来说,这一点也是可以理解的,但是商业文化不是计算机文化的全部,随着两国计算机的飞速发展,以及两国人民心态开始从经济腾飞中平和下来(也就是熟悉了这种经济的腾飞),自有文化就一定会在两国生根发芽并茁壮成长的;偶个人很看好这一点;
扯的有点远,就是想说明中印都是在学习,大家都是在成长中的孩子,横向对比,没有任何意义,反而对双方都不利;对于计算机文化的两个完整的组成部分,不可强求其中某一个文化在什么时候什么地点生根,这是由历史来决定的,不是人力可为的,但这并不表明我们什么都不做,等着历史来给我们安排文化到来的那一天,那样的话,感觉天上掉馅饼也比这个想法真实;
另外,软件就是软件,跟民族劣根性没任何关系,两者联系到一起,真是自卑到一定程度了,呵呵。。。





新疆QQ群,欢迎大家光临__5886607__
my blog:http://blog.csdn.net/baymoon/

顶部
[广告]
帅哥不在了 :-( 新人
分子暗云
Rank: 2Rank: 2


精华 0
积分 1114
帖子 68
经验 261 点
威望 0 点
星币 81 ¥
恋人 单身
门派 没有门派
阅读权限 20
注册 2004-8-31
第 3 楼
 
发表于 2006-12-29 20:51  资料  个人空间  短消息  加为好友 
中国的软件水平确实有待提高
国内比较知名的软件公司的产品和国外的同类产品一比较差的还是很多啊

顶部
帅哥不在了 :-( lsosa
初生恒星
Rank: 4Rank: 4Rank: 4Rank: 4
AV on linux


精华 2
积分 6446
帖子 599
经验 724 点
威望 -1 点
星币 638 ¥
恋人 单身
门派 没有门派
阅读权限 40
注册 2004-8-27
来自 BIT
第 4 楼
 
发表于 2006-12-30 20:07  资料  个人空间  主页 短消息  加为好友 
差并不是我们的错,国外同类产品质量好,那是因为他们已经过了那个质量差的时候了,而且那时的市场允许他们差,因为他们没的选择;可是在中国不行,中国的软件如果比外面差,国内企业就会买外国的,这就无形之中提高了国内软件的生存的槛,导致中国小企业无法生存,于是就是目前这种状况了,小企业一两年倒闭,大企业苦苦挣扎。。。





新疆QQ群,欢迎大家光临__5886607__
my blog:http://blog.csdn.net/baymoon/

顶部


当前时区 GMT+8, 现在时间是 2009-1-8 01:43
京ICP备06069844号

Powered by Discuz! 5.5.0
Processed in 0.037226 second(s), 10 queries , Gzip enabled
Copyright © 2002-2008 北理九星
清除 Cookies - 联系我们 - Archiver - WAP