曾经公司多个项目都采用瀑布式开发,几乎无一例外的出现了延期。后来公司一个项目尝试敏捷的方式,虽然效果看起来还不错但仍然受到很多人的反对。敏捷是否比瀑布式开发优秀一直受到争议,需求明确且项目人员较多时,敏捷似乎并不是最好的选择。后来我逐渐意识到敏捷除了具体的实践方法之外,更重要的是思想的转变。以下是格知CEO叉小包的一次分享笔记,个人感觉很受益,分享给大家:
我个人认为敏捷最大价值是什么?8个字,避免浪费走向精益。
我们先说说避免浪费。首先要回顾一下历史,敏捷,软件开发历史很长,敏捷思想出现很晚,我们不妨来回顾一下,这个软件研发的思想史,历史上都出现过哪些。首先敏捷也好,复古流人类管理生产活动的理念,我们上一代或者再上一代,爷爷奶奶,觉得工厂工人是很光荣的,在流水线里上班。流水线是什么概念?其实就是大规模的人聚集在一起协同工作,他已经摆脱了简单小作坊。这张图你看是什么图?汽车流水线,最早的福特发明汽车以后开始了大规模工业生产。汽车流水线发现什么?有什么特点?这个旁边堆了很多轮胎,这个环节的工人根本不了解上一个环节的工人做什么。软件开发是智慧型生产,智慧型生产之前是大工业生产,所以现在管理理念是从过去传统制造业来。
制造业管理理念,20世纪有一次重大飞跃,丰田生产体系,就是TPS。小日本二战以后发展汽车,觉得要跟美国学,丰田有一考察团到美国去,看到了类似刚才那张照片,实际上堆放得很乱,没有他们想象中好,这时候他们到工厂旁边便利店很受启发,便利店里不堆货,不做自己的仓储,他们觉得这个东西很灵活,忽然受到启发,这个环节要堆放这么多的轮胎,一条生产线一天生产多少车,你知道,你这里堆的轮胎是两个月用不完的轮胎,你堆在这里就要有人管理,还得清点、搬运过来组装。在日本人看来,这种过程是浪费的,大家通过这一点出发发展出一整套的管理汽车流水线的体系,就把流水线生产每一个环节有浪费总结起来,从这几个点避免浪费,他们提出七个浪费是哪七个。
1、库存,不直接生产价值,并增加管理成本。
2、返工,上一个流程交付不可用。
3、过度生产,生产多余所需。
4、搬运,本来就摆放错的资源。
5,多余动作,任何不增加价值的设备和人员的动作。
6、过程不当,对最终产品不能增加价值的活动。
7,等待,两个关联要素不能同步。
我们看7种浪费,是不是感觉跟软件研发已经有点像了,你们流程研发里面,产品经理定义一个功能,最后上线这个过程里面你们反思一下有没有浪费,有没有类似情况?我相信类似情况是有的。再回顾软件研发历史,互联网研发模式从产品经理到程序员到最后上线这个过程,时间也不长,是很年轻的体系。
敏捷真正价值是什么?如果你在做一件创新的事情,只有敏捷能帮你把这件事情做好,为什么?因为你需求是无限的。传统软件开发流程跟传统工业流程是一样,初始条件,一连串线性流程,明确目标。实际上是已验证的需求,瀑布流,清晰、准确可预估,你们目标提出来模式是按这个模式来提的,这些时间这些人肯定能做到。