2.2.1 交付价值
在宏观层面上,管理层会根据战略意图,在公司的多个目标之间权衡之后决定对当前机会的投资额度,同时,期望在这个预算范围内,在实现战略意图的基础上取得最大的回报。
开发组织在这个目标上能起到多大的作用呢?很多人都认为交付的内容是否有价值,这是由业务部门决定的,但是根据我们的经验,绝大多数开发组织在价值的优化上都有很大的提升空间。相对业务部门,开发组织的优势在于其所拥有关于目标实现方案的知识。交付目标是由一系列的功能性和非功能性需求构成,而交付价值首先体现在优先交付的内容是否是最有价值的。
对于功能性需求,开发组织能够在开发前,将低价值内容从高价值特性上剥离下来,从而提升投资回报(ROI)。相对来说,业务部门则缺乏动力和能力这么做,因为开发部门接到的需求来源于不同业务部门,每个部门都有动机尽可能多地把自己的需求纳入开发计划,推动尽可能完善地实现每个纳入计划的需求,而拆分需求很可能会导致部分需求无法进入开发路线图,而且,业务部门不清楚实现的细节,因而并不清楚是否能够拆分或拆分的风险。
对于非功能性需求,很多情况下,开发组织提出的方案都会影响投入在短期和长期时间轴上的分配,因此,能够使技术方案跟业务模式相吻合,就有可能在相当程度上提升交付的价值。举一个比较极端的例子,我们的一个客户是一个移动互联网领域的创新型公司,他们的策略是以尽可能低的成本,尝试尽可能多的移动互联网领域的商机。他们预期只会有较小比例的实验能够获得市场的认可,但只要有少量存活的产品,就足以赢得可观的收益。因此他们期望得到一个快速开发和部署平台,只要求最低限度的安全和负载水平,对做出来的产品原型只要有基本的可用性,能完成基本的商业意图即可,但要求这个平台足够灵活,能够以最小的修改代价实现不同类型的应用,特别是电子商务类的应用。当某个产品试探市场获得良好的反应之后,再把这个产品按照更高的要求,推倒重做。这样平台实现价值的方式,跟一个预计要覆盖广泛行业、人群的大型电商交易系统相比,当然会有很大的不同,由此得出的合适的技术方案,及其所对应的投入产出模式也应有极大的差异。
另外,从事后验证的角度来讲,开发部门可以提供技术手段来度量交付后的特性价值。通过识别和清理死亡、休眠特性,减少后续在无用特性上进一步工作的可能性。