敏捷、精益与不确定性

敏捷是一个思想或原则,最早是用在软件项目管理上,现在很多非软件项目也是使用敏捷的思想来确保成功率。精益是精益创业,是一个用在创业上的方法论,创业成功概率低,通过精益的思想,可以降低成本、提高成功率。这二者名字虽然不同,方法上也有区别,但是其底层的逻辑我认为是一致的,都是很好的应对不确定性的方法。

在软件开发的项目管理中,为了降低失败率,一种办法是做详细的完整计划,把每个环节都考虑到,一个流程接着一个流程,就像瀑布一样,从上流到下,这种模式也被成为瀑布模式。但是这种方法失败率是很高的,计划做完的那一刻,就是计划已经过时了。这在很多行业里都是一样的,因为现实世界是动态的,计划就是对未来的预测。但是这并不是说不要做计划,这会走向另一个极端了。

而敏捷的思想就可以很好的解决这个问题,敏捷是拥抱变化的。它的方法就是,筛选出在一个很短的周期内(一般为 1 周到 3 周左右)能够完成的核心需求,在该周期内完成它。完成的标准是发布的这个产品用户可以直接使用,它可以功能少,但是要完整,而不是一个无法正常使用的残次品。完成之后,团队应该坐在一起进行反思,寻找本轮中哪些做的不好,应该如何改进,并找出一个核心的改进在下一轮进行更改。然后循环这个过程,不断向前。所以敏捷的核心思想就是持续交付、持续改进。

精益的思想和敏捷类似,它主要用在创业上。对于一个 idea 是否能成功,唯一的验证方法就是去做,你不可能靠空想去创业。它的流程是,先针对想法做一个最小可行性产品(MVP),然后将产品拿给用户去使用,去听用户的反馈,将反馈意见更改到下一个版本上,继续去给用户使用。这也是一个持续改进的过程。

可以发现,敏捷和精益,这二者在底层逻辑上并无区别。未来是不确定的,是很难靠提前的计划来一步步都规划好的。计划有时候具有迷惑性,让你觉得一切尽在掌握,但实际上这是一种幻觉。你无法预料明天会发生什么,可能需求变了,可能市场变了,一个长周期的计划相当于是锁死了周期的变化。而敏捷和精益,都要求要把这个周期缩短,一周到三周左右的时间为一个周期,这样就可以灵活应对变化。这样的周期设置,不仅适用于小团队,也适合与大团队,微软的一个周期就是三周。在这样的周期要求下,我们要筛选出当前最核心的需求,而且是能够在这个周期内完成的需求,并在周期结束后能够给用户交付出可用的产品,这也是精益里的 MVP。不要迷信自己的调研和分析,要听用户的真实反馈。

那么我们在面对未来不确定性的时候,也可以使用这样的办法。我们自身的需求会有很多,想过什么样的生活、想成为什么样的人、有什么样的目标要完成等,但是不可能一次性全部实现。我们可以设置一个循环周期,挑选出最重要的那个问题,去解决它,同时一定要有一个检验标准。每个周期结束后,反思自己在这个过程中的问题,并改进它。持续改进、持续迭代,面对变化快速做出反应和调整,在下一个迭代内完成自我升级。