本节书摘来自华章出版社《SAFe 4.0参考指南:精益软件与系统工程的规模化敏捷框架》一书中的第2,第2.1者[美]迪恩·莱芬(DeanLeffingwell),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
第2章
SAFe原则
2.1 原则#1——采取经济视角
你可能会忽略经济,但经济不会忽略你。——Donald Reinertsen,《产品开发流的原则》
摘要
精益系统构建者的目标是:持续地在最短前置时间内,对人类和社会提供最佳的质量和最优的价值。为了实现这个目标,需要系统构建者对经济效益有一个基本的了解。如果没有这样的认识,即使是一个技术成熟的系统也可能需要很高的研发成本,很长的交付时间,或者由于生产和运营成本太高以至于无法支持经济有效的价值。
为此,系统构建者们(比如整个产业链中的领导者、管理层和知识工作者)就必须完全了解他们所做出决策的经济影响。传统的观点是,只有那些了解业务、市场和客户经济情况的决策者与当局者们,才有必要了解系统构建者的活动与经济之间的关系。然而,如果这些对经济相关的理解只是集中在领导者那里,就会造成基层员工在处理日常工作问题时做出两个选择:(1)不理解经济关系就进行决策,(2)不做任何决策,而将这些问题升级到管理层。其中第一个选择会导致仅仅是对经济成果的局部优化,而第二个选择会导致延迟价值交付,这都会带来不好的影响。
详述
SAFe十分强调经济效益在成功的解决方案开发过程中所发挥的重要作用。因此,SAFe的第一个精益–敏捷原则就是:采取经济视角。之所以是排名首位的原则,是因为如果不能满足客户或系统构建者的经济目标,那么解决方案就无法长期存在。解决方案失败的原因有很多,其中最主要的原因就是不能满足经济要求。本节介绍了通过精益–敏捷方法达到优化经济成果的两个主要方面:一是尽早和经常交付,二是理解每一个项目群和价值流的经济平衡参数。这两个方面在下文中有详细描述,此外,SAFe将这些原则在各种实践中进行了实例化,这也是6.3节所阐述的主题。
尽早和经常交付
一般来说,企业做出精益–敏捷转型的重大决策,是由于当前流程不能满足生产的需要,或者是他们认为当前流程将来会被取代。在选择精益–敏捷的道路上,通常是使用基于增量式的模型,尽早和持续交付价值,如图2.1-1所示。
这样的决策将会产生显著的,或许是最基础的经济效益,如图2.1-2所示。图2.1-2展示了在这种流程中价值可以尽早交付给客户。而且,这些价值可以多次集成,客户持有时间越久,得到的价值就越大。
在瀑布模型中,价值无法在项目早期交付,而只能按照计划在开发周期结束时得到交付。这种差异也展示了使用SAFe的经济效益。此外,图2.1-2还展示了在瀑布模型中,并没有考虑解决方案构建者快速得到反馈的收益,而且最终能够按时交付并满足要求的概率也会比较低。最后,还有第3个因素最为重要,如图2.1-3所示。
图2.1-3展示了一个关键的差异化优势:只要质量满足要求,产品越早投入市场,价值就越高。毕竟,如果足够早的话,竞争对手还没有提供相应的产品,因此客户就愿意花更多的钱来购买。随着时间的推移,产品就会进入同质化和价格竞争,也就没有了价值差异化,这就是产品发展规律。这就意味着即使是在早期提供给客户最小可行产品(MVP),也比在后期提供全面的功能更有价值。所以产生的效果是,方案构建者的累积总利润就会更高。这是精益–敏捷开发的基本前提,也是精益–敏捷思维实施的坚实基础,更是解决方案构建者争取最短的可持续前置时间的驱动力量。
理解经济平衡的参数
上述讨论的主要问题,驱动着解决方案构建者使用这种更加经济有效的模型更快速地交付价值。然而,当执行项目群时仍然有很多工作要做,而且在解决方案生命周期中的经济决策也将最终决定交付的成果。因此,有必要更深入地讨论多种经济参数的平衡。Reinertsen(参考资料[1])描述了5种基本参数,可以用于站在经济角度考虑特定的投资情况,如图2.1-4所示。
对5种参数的解释如下。
开发费用:是指为了实现某种能力所需要的人力和物料成本
周期时间:是指为了实现某种能力的时间(前置时间)
产品成本:是指制造(销售成本)、部署和运营的成本
价值:是指所实现的能力对业务和客户的经济价值
风险:是指解决方案中技术或业务可行性的不确定性
理解经济平衡的参数,有助于优化生命周期的收益——这也是处理开发中最佳经济价值的关键。但是,这需要对项目有更深刻的理解,以下是两个例子:
1.一个团队正在构建一个家庭自动化系统,据估计可以通过增加更多的软件功能减少100美元的电子部件的成本,但是可能会延迟发布前置时间3个月。那么团队应该执行这个项目吗?显然无法简单给出答案。这取决于产品预期的销售量和如果推迟3个月发布产品的延迟成本之间的对比。在做出决策之前,还需要做进一步的分析。
2.一个大型软件系统,如果有大量的技术债务,是很难进行维护的。而且开发费用是严格固定的。如果专注于现在的技术债务,在短期内将会减慢价值交付,但是从长期来看,会有利于减少将来的特性交付的前置时间。那么团队应该采取这种措施吗?同样,也无法简单给出答案,它取决于定量地分析更多的要素,再做出决策。
除了经济平衡的参数,Reinertsen还介绍了一些关键的原则,有助于团队从经济的角度出发做出坚实的决策。这些原则如下所述:
量化延迟成本的原则——如果你只对一件事进行量化分析,那就是延迟成本
持续经济平衡的原则——经济有效的选择必须持续不断地进行
最佳决策时间的原则——每一个决策都有它的最佳经济时间
沉没成本的原则——不要考虑已经花费的成本
第一决策规则的原则——使用去中心化经济控制的决策规则
以上最后一个原则与SAFe紧密相关,可以推导出SAFe的原则#9——去中心化的决策,该原则将在6.3节进一步描述。
参考资料
[1] Reinertsen, Donald. The Principles of Product Development Flow: Second Generation Lean Product Development. Celeritas Publishing, 2009.