美文网首页
用经济学模型解释为什么要做质量内建

用经济学模型解释为什么要做质量内建

作者: 姚小 | 来源:发表于2022-10-24 11:29 被阅读0次

每个迭代总是完不成计划的工作?

你所在的项目是否常常完不成迭代计划?你是否总在思考如何给每个迭代增加产能?在每个迭代的时间、人力都相同的情况下,到底如何产生更多价值工作?答案也许是,做好质量内建!

精益软件开发的经济学成本模型

下图是看板方法之父大卫.J.安德森在他的《看板方法》一书中提出的精益软件开发的经济学成本模型。


精益软件开发的经济学成本模型

图中所示的是在一个迭代中,项目中若干类型的活动的分布。翻译成公式来理解如下:

V = c + 2e + I
I = i + d

  • V代表value,即产能,是模型中最大的矩形,代表我们一个迭代能够完成的所有工作;
  • c代表coordination,即协调成本,是模型中红色部分,它被认为是一个高成本事情,占据一定产能。放到一个迭代中来看的话,协调成本分布在整个迭代周期中,不随时间推移而增加或减少;
  • e代表event,即事务成本,是模型中的蓝色部分,占据另一部分产能。放到一个迭代中来看的话,事务成本分布在迭代的开始和结束,这些事务成本不因时间推移而增加或减少,是固定成本;
  • 大写I代表increment,即总体增值工作,是模型中的绿色矩形部分,它是一个迭代实际为客户交付的价值;
  • 小写i代表纯增值工作,即模型中的纯绿色部分,是按照预期交付的增值工作;
  • d是damage,即破坏负载工作,是模型中的紫色部分,它是打乱正常工作节奏的非预期中的工作。破坏负载工作存在于绿色矩形之中,代表它也会为客户交付价值,但是它产生的价值是包含在总体增值工作当中的,它并没有产生新的价值,且破坏负载工作会随着时间的推移而增加成本,会进一步压缩纯增值工作的空间。

如何增大增值工作空间

如何让每个迭代的增值工作空间更大?从模型中推导出,可以采取的方式有,压缩事务成本空间和协调成本空间,减少破坏负载工作。

减少事务成本?

项目在开始时的准备成本和结束后的清理成本都可以归为事务成本。在敏捷软件开发模式下,每个迭代初的事务成本有迭代计划会议、估点会议;每个迭代结束的事务成本有showcase会议、回顾会议等。这些事务成本并不会带来额外增值,但这些成本是必须的。迭代初的事务成本是为工作良好开展做准备,迭代末的事务成本是为工作结束做确认和总结。用精益的术语来说,他们是必要的浪费。

减少协调成本?

当两个人或者更多人一起试图达成一个共同目标时,就需要协调。项目中任何涉及沟通和日程安排的活动,都会产生协调成本。每个迭代的协调成本有每日站会、以及各类会议时间地点的协调、编写邮件或者即时消息同步工作状态或者寻求工作帮助等。每日站会、敏捷软件开发中的卡墙、以及我们常常挂在嘴边的一切透明原则,本质上都是为了减少协调成本。

当多个迭代运行下来,事务成本和协调成本基本已经稳定,压缩空间几乎没有,那能释放增值空间的就只有破坏负载工作了。

破坏负载工作

何为破坏负载工作

破坏负载工作,指的是那些如果早前的交付具备更好的质量而本可避免的工作。这些工作包括返工和缺陷。

如何减少破坏负载工作

由于破坏负载工作会随着时间的推移,占用更多的增值工作空间,所以这类工作我们需要尽早识别,并且避免此类工作。而质量内建可以尽早识别返工和bug,从而消灭或者减少破坏负载工作。

返工最常见的情况是需求变更。我认为应对需求变更的根本方式是,交付有价值的需求。整个团队要关注交付的价值是什么,而不是交付的功能是什么。价值是敏捷项目管理三角的其中一角,同时也是质量内建的基础。当我们关注点在交付价值,才更能提早发现低价值甚至无价值的需求,从而减少需求变更。这似乎也给QA带来了一些新的视角,稳定的需求也可以是一条质量度量标准。

缺陷最常见的情况是每个迭代过程中产生的bug。质量内建活动,比如持续集成、测试先行、重构、code review、代码共有、代码即文档等能够提高代码质量,减少bug产生或尽早发现bug,从而减少破坏负载工作。

小结

我们有时会以牺牲敏捷实践和质量内建活动换取更多coding时间,从而按时交付,而这些牺牲的质量活动会演变成破坏负载工作,最终还是回到我们的工作内容当中,影响我们的产能。

软件开发是一个复杂的协作过程,影响产能的原因还有很多,任何一行代码,一个忽略的信息都可能影响产能,希望这个经济学模型能给大家带来一些思考和启发。

相关文章

  • 用经济学模型解释为什么要做质量内建

    每个迭代总是完不成计划的工作? 你所在的项目是否常常完不成迭代计划?你是否总在思考如何给每个迭代增加产能?在每个迭...

  • 什么是质量内建

    读者提问:什么是质量内建? 阿常回答:这个问题我从两方面回答:1、质量内建定义;2、质量内建落地。 一、质量内建定...

  • 七月底溯溪活动有感

    一.为什么参加本次活动 用最新学的行为分析模型来表达: 1.解释系统 角色认知,是否清楚自己要做什么,以及相应要求...

  • 质量内建

    在网上看到蔡为东写的“没有奇迹的内建质量”,真是不能再同意了。曾经我也经常听到并曾相信过:“***局点要开局/升级...

  • CNC的DevOps实践

    质量内建 1.质量摸底 3.技术专项

  • 【Reading250】经济解释-张五常

    ——经济学是解释人类行为的科学。 《经济解释》阐述了经济学领域最核心的一些经济原理,而抛弃了大多繁杂的经济理论模型...

  • 浅谈内建质量

    说到内建质量(Build-in-Quality)就不得不提及几位举世闻名的质量管理大师。戴明(Edwards De...

  • 2019-02-17

    1、经济学就是用模型来处理实际中存在的东西,是否掌握最多模型越是细的人就是经济学大家,要是模型能套用,那么就是牛人。

  • 软件质量永恒——质量内建

    摘自http://www.51testing.com/html/23/n-3720823.html 质量综述 随着...

  • 软件质量永恒---质量内建

    质量综述 随着互联网快速发展,早期的传统软件公司强调工程的严谨性,CMMI,ISO9000格局已经发生变化,逐渐退...

网友评论

      本文标题:用经济学模型解释为什么要做质量内建

      本文链接:https://www.haomeiwen.com/subject/atnanrtx.html