五千年(敝帚自珍)

主题:【讨论】开楼试论J-20、腾讯的螺旋式开发 -- 从周

共:💬8 🌺23
全看分页树展 · 主题
家园 【讨论】开楼试论J-20、腾讯的螺旋式开发

日前我又被震惊了,这个震惊并非来自于什么产品的问世,而是这篇文章《中国歼20采用螺旋式开发完成只需5年》。

螺旋式开发这个概念我是比较熟悉的,大概10年前在南半球上学时,就接触过这个概念——核心是采用了数学里的迭代法。但因为我的数学水平很差,脑仁里只记得在赛车、软件、飞机等领域中,这个开发方式是很时髦的。多年后,我碰巧听了腾讯的一番讲话,才知道他们也采用了螺旋式开发法,最近的一次,是读了那篇文章,才知道新款式的J20战斗机也用了这个模式。

在当今世界,软件、产品的开发广泛的受到诸多因素的制约,其中最大的制约条件就是市场的剧烈变化。比如国内的互联网业,10年前还是搜索引擎为王,今天热门的电商、团购、物流、移动互联网、社交还连根毛也没有呢,那个时候的应用开发,更多的是传统的瀑布式开发,他的模式是这样的:

发现需求->出项目需求报告->细分需求->给各部门派活->所有团队等着->产品到了->测试上线->

结果A,跟目标有差距,经过debug还能用;结果B,开发得驴唇不对马嘴,失败;结果C,比较完美,直接能用。

结果A占到了开发结果的60%,然后这个debug过程在不断的重复,而且往往bug会影响核心用途的体验,完全没有问题之日,必然是产品淘汰之时。结果C也比较常见,尤其在中国,这往往是针对成熟产品逆向工程即抄袭的结果,其实问题也很严重,因为推出之时已经过时。

而螺旋式开发,明显可以规避上述瀑布式开发的几个致命问题:受现有技术能力限制;开发过程中无反馈(尤其是千变万化的市场);采买浪费;满足客户需求难上加难。

螺旋式开发的模型放大点是这样的:

外链出处

这个模式并非是万金油,之所以采用这种模式,是人们在长期的工作中总结出来的一些问题,比如:

1、项目经理和其团队的素质,是千差万别的,结果也是千差万别的。

2、设计的结果往往和想象差距较大。

3、思考总有盲点,而盲点往往致命。

4、预算永远有限。

5、需求永远变化。

·

传统瀑布式开发模式上,这5条里的任何一条,就足够要命:

1、人的因素过于重要,任命了一个白痴和任命了一个性格怪异的天才,结局一样悲惨。

2、没有反馈,修改细节难上加难。

3、所有需求永远在现有技术水平之上。

4、按照需求文档去做,必然会在一些设计细节上浪费过多的时间(举个例,《七龙珠》里给悟空设计的飞碟交工严重停滞,悟空作为客户询问进度,才知道卡在了机内安装音响的问题上)。

·

因为这些问题的致命性,传统工业化大生产开发模式的瀑布式开发,显然不合适了,更加灵活的螺旋式开发问世了,模块式设计也随着这种新型开发模式普及了。

全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河