速度也是一种质量

作者提出的观点是速度重要很重要,原因如下:

  • 作者在文章中指出,如果做得快,你会更容易看到结果,而结果又会反过来激励你去做的 更多,所谓熟能生巧,做的多了,质量便会越来越好。
  • 做的慢会让人觉得这件事情的成本太高了,反而让人一直犹豫不定要不要去做这件事情。

我也同意作者的观点,速度与质量并非是相对的,速度是追求质量的一种途径。

什么是速度

速度就是持续发布

什么是质量

产品质量不是检测出来的,从产品生产出来后质量就已经在那了。 ——著名质量管理专家戴明

怎么去理解呢?通常为了保证产品可以上线,大公司都用 QA 团队,QA 的作用是检测产品,检测出的 Bug 越多说明 QA 团队越牛逼,产品有时候也希望 QA 可以找到更多的 Bug。

但是找到更多的 Bug 意味产品的质量更差,那么我们期望如此吗?

通过 QA 就可以提升产品的质量吗?QA 只能发现问题,并不能提升产品的质量,因为开发完成后质量就在那里了。

我们的目标不是追求 QA 能测试出多少 Bug,我们的目标是 QA 压根就测试不出 Bug,因为我们的产品的质量是内建的,并且质量很好。

什么是质量内建

质量内建意味着在开发的过程中就不断的提升代码的质量。

如何提升产品的内建质量呢

敏捷开发

单元测试

持续集成

快速发布

质量分为两种

外部质量:可以被用户感知,也是用户在最在乎的质量。

内部质量:代码的质量

质量就是可以快速定位问题并解决

速度和质量的关系

为什么这种途径是可行的

但我觉得在讨论速度和质量之前,或许应该问,速度和质量有关系吗?速度快就不能做出好的产品吗?

或者我们应该定义清楚,什么是快,什么又是质量。

早发布,常发布

大教堂与集市 中,作者提到了

早发布,常发布,倾听用户的反馈。

我认为这就是对快的定义,快的意思就是,快速迭代,快速发布。

多快才算快?

敏捷开发中通常认为两周是一个合理的迭代速度,那么发布呢?做完就发布,也在一两周的时间。

那么何为质量?

外部质量 内部质量

如何衡量质量呢?

什么才算是好的质量?

稳定性?

或许不应该这样问,人们总是回答都重要。

速度与质量有关系吗?

通常我们会认为花更多的时间会得到更好的结果,前提是我们都是真的在做某件事情而不是偷懒。例如我们可以花很长时间去构思程序该如何设计,还是说我们先做出来看看。

如果你发邮件给一个人,如果对方回复的很快,你就会发更多的邮件。或者为什么我们更倾向于使用即时通讯工具,因为相比邮件,后者地回复效率更高,用户获得反馈的时间也就越短,用户也就更倾向于此。

再比如如果你写一篇博客,写完之后第二天就获得了很高的浏览量,你会倾向于写的更多。如果迟迟没有人看,你可能也会放弃。同样,如果你写一篇文章只需要十分钟,当你想写的时候就回立即去写,因为成本很低,只需要十分钟。而如果你写一篇需要一周的时间,那可能你一直都找不到一个合适的时间去开始,这件事情也就后一直的拖延下去。

因此结论就是做得快很重要,那么质量呢?

同一个人写同一片文章,花十分钟和花一个小时,内容的质量势必会有差异。

但是反过来,写文章写得快也就意味着改的更加频繁,改的频繁也就意味着质量会越来越好。那么一次性写好一篇文章和断断续续的反复修改哪种效率更高呢?

怕是没有人能给出一个好的答案了。