什么指标重要:开源项目指南

决定衡量标准的 5 项原则。
362 位读者喜欢这篇文章。
metrics and data shown on a computer screen

Opensource.com

“没有数据,你只是一个有观点的人。”

这是统计过程控制的倡导者 W. Edwards Deming 的话,他被认为是 1950 年至 1960 年日本战后经济奇迹的灵感来源之一。具有讽刺意味的是,像丰田这样的日本制造商比通用汽车和福特更愿意接受戴明的想法。

社区管理当然是一门艺术。它关乎指导。它关乎与伤害社区的人进行艰难的对话。它关乎谈判和妥协。它关乎与其他社区互动。它关乎建立联系。用红帽公司的黛安·穆勒的话来说,它关乎“培育对话”。

然而,它也关乎指标和数据。

有些与更广泛的软件开发项目有很多共同之处。另一些则更具体地针对社区本身的治理。我认为决定衡量什么如何衡量要遵循五项原则。

1. 认识到行为并非独立于您选择强调的衡量标准。

2008 年,丹·艾瑞里出版了《怪诞行为学》,这是当时出版的众多书籍之一,向公众介绍了行为心理学和行为经济学。书中一句令人难忘的名言是:“人类会根据他们所承受的指标来调整行为。你衡量的任何东西都会促使一个人优化他在该指标上的得分。你衡量什么,你就会得到什么。句号。”

这不足为奇。这一发现已多次被研究证实。对于几乎所有有商业经验的人来说,这也应该很熟悉。例如,对于销售管理人员来说,这当然不是新闻。仅根据收入来确定销售代表(或他们的经理)的奖金,他们就会尝试打折一切以最大化收入,即使这会使利润率降至谷底。相反,想要销售团队推广一条新产品线——这可能需要额外的努力——但跳过奖励?可能不会发生。

为了避免您认为我是在不公平地挑剔销售,这种行为是普遍存在的,一直到首席执行官,正如艾瑞里在 2010 年《哈佛商业评论》的一篇文章中所描述的那样:“首席执行官们关心股票价值,因为我们就是这样衡量他们的。如果我们想改变他们关心的东西,我们就应该改变我们衡量的东西。”

开发人员和其他社区成员也并非免疫。

2. 您需要选择相关的指标。

关于什么是相关和重要的,有很多民间智慧在流传,但并非一定正确。我的同事 戴夫·尼尔里提供了一个棒球的例子:“在 90 年代后期,用于衡量击球手技能的关键指标是 RBI(打点)和击球率(球员通过安打上垒的频率,除以击球次数)。奥克兰 A 队是第一支根据不同的球员表现衡量标准招募球员的职业棒球队:上垒率。这衡量的是他们上到一垒的频率,无论如何发生的。”

事实上,棒球和其他领域的统计分析革命,在迈克尔·刘易斯的《点球成金》中广受欢迎,经常被谈论为在一个历史上更多关于直觉和个人经验的领域引入数据。但它也是关于对一项实际上一直相当痴迷于数字的游戏,提出新的指标,基于主要存在的数据,以更好地衡量球员价值。(今天体育界正在进行的数据革命更多的是通过视频和其他手段收集更多以前无法获得的数据。)

3. 数量可能不会带来质量。

作为推论,收集大量切线但易于捕获的数据并不比仅仅选择您已确定真正有用的少量衡量标准更好。在一个在线行为可以非常精细地跟踪并在彩色仪表板中显示的世界中,即使它没有提供对社区健康和发展轨迹的任何深刻见解,也很容易被纯粹的数据量分散注意力。

这似乎是一个显而易见的观点:为什么要衡量不相关的东西?在实践中,指标通常被选择是因为它们易于衡量,而不是因为它们特别有用。它们往往更多地是关于输入而不是输出:开发人员的数量。论坛帖子的数量。提交的数量。总的来说,像这样的衡量标准通常被称为虚荣指标。它们无处不在,但大多数参与社区管理的人都不太看重它们。

下载次数可能是最糟糕的。诚然,在某种程度上,它们表明了对项目的兴趣。这算是一点。但它与积极使用该项目相去甚远,更不用说深入参与该项目了,因此很难将下载视为非常有用的数字。

这些虚荣指标有什么危害吗?是的,在某种程度上,您开始认为它们是采取行动的依据。可能更严重的是,公司管理层或行业观察员等利益相关者可能会将它们视为项目健康的有意义的指标。

