您的位置:首页 > 其它

中国与印度软件开发之比较

2006-07-19 22:31 344 查看
中国与印度软件开发之比较

(blueski按:本文综合摘自青岛技术创新网,武汉大学bbs和yesky,作者不详)

  我在工作中,接触到印度软件公司开发出来的软件:

  整个体系架构非常清晰,按照我们的要求实现了全部功能,而且相当稳定。但是打开具体的代码一看,拖沓冗长,水平不咋样。我们自己的一些程序员就有怪话了,说他们水平真低。但是!印度人能够把软件整体把握得很好,能够完成软件,并得到相当好的设计文档。而中国人在那里琢磨数据结构、算法,界面人员就还没编码就想着是outlook式的还是visualstudio式的界面。到最后就成为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?中国人总是要看到一个东西有了试验田,而且稻子长得好,才换稻种。要知道在国外上述的软件开发模式的应用,大可以看看rati do it! 一句话,中国的软件开发水平低得很。赶不上印度人,印度的软件公司可以让高中生编代码,它的软件工程水平可想而知。当然,你如果是个很牛的程序员。估计够呛,因为中国的气氛中,很牛的程序员都很难接受软件工程的。

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

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

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

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

  4、你是不是很崇拜stallman,linus,很讨厌microsoft?

  5、你是不是曾经在深夜编码的时候,突然感觉到一种乏味,对code的生涯感到一种无趣?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: