建立开发标准

已完成
通过标准化开发做法、强制实施质量关卡以及使用系统化的变更管理跟踪进度和成功案例来优化工作效率。

开发团队负责在发布之前解决工作负荷问题,并尽量减少摩擦。 注重开发人员的效率,通过优化来实现从编码到测试结果的快速周转周期。 实施有效且规模合适的流程,以规划和标准化技术活动,并推动团队和利益干系人达成共识。

示例场景

Contoso Ticketing 是一家小型初创公司,为中型公司提供票证业务线 (LOB) SAAS 解决方案。 新客户的加入是一个复杂的过程,需要进行产品自定义和自定义开发才能与客户的环境集成。 实施团队使用 Azure DevOps 作为协作和交付的平台,但不遵循任何正式的开发方法。

采用行业标准进行开发

使用一种根据工作负荷和团队大小的需求进行适当调整的行业标准软件开发方法。 维护一项在所有角色中共享的积压工作 (backlog)。

采用众所周知的方法,确定了项目的节奏。 它通过为团队成员提供明确的期望和责任来消除流程歧义。

通过针对通用列表进行跟踪,可以使用标准做法来细化任务并确定其优先级。 项目将有更好的机会按时交付。

标准方法有助于风险管理。 通过精细的里程碑评审,开发人员可以在潜在问题成为明显问题之前解决它们。

Contoso 的挑战

  • 公司的主要产品越来越受欢迎,集成团队现在正处理比以往更多的同步实施项目。 为了跟上增加的工作负荷,团队不得不增加人数。
  • 团队的成长加上正式流程的缺乏带来了一些挑战,例如团队成员之间的沟通不清晰、会议随机安排且低效、开发周期频率不高且毫无计划。 其中几个加入项目现已落后于计划,公司领导层已要求团队做出必要的改变以纠正这种情况。

应用方法和成果

  • 为了克服这些挑战,团队决定采用 Scrum 方法,这是一种常用的适合软件开发的敏捷框架。
  • Scrum 将帮助团队解决所面临的一些问题。 除此之外,Scrum 还为开发过程提供了清晰一致的结构,以及预定义的角色、事件、生成工件和规则。 共同承担的积压工作 (backlog) 以及短期开发冲刺 (sprint) 的节奏将有助于团队实现共同的愿景,定期且可靠地为客户带来价值。

测试左移

建立强调在开发生命周期早期进行测试的质量保证流程。 包括计划内测试过程的所有生成工件,其中有作为功能发布或更新的一部分的应用程序组件、基础结构和数据平面操作。

当生成工件在环境中升级时,将其视为不可变的生产工件,这样你就会在生成工件通过质量关卡时获得信心。

在可行的情况下,自动执行例行检查。

质量保证可确保功能和非功能要求得到满足,从而对客户产生积极的影响。

Contoso 的挑战

  • 工作负荷团队的功能测试策略结合使用了自动测试和手动测试。 他们的测试方法并未涵盖系统的所有方面,例如性能、安全性和可用性。 他们也没有一致的以完全自动化的方式将代码部署到不同环境的方法,这引入了可变性和不确定性。
  • 客户加入工作的数量和复杂性的增加加大了测试策略的挑战,导致频繁出现 bug、返工和客户不满意的情况。

应用方法和成果

  • 工作负荷团队会着手改进其测试策略并提高其部署管道的一致性和可预测性。
  • 他们首先会为正在开发的每个功能或自定义创建测试计划,涵盖功能需求和非功能需求。 他们使用 Azure DevOps 来管理测试用例、测试数据和测试结果。 他们在部署管道中设置质量关卡,以便在将生成工件提升到下一个环境之前验证代码、配置和部署的质量。
  • 实施这些改进后,团队发现部署失败的数量以及生产中的 bug 和事件的数量有所减少。 因此,质量、交付速度和客户满意度都得到了大幅提高。

衡量开发效率

报告进度和趋势以衡量效率。 跟踪并报告 bug、失败更新、部署时间和反馈循环的趋势,以推动开发做法的改进。

Contoso 的挑战

  • 工作负荷团队最近实施了多项更改,以提高客户加入流程的质量和可预测性。 然而,公司在衡量和报告这些更改的影响方面面临挑战。 遗憾的是,公司没有可靠的数据或指标来显示质量和可预测性的改进程度,或者显示哪些更改比其他更改对改进的贡献更大。
  • 公司需要一种方法来量化和传达其流程投资的收益,以便能够在未来确定其资源和工作的优先顺序。

应用方法和成果

  • 团队决定开始利用 AzDO 中的报告功能(团队已经在使用这些功能),以便能够量化一段时间内的改进并优先考虑未来投资的资源分配。
  • 他们首先使用几个现成的报表:
    • 速度报表
    • 累积流图
    • Bug 趋势:随着时间的推移,有多少 bug 被创建、解决和关闭,以及它们如何影响质量指标。
    • 部署统计信息:将软件从代码交付到生产环境需要多长时间,以及它与目标和基准的比较情况。
  • 团队还计划在不久的将来使用仪表板和 Power BI Analytics 报表来开发自定义报表。

知识检查

1.

以下哪一项是用于维护积压工作 (backlog) 的行业标准工具的示例?

2.

以下哪项策略可以帮助你提高开发速度和效率?

3.

Contoso 如何确定最近的哪些流程更改对于提高质量和效率最有效?