4. 了解衡量标准真正意味着什么以及它们彼此之间如何关联。

尼尔里提出这一点是为了警告人们不要目光短浅。“在我参与的一个项目中,”他说,“有些人担心最近收到的错误报告数量激增,因为这似乎表明该项目一定存在严重的质量问题需要解决。然而,当我们查看数字时,结果证明许多错误报告的出现是因为一家大型公司最近开始使用该项目。错误报告的增加实际上是大量新用户涌入的代名词,这是一件好事。”

在实践中,您通常必须通过代理来衡量。这本身不是问题,但是您想要衡量的东西与您实际衡量的东西之间的距离越远,就越难将它们联系起来。跟踪修复错误、编写代码和添加新功能的进展情况是可以的。但是,这些并不一定与用户有多满意,或者项目是否在朝着其长期目标(无论这些目标是什么)努力做得很好相关。

5. 不同的衡量标准服务于不同的目的。

有些衡量标准可能不明显,但对于跟踪项目和社区相对于内部目标的成功很有用。另一些可能更适合新闻稿或其他外部消费。例如,作为社区经理,您可能非常关心您的社区在过去三个月中举办了多少次聚会、指导课程和虚拟简报会。但更可能吸引眼球的是贡献和贡献者的数量。您可能也很关心这些。但也许没那么关心,这取决于您当前的优先事项。

此外,其他衡量标准可能与任何赞助组织的目标相关。与商业产品相关的项目最相关的衡量标准可能与纯粹的社区努力不同。

由于社区不同,目标也不同,因此不可能简单地编制一份指标清单,但以下是一些需要思考的想法

除了定量指标外,还要考虑定性指标。进行调查和其他研究可能很耗时,特别是如果它们足够严谨以产生比轶事数据更好的数据。构建研究以使其可用于跟踪随时间的变化也需要严谨性。换句话说,衡量定量的贡献者活动要比探究社区成员今天对他们的参与是否比一年前更满意容易得多。然而,鉴于文化对社区健康的重要性,以系统的方式衡量文化可能是一项值得做的练习。

社区的广度,包括有多少人与商业实体无关,对于许多项目来说很重要。广度越大,开源开发过程的潜在杠杆作用就越大。查看公司和个人如何贡献也具有启发意义。项目可以明确设计为更好地容纳临时贡献者。

新贡献者能否产生影响,或者他们是否被忽视?代码贡献需要多长时间才能被提交?报告的错误需要多长时间才能被修复或以其他方式响应?如果他们在论坛中提出问题,是否有人回答他们?换句话说,您是否允许贡献者做出贡献?

在项目中的晋升也是一个重要的指标。 Node.js 社区的 Mikeal Rogers 解释说:“我们所做的转变是创建了一个支持系统和一个教育系统,将用户转变为贡献者,首先是从非常低的级别开始,并教育他们将他们带入提交者池,最终进入维护者池。最终结果是,我们拥有广泛的技能组合。我们不是试图吸引杰出的开发人员,而是在创造新的杰出开发人员。”

无论您选择什么指标,都不要忘记您最初将它们设为指标的原因。我发现一个有用的问题是:“我将如何处理这个数字?”如果答案只是将其放入报告或新闻稿中,那不是一个好答案。指标应该是告诉您您走在正确的道路上,或者您需要采取具体行动来纠正方向的衡量标准。

出于这个原因,红帽公司负责社区领导的 Stormy Peters 主张保持简单。她写道,“拥有一两个关键指标远比担心所有可能的指标要好得多。您可以捕获所有可能的指标,但作为一个项目,您应该专注于移动一个指标。拥有一个与现实世界中的某些事物直接相关的简单指标,也比拥有一个复杂公式或多个事物之间的比率的指标要好。当项目成员做出决策时,您希望他们能够直观地感受到它是否会朝着正确的方向影响项目的关键指标。”

本文改编自戈登·哈夫的 开源如何吞噬软件(Apress 2018 年)。

User profile image.
戈登·哈夫是红帽技术传播者,是客户和行业活动的常客和备受赞誉的演讲者,并且专注于包括红帽研究、开源采用和广泛新兴技术领域在内的领域。

2 条评论

需要记住的是,可能可以通过巧妙地解释数字的含义或实际操纵数据来“玩弄”指标。

关于开源软件指标的精彩文章。考虑一下 CHAOSS gmd-wd 正在做的事情可能会有所帮助。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.