精益软件度量——实践者的观察与思考
上QQ阅读APP看书,第一时间看更新

4.7 度量信息的传播和使用

度量相关的信息主要包括期望目标信息和度量结果信息。在传统命令和控制管理方式的组织中,期望和目标的传递主要是自上而下,而度量信息的传递主要是自下而上,两条信息传输途径都基本是单向的。

1.度量数据应该解决数据生产者的问题。

度量数据的生产者不是度量数据的使用者,也就是说度量数据经常对一线团队没有价值,只是一个负担,敷衍和博弈就成了度量体系里的主旋律。为了应对这种情况,组织可能会引入越来越重的流程和规则,这又进一步导致了效率下降和团队的抵触,造成恶性循环。

我们希望做到的,首先,每个层面的度量信息应该能对本级组织的改进活动提供帮助。这意味着各个层面的组织得到足够的授权,行动的决策应该在拥有最多相关上下文信息的地方做出,而度量数据就是决策上下文信息的重要组成部分。比如一线团队是对产品代码质量和技术债务的恶化趋势最为清楚的,团队应该可以根据相关度量数据做出判断,主动发起并执行改进行动。我们在很多组织观察到,离现场越远地方的人们,越是愿意做出决策,而越是对情况了解最透彻的人们,受到决策影响越大的人们,越是怕担责任,把决策推给所谓上级。不过这是一个系统问题,一个生态环境的问题,不容易解决。

获得持续动力的度量体系应该是能够很快将一些长期问题、慢性问题浮现在一线团队和管理人员眼前,并帮助他们找到合适的解决方法,比如,过长的缺陷修复周期当中的瓶颈和等待,环境问题或是测试可靠性问题带来过高的构建失败率。度量体系应该能够以直观的方式,呈现问题对交付结果造成的影响,生产过程中蕴藏的改进机会,以及解决方案可能产生的收益,从而为团队提升效率和质量,提供有效信息。另外,如果团队需要管理层的支持或干预,度量数据应该提供足够的证据支撑团队的需求,只有这样才能够增强团队的接受度。

2.各级组织有自己的期望和目标并需要上下双向沟通。

在很多公司里,下级组织的目标仅仅是对上级期望的分解(见图4-5),缺乏定义自己的期望和目标的意识和能力。然而,在一个活跃而有创新力的系统里,上级的目标不可能覆盖这个系统的方方面面。我们常会看到的现象是,组织高层对一线的开发活动的期望,大都是以对现有产品、方法、工具等方面的优化为主要方向,由于缺少上下文和基于现场问题的思考,不太可能提出替代现有方案的破坏式的创新。就好像对开发中各种技术实践的尝试和采纳,是不太可能由组织层面的目标分解得出,只有现场人员才有可能发现并捕捉这样的机会。如果下级组织缺乏自己设定期望和目标的意识和能力,这些事情就不会发生。另外,有的团队有了这样的意识,如果没有向上级沟通这些目标和上下文的渠道,就获得不了上级的支持,这样的活动也很容易半途而废。

图4-5 组织中期望和目标的沟通机制