我见过的iOS开发最佳实践在GrubHub上

鉴于GRUBHUB是我工作过的第一家技术公司,所以我分享的一些实践可能会受到限制。 在加入GRUBHUB之前,我曾在企业公司工作,这些公司通常在业务和技术实践之间存在分歧。 他们不一定彼此一致。 通常,企业拥有更大的发言权,因为它们控制着公司的财务方面。 因此,我喜欢在技术驱动的公司工作。 这也是我第一次体验真正的敏捷开发过程。 以下几节是我作为开发人员的经验。

团队架构

为了使该过程正常进行,每个人都必须在同一页面上。 在我们的案例中,利益相关者包括开发人员,产品所有者,分析代表和质量检查工程师。 有时,设计师需要参与。 在GRUBHUB,我们非常重视产品的质量。 因此,我们选择以高质量实现较少的功能。

产品管理

在GRUBHUB,我们与产品所有者紧密合作。 产品所有者负责管理其票务的优先级,我们将其作为一个团队进行梳理。 修饰过程每周进行一次,持续30分钟,偶尔会召开临时会议来修饰需要紧急完成的其他票证。 在会议期间,开发人员可以确定需求中的任何差距,并在组合中添加任何单元测试和功能测试,因为开发人员还负责实施自动化测试(单元测试和功能测试)。 我们的质量检查团队会进行更多的探索手动测试,以检查整个应用程序的运行状况。 他们有更全面的看法。 这就是质量检查团队参与修饰过程的原因。 它们有助于确保票证包含需要由开发人员自动化的用例。 产品负责人负责提供足够的详细信息,包括验收标准,设计模型,API请求,流程和测试数据。

在计划过程中,开发团队的负责人将根据产品所有者的优先积压工作,获取冲刺门票,并进行相应分配。 在这一点上,任何经过修饰且可用于计划的票证都将具有开发人员要处理的所有详细信息。 由于我们的冲刺周期大约为两周,因此我们所有人都在确保票证上有足够的信息以在一周的短时间内完成开发。

发展管理

除非包含单元测试/功能测试并通过代码更改,否则不会创建任何请求请求。 为了使开发团队能够做到这一点,我们在工作开始之前进行了设计审查,编码风格指南,持续集成系统以及代码审查流程。

开发人员在其各自的分支机构工作,并负责在合并到主分支机构之前从其分支机构创建临时构建,以完成所有验证。 验证包括与设计人员进行的任何视觉质量检查测试以及与负责任的产品所有者进行的功能测试。

开发人员需要完成的其他其他任务包括在登台环境中进行实验。 需要注意的一个重要关键是,我们有很多时间专注于开发而不会受到任何干扰。 所有会议均安排在中午12点之前和下午4点之后。 因此,这段时间之间的任何时间都致力于开发。

发布管理

我们的发布周期为每两周一次,因此每天都会举行发布会议,以对任何新缺陷进行分类并检查发布状态。 与会人员包括质量检查小组和开发人员主管。 在这段时间里,他们还会优先处理需要解决的所有关键错误。 任何超出范围(包括产品所有者期望的其他更改)的提议,都会将它们放入待办事项列表中,以优先考虑将来的冲刺。

我们的目标是最终将发布周期缩短至一周,随着我们完善上述流程,我们将能够实现这一目标并更频繁地发布到应用商店。 我们的流程是可预测的,为开发人员完成工作以及按时按计划交付提供了一定的稳定性。

然后去哪儿?

您是否在团队中经历过类似的最佳实践? 您是否发现其他有价值的东西可以提供质量。

最初发表于《如何在Swift中做到》。

Interesting Posts