“小而强大”— Plex 如何为其全球社区提供服务

Plex App 徽标:在黑色背景上写着 Plex 字样,周围环绕着柔和的蓝色和粉色光芒。

"Plex 背后的团队有一个处理错误和解决潜在问题的绝妙策略 — 你得首先找到它们。“我们已经制定了一个非常出色的流程,”Apple 平台 Plex 高级软件工程师 Steve Barnegren 说道,“在出现相关问题时,事情就不会出错。” Plex 于 2009 年推出,旨在成为“流媒体内容的全球社区”,在 Plex 工作七年多的工程经理 Alex Stevenson-Price 表示。Plex 是流媒体服务和媒体服务器的组合,其目标是全面覆盖流媒体体验,包括发现内容、内容管理和整理观看列表等等。 "

这让我们有更多时间来研究合适的解决方案。

Ami Bakhai,Plex 平台和合作伙伴产品经理

"为了让一切可顺利进行,Plex 团队进行了为期六周的冲刺,定期提供分块思考、定义工作流程中的停止点以及评估后续步骤的机会。“我注意到,在最终确定功能或推动某些事情向前发展时,这提供了更多助力。”平台和合作伙伴产品经理 Ami Bakhai 表示,“每个团队都有自己的职责。这让我们有更多时间来研究合适的解决方案。”

Plex 团队迭代、分发和发布的速度极快,因此测试功能和发现问题可能是一项艰巨的任务。(Plex 在其 Apple tvOS 旗舰产品、iOS、iPadOS 和 macOS App 的冲刺期间定期发布更新。)"

"尽管 Plex 在各个平台拥有广泛影响力,但背后并无庞大的团队。该团队完全远程办公,依赖于精心打造的开发者工具组合 (例如 Xcode Cloud 和 TestFlight)、巧妙的内部组织、Slack 集成,以及一个活跃的社区 (由十多年来培养的忠实 Beta 版测试人员组成)。“我们规模相对较小,”Plex 产品营销总监 Danni Hemberger 表示,“但却十分强大。”

今年夏天,Plex 团队对其 QA 流程进行了重大更改:他们没有在发布之前引入 QA 团队,而是将 QA 转变为针对每个拉取请求展开的连续流程。“QA 团队会在最后找到一些合适的东西,这是他们开始尝试打破各种条条框框的时刻。”Barnegren 笑着说,“现在我们可以说:‘一切就绪,我们已经加入了十项功能,所有这些功能都已得到 QA 团队的密切关注,我们已经准备好按下开启按钮了。’”"

现在我们可以说:“一切就绪,我们已经加入了十项功能,所有这些功能都已得到 QA 团队的密切关注,我们已经准备好按下开启按钮了。”

Steve Barnegren,Plex Apple 平台高级软件工程师

"持续的 QA 流程是持续交付流程的便捷“镜像”。此前,Plex 在向公众发布新版本之前进行了测试。现在,通过 Xcode Cloud,Plex 将每晚的构建版本发送给所有员工,确保每个人都可以访问该 App 的最新版本。

一旦内部敲定了版本,它就会转移到 Plex 的 Beta 版测试社区 (称为“Beta 版测试城市”可能更准确)。该社区约有 8000 名人员,其中一些人从 Plex 成立之初就已经在了。“这种持续的反馈循环非常有价值,尤其是当你拥有了解自己核心产品的高级用户时,”Stevenson-Price 说。

所有这些反馈和沟通均由 TestFlight 和 Plex 的客户论坛提供支持。“这一点尤其重要,因为我们有用户为应用程序的某些部分提供个人媒体,并且可以采用各种罕见或复杂的格式,”Barnegren 说。 "

"最重要的是,对于每一项新功能和每一个新错误的修复,整个过程已实现自动化。Plex 团队无需额外的工作或手动交付,就可以直接跳转到最新版本。对于办公地点分布在全球各地的公司来说,这是一个特别方便的功能。“这很好地提醒我们:‘嘿,这就是即将发生的事情’,可让我的营销团队随时了解情况,”Hemberger 说。

这也是持续集成系统 (CI) 的极佳用途之一。“作为独立开发者,我可能无法客观地看待自己所花费的时间。但我认为,所有独立开发者都应该尝试像 Xcode Cloud 这样的 CI。”Stevenson-Price 说,“我认为,一些独立开发者并不总能看到纸面上的好处,他们会说,‘我自己构建 App,为什么需要 CI 来为我构建呢?’但这是一张安全网。每当你推送代码时,App 都会以一致的方式进行测试和构建。这非常有价值,特别是对于像我们这样适用于多个平台的 App。而且,还有很多工具可供你使用。一旦用惯了,你会爱不释手的。”"

Learn more about Plex

Download Plex from the App Store