优化 Gradle 问题积压待办事项

目录

介绍

Gradle 最重要的成功因素之一是其社区。几乎每天都有用户提出新功能建议、发现和重现缺陷或提交包含贡献的拉取请求。我们感谢用户创建的每一个问题。谢谢!

在像 Gradle 这样成功的项目上工作会带来挑战,无论是问题和贡献的数量,还是决定团队哪个方面具有最高优先级。即使我们不喜欢承认,我们的能力也不是无限的。我们希望我们的团队能够专注于为用户创造最大的价值。这意味着修复正确的错误并实现最佳的功能。考虑到我们社区的多样性,这不是一件容易的任务。我们希望找到正确的功能/缺陷与我们的用户一起完成,而不是被我们可能做的海量事情所麻痹。

Open Issue trend over time for the Gradle Built Tool

理由 #

作为我们日常工作的一部分,我们会对您创建的新问题进行分类,决定哪些问题应该进入下一个版本,并检查哪些问题是社区投票最多的。同时实际修复现有问题和实现新功能。我们对目前的工作流程感到非常满意和高效。我们目前不太擅长的一个方面是管理我们剩余的积压工作。来自外部的想法和贡献的数量超过了我们在合理的时间范围内可以处理的任务数量。考虑到我们的积压工作中存在大量问题,无论是功能、错误还是问题,真的很难找到时间定期审查所有这些问题。我们需要确定哪些错误在较新版本的 Gradle 中仍然可以重现,以及哪些用例已经实现(可能只是通过使用其中一项新功能)。

方法 #

作为工程师,即使缺陷没有修复,我们有时也会难以关闭它。几年前,我本人就经历过这种情况。在之前的一家公司,我们刚刚聘请了第一位产品经理。她在第一周就关闭了我们全部 2000 个问题的积压待办事项……。每一个。单独的。问题。我震惊了。我怒火中烧。今天回想起来,这是她当时为团队所做的最好的事情,帮助他们重新专注于重要的部分。在接下来的几年里,团队能够再次专注于最重要的事情,并将任务积压控制在团队定义的限制范围内。但别担心,我们关于 Gradle 积压待办事项的计划不会那么激进 :)

保持积压待办事项处于我们可以从中得出优先级排序的状态,对于 Gradle 项目的成功至关重要。您,作为我们的社区,通过帮助我们识别重要的部分并关闭过时的issue,发挥着至关重要的作用。不仅如此,我们还希望确保您知道团队正在做什么,我们的优先级是什么,以及哪些功能/缺陷由于我们可用的带宽而超出范围。为了帮助我们完成这项工作,我们决定引入 “Probot: Stale”,这是一个机器人,它会查看 issue 的活动(标签、评论等)以确定它们是否仍然活跃。如果它们在一段时间内(例如 2 年)处于非活动状态,它会将它们标记为 stale,让提交者和成员有机会进行干预。一旦标记为 stale 标签,这些 issue 将有 21 天的宽限期,然后它们将被自动关闭。

Probot Stale

这对你意味着什么? #

我们理解看到旧的 issue 被自动关闭可能会让人感到难过,特别是如果您打开了 issue 并且关心它。但是 关闭过时的 issue 并不意味着我们不关心。事实上,恰恰相反。这将帮助我们(重新)发现最重要的 issue 以确定优先级,您可以为此提供帮助。因此,与其让您的问题在 2000 多个未解决问题的茫茫人海中无人注意地躺着,您现在可以利用这个机会就您关心的问题再次联系我们。

重要的是要意识到这些 issue 被标记和关闭为过时的。它不是“这是无效的”或“我们不同意这是一个很酷的功能”,它真的只是“过时的”。这意味着很长一段时间以来没有人有带宽来关注它。

展望未来 #

如果您关心的 issue 被标记为过时或已关闭,但它仍然是您关心的问题:请告知我们并更新该 issue,以便我们可以重新打开它以供考虑。如果您针对最新的 Gradle 版本验证了 issue,并且如果您确保附加了一个示例项目,该项目重现了该错误或演示了您错过的功能的用例,您将为我们提供很大帮助并增加取得进展的机会。我们将更开放地表示“我们没有带宽”。希望这将引发关于手头 issue 重要性的新对话 - 而不是让它在积压待办事项中坐着,在未来的几年里被忽视。

这是否意味着您应该停止提交 issue 和 PR?当然不是!请继续报告您发现的 issue,发送您的想法/功能请求,并继续提交这些 PR。我们非常乐意审查这些并相应地安排它们。这项更改使我们 Gradle 团队能够重新专注于为您(我们的社区)提供最高价值的方面。

讨论