主题:【讨论】开楼试论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、按照需求文档去做,必然会在一些设计细节上浪费过多的时间(举个例,《七龙珠》里给悟空设计的飞碟交工严重停滞,悟空作为客户询问进度,才知道卡在了机内安装音响的问题上)。
·
因为这些问题的致命性,传统工业化大生产开发模式的瀑布式开发,显然不合适了,更加灵活的螺旋式开发问世了,模块式设计也随着这种新型开发模式普及了。
- 相关回复 上下关系8
🙂【讨论】开楼试论J-20、腾讯的螺旋式开发
🙂硬件和软件的不同 7 三力思 字1069 2012-06-07 15:47:21
🙂这个螺旋式开发可不可以理解成小步快跑 伏波将军 字93 2012-06-01 20:14:59
🙂螺旋式开发的精髓是尽早地与用户交互 adrupal 字22 2012-06-02 21:29:25
🙂不是我的理解,螺旋式开发的问题是整体缓慢 从周 字0 2012-06-02 11:57:19
🙂你说的是敏捷吗 1 敲门 字343 2012-06-04 13:25:12
🙂有一个特征,就是逐步完善 1 从周 字142 2012-06-07 13:50:11
🙂你的理解一定程度上是可以认为是正确的 哈酷 字381 2012-07-04 11:56:15