代码质量与安全 | “吃狗粮”能够影响到代码质量?
来了解一下!

“dogfooding”是什么?乍一看,这就是“吃狗粮”的意思,但其实这来源于一句俚语:“Eat your own dog food”,直译过来就是“吃自己的狗粮”,常用于描述公司使用自己产品的这一种情况。

“吃自己的狗粮”实践在科技公司内部被广泛使用。其中,Facebook公开的海报里提到了这种实践的好处——让公司不同背景的人参与到产品开发,并且提供不同的视角,而不是仅限于开发人员;给整个组织一次合作的机会,增进团队感情;培养主人翁意识。

阅读本文,您将了解到什么是“吃自己的狗粮”,为什么要“吃自己的狗粮”,以及如何利用这一实践方法提升自己的产品。

作为SonarQube授权合作伙伴,创实信息持续关注代码质量与安全领域的最新动态与实践,为中国用户带来全球范围内的优秀解决方案,帮助企业实现开发安全运营一体化。

当遇到问题时,您需要有一个可以信任的解决方案来帮助您快速解决。但在这个充满了无限选择的世界里(多亏了互联网),人们很难相信那些未经测试和陌生的东西。在寻找正确的解决方案时,您会求助于那些使用过您考虑选项的人,来确保做出正确的选择。然后,您可以通过他们的建议,自信地解决问题。

选择正确的业务解决方案也是如此。您可能更倾向于选择已被推荐公司使用、测试和证明过的产品。在科技领域,这个概念被称为“吃自己的狗粮(dogfooding)”,现在也被翻译为“内部测试”。

“dogfooding”或“吃自己的狗粮”一词最初出现于1970年代的Alpo Dog Food广告中,一位美国著名演员在向观众推荐Alpo狗粮时将Alpo喂了给他自己的狗。在科技界,传说在1988年,微软传奇人物保罗·马里茨利用这一概念挑战他的同事,让他们自己使用公司的产品,以确保他们可以为客户提供价值。

不管它的起源如何,“吃自己的狗粮”能够一直存在,一定是有原因的。通过自己的实际使用来确认产品的真正价值,这是一个不争的事实,Sonar公司也坚信这一点。

如何开始吃自己的狗粮

“吃自己的狗粮”是一种明确地展示出您对自己产品信心的方式,通过每天使用产品来确保它们通过现实场景的测试。但在科技产品方面,它并不像Alpo狗粮那么简单。这台机器中的每个齿轮必须协调工作,以使产品按预期运行。

通过“吃自己的狗粮”,您不仅可以使用您的产品,还可以依赖它们并尽可能地将它们集成到您的开发和生产工作流程中。这将有助于您在最终用户之前预测挑战、把握机遇。但是,如果您的组织还没有这样做,该从哪里开始呢?以下是几条入门原则:

1、确保您有正确的访问权限

如果您都没有权限接触到您的产品,也就无法开始“吃自己的狗粮”。无论测试环境还是现实环境,您都要确保可以像最终用户一样,每天使用该产品。就像您的最终用户将帮助您“站在他们的角度出发”一样,反过来,这也可以帮助您更好地了解他们面临的挑战,以及他们使用您的产品所取得的胜利。

2、建立“为什么”机制

在为产品解决问题或提出创新建议时,首先必须清楚地了解它的重要性、为什么您决定开展这项工作,以及预期的结果。考虑如何将其融入您的产品蓝图中也很重要。

3、循序渐进

您可以选择将事情分解为有意义的小更改,给最终用户带来循序渐进的价值,而不是追着一个大的版本跑。因为当您跳过这些“小步骤”时,您可能会忽略关键的依赖关系,或因为忽略了细节而造成返工。循序渐进有助于缩短迭代、实现现实目标,并最大限度地投资于真正有用的解决方案。

4、创建一个时间框架

通过主动为团队定义一个明确的交付时间框架,您可以将以下的影响降到最低:为了填补时间而承担太多压力,或给sprint阶段预留的时间过少。这样一来,你所承担的功能增量是现实中可以实现的。这有助于团队保持专注,并清楚地了解需要做什么才能满足时间框架。

5、促进反馈循环

反馈是发现你是否在为用户创造价值的关键。最可靠的反馈往往来自最终用户,以及您自己尝试产品的经验。每个团队成员都有责任要求并提供既专业又有效的反馈。只有当团队在给出反馈后调整了它,反馈才是有效的。  

当您将代码发布到生产环境并开始使用它时,才是真正的关键时刻。这是测试它是否在现实世界中以预想方式工作的最重要的机会,依旧还是“吃你自己的狗粮”。

         
Sonar将它付诸于实践

在Sonar,我们每天都会吃“吃自己的狗粮”。我们不仅使用我们的清洁代码产品,还在整个组织中广泛使用这一概念。从网页开发周期到网站,从营销到帮助台,从内部流程到公司文化,我们都在使用它。我们利用像开放论坛这样的工具来引入计划,并自由地持续提供有针对性和建设性的反馈。

“吃自己的狗粮”影响了我们每个团队的运作方式以及产品的发展轨迹。在开发周期中,我们利用相同的清洁代码产品和实践,来交付数以千计的客户每天使用的清洁代码解决方案。这也使我们的核心方法论能够不断加强。

一个能够直接在产品用户界面找到,用来说明“吃自己的狗粮”如何影响我们的真实例子是:我们使用红色和绿色来传达信息,当色盲Sonar员工和UX设计师开始使用产品时,他们很快就发现了需要改进这个可访问性问题,才能满足他们的需求。上述的例子曾经用于内部开发和传播解决方案,现在,这种可访问性已经被集成到了Sonar的设计中,并成为了我们的首要考量。

“吃自己的狗粮”深刻影响了我们提供产品质量的方式。虽然我们更喜欢美味的咖啡而不是Alpo狗粮,但我们将继续“吃自己的狗粮”,提供市场上最好的清洁代码产品。

作者介绍:

LIZ RYAN

Sonar产品营销经理

文章来源:https://blog.sonarsource.com/eat-your-own-dog-food-or-risk-falling-behind/