- 精益软件度量——实践者的观察与思考
- 张松
- 1358字
- 2020-06-26 05:10:47
1.1 精益软件开发的度量体系
度量本身不是目的,是手段。我问过很多人,你们这儿度量信息是在什么地方用呀?我经常听到的是,“现在不是都要用数字说话嘛,咱得搞点儿量化管理”,“这玩意儿(数字)就是给上面看看,没啥用”,“没这些数字,我怎么知道下面的人干得咋样?”我们发现:
●在很多情况下,数据的生产者不是数据的使用者;
●数据的生产者没什么动力去分辨信息的价值,也不关心信息准确与否;
●数据的生产者关心的是数据是否会对自己带来惩罚或是收益,而不是数据跟软件开发的关系;
●在很多管理者的认识当中,度量的主要目的,是确保事情在掌控之中,为的是获得可靠性和安全感;
●相对于“更高效的开发软件”这样模糊的目标而言,很多一线人员对度量指标的使用其实更加一个简单、清晰、朴实——一旦开发出了问题,一个自我保护的理由就是“我己经满足了度量的要求了呀?”
软件项目中可能出现各种各样的冲突,权衡并把握住进度、质量和人员能力提升等各种不同目标,总是要消耗掉项目管理人员很多的脑细胞。可是不管多么努力,做出的决定仍然不是得罪了这个,就是让那一个不爽。度量体系中的指标通常是那些复杂、模糊的目标经过分解和简化的结果。一套度量体系被实施之后,很多人都有一种光明初现的感觉,好像做决定变得有章可循,容易多了。出于趋利避害的考虑,人们经常会把目光聚焦在片面满足相对明确的指标上,回避了对综合的项目目标和复杂上下文的思考和权衡。
为了规避指标替代目标的陷阱,我们希望在设计和运营度量体系的时候,将各类相关人员都融入到一个共同的理念之下。
精益的一个核心理念是持续改进,丰田澳大利亚技术中心(Toyota Technical Center-Australia)对持续改进的诠释是:“我们从来不认为当前的成功是我们最终的成就。我们从来不会满足于当前所处的位置,而是会一直竭尽全力,寻求最佳的思路持续改善我们的工作:我们热衷于创造更好的替代方案,质疑己有的成果,寻求新的成功定义”。挺复杂的一句话,咱老祖宗在3000多年前,只用了9个字就把这事儿说清楚了。商汤王,也就是商朝的开国君主,在他自己的洗澡盆儿上刻了一行字以自勉:“苟日新,日日新,又日新”,就是提醒自己:弃旧图新是每天都要干的事儿。
如图1-2所示,在理念上,我们希望把度量的重心从“控制”转向“改进”。虽然控制和改进都是对系统采取的干预性措施,“控制”给人造成的心理暗示是围绕着静态目标而行动;而“改进”则将动态的目标植入人们的思维模式。这有助于我们在识别软件开发的成功路径时,由可靠性转向一个更广泛的视角。
在这样的理念指导下,度量体系的作用就是提供信息来帮我们知道现在哪里,距离目标到底有多远,我们是否在向目标前进,进展的程度如何。因此简单地说,度量是通过对目标位置、相对位置、移动方向的描述,帮助组织达成其业务目标。
图1-2 “控制”转向“改进”
我们把度量体系的实现分成3个不同的层次——理念、设计、应用,如图1-3所示。
图1-3 三层度量体系
在后续的第2、3、4章,我们会从组织目标、软件产品开发过程中的决策场景,以及指标体系框架3方面来分析度量体系的设计。第5章至第12章会系统地讨论几个主要的度量维度。而在最后的3章里,将会尝试验证导入和推广实施两个阶段,讨论如何在一个组织内建立起一个有效、有价值的度量机制。
不过在那之前,我们需要进一步就理念上澄清一下,本书中的度量是什么?不是什么?