
第13章 “规划与实施”模式:看板助力敏捷规划
拿破仑在打每一场战役之前,都会非常仔细地进行计划,但是每一次打仗都不是按照他原来的计划进行。有人质疑拿破仑,既然每一次战役都不是按照事前的计划进行,那么又何必要做详细的计划呢?拿破仑说:“因为战争是不确定和变化无常的,所以无法掌控;但是,唯一能够掌控的就是事前计划的过程。先把打算怎么打仗计划好,然后按照这个计划、这样的战略去做。至于实际上是怎么样的,只能临场应变,没有别的办法。”这就是拿破仑成功的关键。
用中国文化中辩证统一的思想来解释拿破仑的策略,可以理解为:既要有计划(Plan),更要有计划的过程(Planning)。没有计划,就很可能花了大量精力去做错误的事情。然而,有了计划,也不能保证一定能够到达预期结果,因为计划永远赶不上变化。但是在计划的过程中所付出的所有努力,都会帮助团队识别可能引发变化的因素,从而更好地让计划考虑到可能的变化,或者在执行计划过程中对计划进行持续的修正。下面介绍的两个模式“看板助力敏捷规划”和“结构化思维让规划更优化”,就是让计划更加有效的实用策略。
第13章和第14章将介绍“团队制胜六步工作法”中的“规划与实施”模式:
· 看板助力敏捷规划
· 用结构化思维让规划更优化
1948年,丰田公司因为生产过剩,以及产品滞销的原因,造成资金链出现问题。这使得当时的生产主管大野耐一开始注意到局部优化的弊端,并开始着眼全局思维,思考如何让整个流程完美衔接,从而避免局部优化所造成的困境。一天,苦苦思索中的大野耐一突然在超市购物时获得了灵感:在超市的货架上,无论何时卖完的商品总是能够被及时补充到货架上;然而,超市中补货和上架并没有严格的时间表控制。究其原因,就在于超市的货品从库房转移到货架,或者被购物的消费者拿走,这一切都是一个可视化的过程。超市的理货员唯一要做的,就是对货架的情况进行观察,然后基于货架是否出现空缺决定是否下单订购新的货品。有了这个灵感,大野耐一在1955年提出了丰田生产系统中的看板。看板就像一个空的货架,生产线上的任务就好像超市的货架上的商品一样进入生产系统(“货架”),这样就将生产环节的进度在视觉上进行了跟踪,人们可以一目了然地发现瓶颈在哪里,“空缺”在哪里,生产系统是否衔接紧密。看板系统,从视觉上对全局进行了可视化的展现,从而避免了局部优化所带来的问题,看板系统也就是后来著名的“丰田生产方式(Toyota Production System, TPS)”的发端。
近年来,越来越多的软件开发团队开始拥抱敏捷开发;然而,如果做一个“困扰敏捷开发团队问题”的调查,高居榜首的,一定少不了“如何有效地做敏捷规划”。敏捷规划(Agile Planning)本质上就是敏捷开发团队基于其过去迭代中将用户故事(User Story)转化为真正可以工作的软件并交付给客户的能力,对将来的迭代该做出的预测。看起来,敏捷规划是一个非常典型的工程学问题,然而,在实践中,正是由于软件开发中存在的持续不断的变化,使得敏捷团队的规划过程变得困难重重,而非一个典型的线性系统那样规定了输入,就会获得期望的输出。如何面对频繁和必然发生的变化,让敏捷团队的规划变得更有价值,是每一个敏捷软件开发团队管理者都需要思考的问题。在本章我们将看到如何利用看板思想和实践,让敏捷软件团队的规划变得更加有价值。