由一张精益 MVP 图所浮想联翩
有感于之前听到的关于迭代开发的看法,我特意把上面这张精益 MVP 的图贴出来,一起看图说话。
1、每个阶段的交付对用户来说都是有意义的,对吗?这个观点本文不打算详述论证或者长篇吹捧,做过精益或者碰过敏捷的同仁也知道这种方式的重要性;
2、每个新的环节代表的是对部分旧模块的推倒-重建。但是这个重建是从 0 到 1 的重建吗?我跟大家罗列一下细节:
第二阶段【滑板变成滑板车阶段】
这里发现就多了个方向盘,目的是提升用户安全性(防摔)和用户便利性(方向控制从用身体重心控制转向用双手控制),整个过程不涉及对旧模块的改造,纯粹就是功能的增量;
第四阶段【自行车变成摩托车】
里面变化还是蛮大的,这里我觉得可以分为颠覆性创新和渐进性创新。
座位更加舒服了,轮子+刹车结构更加复杂了,这种我的理解算是渐进性创新了。什么叫渐进性创新,它是指对现有技术/功能的持续性优化改良,它的本质是没变的。
另外,在看看动力系统方面,自行车靠人蹬,摩托车却是靠汽油燃烧转为动力推动活塞运动而产生向前的动力,这个绝对是颠覆性创新。
废话一堆。上面想表达什么?上面想表达的是每个阶段是基于上个阶段的成果进行改进的,有改良优化的,也有摧毁性推倒重来的。本文想对包括我在内的程序猿说,虽然我们程序猿都是有颗处女座的情结:希望事事完美,系统整体规划在前,一步一脚印把这个系统建设好,每个阶段是秉承上个阶段的产出进行“非摧毁性”迭代优化;但实际世界上会存在着下一个迭代就是对上一个迭代的“摧毁性”重建,摧毁性不代表没意义,起码它代表着我们上个迭代的版本可能是失败的,需要重新创造并试错。
因此,我们在做一个系统的时候,技术的价值在于我们为业务持续带来的价值,而不是因为用了某些新技术,写了什么牛逼的代码。就算我们遇到我们某个迭代的功能被完全遗弃掉也不要觉得灰心,起码它代表着我们往正确的道路上又往前了一步,要始终坚信这一点。(本文写得比较仓促,有点乱,但主要是是为了抒发一下感情。)
版权声明: 本文为 InfoQ 作者【Man】的原创文章。
原文链接:【http://xie.infoq.cn/article/3f0a3798d46d7e069955e7d54】。文章转载请联系作者。
评论