如何证明你不是在开发垃圾?

2c74bab955c23bc3159e091e5593cbe2.jpeg

如何证明你不是在开发垃圾?

文 | 珍妮兔

需要懂垃圾分类的不仅仅只有家庭主妇和煮夫,还有程序员。

082e09a38473c172eabdcffcc9669da5.jpeg

如果你开发的功能跑不通,你是在开发干垃圾;

如果你的代码害得别人的功能跑不通,你是在开发湿垃圾;

如果你开发的功能能跑,但你的代码就像一团没有头绪的意大利面,你是在开发可回收垃圾;

如果你的提交造成了系统崩溃,你是在开发有害垃圾。

有的人不以为然,谁还不开发点垃圾?我们不是还有测试吗?有把bug修了不就完了?

好,如果你们老板路过你的工位,问你:

你们现在开发的东西质量怎么样了,什么时候能发?

5ad5970e848e4aadf03c37442eeab9c4.jpeg

你怎么在短时间里证明,你们这个团队不是在开发垃圾?即,软件质量已经达到稳定,发布可期。

你可能会说,这还不简单,看当前的未解决的缺陷数呀!——未解决的缺陷数小,就一定说明软件质量好吗?

为了回答这个问题,我们先来看一道小学数学题:

88d4a6f337f9d75dfcedd72bbd046d2d.jpeg

一个蓄水池,有一个进水管和一个出水管,单开进水管6小时可以把空池注满,单开排水管8小时可以放完,现两管同时开,多少小时可以把水池注满?

假如这是一个污水池,池里的水越多,池子越不干净,池子里的水越少,池子越干净。进水管进的污水,就是我们开发新功能引入的缺陷,出水管出的水,就是我们修复的缺陷。

假如在某个时间点,池子里的污水很少。但如果进水的速度大于出水的速度,那这个池子里的污水其实是越来越多,即使在观察的那个时刻,池子里的污水很少,但池子其实是越来越脏的。

也就是,当开发新功能引入缺陷的速度,大于修复缺陷的速度的时候,软件的质量是还没有达到稳定的,离发布还有一段时间。

而相反的,当开发新功能引入缺陷的速度,小于修复缺陷的速度的时候,软件的质量正在趋于稳定,距离发布也就更快了。

我们可以用一张图,来直观的展示上面说的情况。

a06d08cfa9211e7cd5965d3aa61cf277.jpeg

纵轴是缺陷的个数,横轴是时间。黑色柱子顶端上的每个点,是单位时间(比如说一天,或者一周,取决于时间轴上的时间的刻度粗细)里发现的缺陷个数。灰色柱子顶端上的每个点,是单位时间里解决的缺陷个数。

在开始的时候,新发现缺陷的速度会大于修缺陷的速度,两条曲线是张开的(这一部分没有在上图中体现,是在图中的时间轴还要往更早的位置)。随着时间的推移,开发工作慢慢收尾,修缺陷的速度曲线会“追赶”上发现缺陷的速度,两条曲线开始收敛,直到相交。相交的时间点叫缺陷收敛点,代表这个时间之后,软件质量就稳定下来了,可以期待发布了。

最后总结一下,缺陷趋势图是一个用来快速判断开发中的软件质量的有力工具。这个报表在很多的系统平台,比如JIRA, TAPD都可以自动生成(前提是你的所有缺陷都是录入到了平台里进行管理的),非常方便。

下次你的老板或者产品经理问你,我们还有多久能发,你除了看看剩余没有开发的功能有多少,记得还要看一下缺陷趋势图哟!

如果你觉得这篇文章有用,欢迎在文末点“在看”!

参考资料:

Bug趋势图中的一些专有名词 https://blog.csdn.net/not_a_baby/article/details/6799558

图片来自摄图网

623a4bd1732b8007d001322b0fccbf88.jpeg

介绍一下我自己吧~我是珍妮兔,一只工程效率顾问。我的日常生活是给软件研发同学们分享各种轻松把软件做好的最佳实践,和把软件工程讲得通俗有趣。想跟我做朋友,可以加我的个人微信:jenny1652。不想走丢的话,请关注“轻松做软件”!(别忘了加星标哦)

科学工作,不加班

b099d596c518459ccff6e175a9e430da.png

7c6a6f7e20c98efa24086cdd6e507619.jpeg

客官,点一下右下角“在看”呗~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值