零bug策略,会不会本身是个bug?

更新日期: 2019-04-28阅读: 2.5k标签: bug

如今软件开发迭代频繁,随之而来的是产品质量难以保障,用户一天天被动找到 bug 而骂开发,开发要么被拉去祭天,要么拉慢开发新功能的进度条,分出时间精力处理 bug。这已经成了软件开发行业的一大难题,有什么解决方案呢?

企业生产力解决方案提供商 Workiva 的 CTO 提出了一个“零 bug 策略”—— Zero Bug Policy,Workiva 软件工程师 Kevin Sookocheff 在博客中介绍了该策略。

零 bug 策略只有一个要点:所有 bug 的优先级高于所有功能的开发或改进。这也就意味着,其实不存在所谓的 bug 优先级、严重 bug 或小 bug,一个 issue 要么是 bug,要么就不是 bug。而如果它是一个 bug,开发人员就需要在进行其它工作之前把它修复。

零 bug 策略在提高产品质量方面非常有效,Kevin 介绍,这种策略可以保持开发团队对 bug 的敏感度,从而能够对用户体验感同身受。

这一点其实是思维惯性上的转变,当“出现 bug,导致产品质量下降,解决 bug”这一思维过程变得更加固化,那么对于产品质量的期望值也会相应改变,可能以往出现 25 个 bug 那这一周就值得庆祝了,现在的要求就是只出现 10 个 bug 才算“好周”。这样会产生良好的编码规范。

除了改变开发团队对用户体验和产品质量的预期之外,零 bug 策略还有许多其它优势。


降低开发成本

如果一个 bug 报告等了两个月再来解决,时间隔了这么久,再去查看相应代码的时候可能都忘记了它的逻辑,或者需要重新去学习一遍相关内容。

另一方面,可能你正在查看的是别人的代码,而那个人不在现场,可能去度假了,那么跟进这个 bug 就需要花费大量时间与精力去调试、解决并验证。采用零 bug 策略就不存在一个 bug 等待两个月才去解决的问题,可以避免这样的开发成本开销。


更好地安排开发周期

如果剩下的只有新代码,那么你的日程安排将更精确。
— The Joel Test: 12 Steps to Better Code

开发者很难估计修复一个 bug 需要多少时间,也很难预测修复 bug 对产品发布计划的影响有多大。通过实施零 bug 策略,期望得到无 bug 的代码库,那么就可以消除这种不确定性,从而可以更容易预测新功能的开发时间,更好地安排开发周期。


提高敏捷性

没有 bug 的情况下,可以随时以高的质量将产品交付给客户,这使得公司可以快速响应不断变化的市场需求。

这种敏捷性的提高其实与上边提到的更好地预算开发周期的能力密切相关,从软件开发中消除了修复 bug 的不确定性,那么就可以在更短的时间跨度内提供有意义的新功能或功能改进,从而提高了开发整体的敏捷性。


提高客户满意度

前边说的这些优势其实都可以指向提高客户满意度,但更为关键的是,如果产品开发中将 bug 视为高优先级,就直接意味着公司重视客户及其用户体验,这对于保持客户对公司和产品的高度信任有重要影响。

虽然每个 bug 可能都不是什么大问题,但随着时间的推移,累积起来的问题会侵蚀掉客户的信任,许多公司也正是在这样的情况下黯然收场。


来自: 开源中国(微信号:oschina2013),原文链接  


链接: https://fly63.com/article/detial/3100

10个JavaScript常见BUG及修复方法

JavaScript语言设计太灵活,用起来不免要多加小心掉进坑里面。如今网站几乎100%使用JavaScript。JavaScript看上去是一门十分简单的语言,然而事实并不如此。它有很多容易被弄错的细节,一不注意就导致BUG。

程序员修复一个bug的心路历程,太形象了

和你们一样,我也是一个普普通通的前端开发者,在日常工作中,大部分时间不是在写新代码,而是在改代码,或是需求被改了,或是报bug了。当别人想我们报一个bug,直到我们把bug完整的修复好,整个过程是一个怎样的经历?

程序员沉迷 Bug 可以有多疯?

苍天啊!大地啊!竟然有程序员,因为沉迷代码,快要痛失女友了!那么,程序员写起代码,究竟可以有多沉(shang)迷(yin)?程序员为了写代码,可以有多疯?看了网友们的评论

程序员遇到Bug时的多种反应 你是哪一种?

开发应用程序是一个非常有压力的工作。没有人是完美的,因此在这个行业中,代码中出现bug是相当普遍的现象。面对bug,一些程序员会生气,会沮丧,会心烦意乱,甚至会灰心丧气,而另一些程序员会依然保持冷静沉着

Bug的处理流程

缺陷的定义:软件没有实现产品的说明书所描述的功能、软件实现了产品说明书描述不应有的功能...缺陷的等级-致命:一招毙命的缺陷,使你的系统无法运行,有造成数据泄漏的安全性问题。严重:可以引起易于纠正的异常情况、可能引起易于修复的故障或对产品外观难以接受的缺陷。

关于 injectBabelPlugin is not a function

在学习ant design的自定义主题这一功能时候,官方给到创建config-overrides.js文件,并且写入如下代码, 查阅资料发现react-scripts 升级到 2.1.2 以后破坏了 react-app-rewired,react-app-rewired的新版本删除所有方法injectBabelPlugin

不能精准定位bug?可能是你没get到这几个打印日志的诀窍!

当你遇到问题的时候,只能通过debug功能来确定问题,你应该考虑打日志,良好的系统,是可以通过日志进行问题定位的。当你碰到if…else 或者 switch这样的分支时,要在分支的首行打印日志,用来确定进入了哪个分支

Web开发人者的十大Bug跟踪工具

有许多可视化的 Bug 跟踪工具,通常可以根据特性集、集成和定价进行分类。选择一个 Bug 跟踪工具时,需要整体考虑团队的规模和需求。对于很多团队来说,项目管理并不是必需的,因此对 Bug 跟踪工具的真正需求变成了一个强大的解决方案提供者

程序员如何减少开发中的 Bug?

周会上同事抛出了一个问题,程序员如何减少开发中的 Bug?很有意思的一个话题,本篇文章我们来进行探讨与总结。爱因斯坦曾经说过:「如果给我一个小时解答一道决定我生死的问题,我会花55分钟来弄清楚这道题到底是在问什么

jquery绑定点击事件动画BUG

jq中的animate()方法所实现的动画在绑定事件的同时会产生各种类型的BUG,在事件选择的时候我会尽可能的使用mouseenter和mouseleave来避免,mouseover和mouseout所产生的事件冒泡。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!