VUCA一 词20世纪90年代起源于美国军方, 是 Volatility( 易变性)、Uncertainty( 不确定性)、Complexity( 错综复杂性)、Ambiguity( 模糊性)的缩写。其实早在公元前,古希腊哲学家赫拉克利特就提出了著名的“万物皆流”主张--“人不能两次踏入同一条河流,因为无论是这条河还是这个人都已经不同”,可以说VUCA更好的阐述了我们众人现在所处其中的这条后互联网时代大河的特点。
VUCA大河诡谲多变,企业、组织、个人身处其中犹如逆水行舟。作为软件企业中的产品研发团队,也是如此。在《VUCA时代的敏捷利器-用户故事》一文中,我只是提到了敏捷开发能够应对VUCA,那么,在这里我们概要探讨一下敏捷开发是怎样来应对的。(注:本文中敏捷开发泛包括精益开发。)
敏捷开发通过APST来应对VUCA。所谓APST是指Adaptability(适应性)、Predictability(可预测性)、Simplicity(简单性)、Transparency(透明性)。敏捷开发正是依靠这四种特性,来适配应对VUCA的挑战。
前面我们把VUCA时代比喻成一条大河,具象到我们软件开发领域,这条大河就是我们团队所面临的外部环境,而团队就如同大河里的小舟,需要在波涛汹涌的大河里能够逆流而上,实现理想中的愿景。大河如此宽广,相比之下,团队的小舟如此之小,以至于我们只能一点一滴的去认识大河,一点一滴应对波涛汹涌、奔流不息,我们如何调整小舟,向理想的愿景持续前行?
大河虽然奔流不息,但是大河是由无数个持续变化的河流构成的,实际上,我们的小舟就是通过不断横渡每个河流来持续接近理想愿景的。虽然我们在某一阶段的点滴认识绝不足以认识整条大河,但是只要我们对承载小舟的当下河流有了较“清晰”的认识,我们就可以调整小舟,成功的渡过这个河流。反映在敏捷开发上,就是我们的团队需要针对脚下的河流场景,设计我们的MVP,通过敏捷开发快速实现,及早获取外界反馈,持续改进,然后,我们的小舟再应对第二个河流。我们看一下具体的APST应该怎样做。
Adaptability(适应性)-Volatility( 易变性)
适应性应对的是易变性。奔腾的河流瞬息万变,团队怎样面对这种短暂稳定,经常变化的外部环境甚至是团队自身?团队需要具有适应性,能够上善若水,尽快调整,随形而变。敏捷开发里面较能体现适应性的是迭代式和持续渐进式改进。无论是需求用户故事可协商的迭代演进,团队实现的迭代开发,还是诸多节奏周期式的管理活动,通过具有节奏的迭代式,团队能够不断尝试性的小步前行。而持续的、渐进式的改进,使团队从各方面不断修正,从而使修正后的自身更加能够适应变化。
Predictability(可预测性)-Uncertainty( 不确定性)
可预测性应对的是不确定性。认识河流中的点滴都要耗费良多,面对不确定性巨大的河流,资源能力有限的团队怎样应对?在组织层面,需要持续对团队进行赋能,提升团队对自身的清晰了解,对外界的深入认知,从而增强团队目标设定、适应计划、风险应对的能力。应对不确定性需要全方位的应对,组织需要对团队适当授权,比如对于那些频繁发生、时间紧急、需要具体信息的非战略性决策,可以去中心化的由团队来决策,从而提升整个组织的应对活性,减少决策瓶颈。在团队内部,需要打造成自组织团队,建立多种反馈环,做到快速反馈。通过上述,可以提升团队对未知的可预测性,从而减少不确定性。
Simplicity(简单性)-Complexity( 错综复杂性)
简单性应对的是错综复杂性。天外银河固然璀璨绚丽,然而还是由万千星光组成的。所以面对错综复杂,我们需要将其解耦、去依赖化,解构成团队能够认知的万千个相对“简单”的基础单元,这个就是简单性。需要强调一点的是,简单性的基础单元不是单纯的、无意义的小,必须具有意义。敏捷开发中的MVP设计,用户故事的足够小、独立性从用户的角度既把复杂的产品拆分小了,同时也保持了其产出价值。
Transparency(透明性)-Ambiguity(模糊性)
透明性应对的是模糊性。敏捷开发中通过多种可视化的实践方法,将团队的工作流程、工作状态、内外沟通协作、团队规则、适应调整等透明化出来。作为精益敏捷的原生基因,透明性能够很好的应对模糊性。
我们每个人身处VUCA大河中,不进则退。我们无法彻底解决面临的所有问题,我们只能期望找到有效的应对措施。那么,希望本文提出的Adaptability(适应性)、Predictability(可预测性)、Simplicity(简单性)、Transparency(透明性)能够对大家有所启发,谢谢。