通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

用于正式化开发实践的体系结构策略

适用于此 Azure 精心构建的框架卓越运营清单建议:

OE:03 在整个软件开发生命周期中正式化流程,从理念到交付,并使流程对团队和利益干系人透明。

软件开发不仅仅是生成代码。 开发人员需要清楚地了解要生成的内容和原因,而产品所有者和经理则保持对正在执行的作及其进展方式的可见性。 通过建立一致的做法,团队可以高质量地交付,尽早发现风险并管理期望,同时跟踪进度。

本指南提供有关如何以结构化、可预测和协作方式运行软件开发的建议。

建立管理更改的标准

在软件开发中,每个工作单元都是一个变化。 即使是新功能也表示从不存在的状态转变为已实现的状态。

启动请求更改的工作时,请遵循以下方面:

  • 协作。 团队应协同工作,而不是单独工作。 大多数更改会影响多个组件或角色。 尽早让开发人员、测试人员、运营和产品利益干系人参与,以确保不会错过重要细节,并且每个人都了解对其区域的影响。 它还会导致更准确的工作量估计,因为具有相关经验的人可以贡献他们的观点。

    使协作目标保持简单。 就更改范围达成一致,确定依赖项,并将工作分解为清晰、可管理的任务,并将其记录在积压工作中。

  • 通信。 标准化团队在内部和外部传达发布信息的方式。 定义应与外部受众(如客户)共享的信息、适当的详细信息级别、所需的载入或支持文档以及通信时间线。 例如,在发布前两周通知利益干系人,并在部署前 24 小时发送提醒。

  • 回顾。 定期评估每个开发周期,以识别有效之处、失误之处以及可以改进的地方。 保持这些评论无可指责,并专注于学习。

    使用此机会来检查标准做法是否有效。 例如,是否明确定义了开发人员任务,时间估计准确,流程按预期工作。

  • 报表。 标准化有关产品变化方式的报告。 使报表专注于产品增长,而不是单个开发人员的工作效率。 例如,利益相关者可以跟踪:

    • 采纳增长
    • 性能改进
    • 载入时间
    • 事件频率

选择行业证明的工具

使用 敏捷Scrum看板等经过验证的流程,而不是发明自己的流程。

使用经过验证的方法可以节省时间、减少工作量,并使团队成员更容易,因为大多数人应该已经熟悉这些工具。 标准工具还简化了新员工的加入,并改进了团队之间的协作。

权衡:如果敏捷方法过于规范,则方法可能会变得过于僵化。 努力在定义完善的标准与创新之间实现平衡。

标准化开发工作记录方式

标准化用于捕获离散工作单元的模板。 它应从用户的角度编写,并应遵循以下原则:

  • 独立。 一个故事不应该依赖于另一个故事以避免重叠的工作。
  • 可谈判。 开放讨论和细化,因为工作必须从发展角度现实,并符合业务目标。
  • 有价值。 必须显著改善用户体验。
  • 可估量的。 团队可以自信地估计工作量,以便及时交付该功能。 首选可在几周内完成的小型项目。
  • 可测试。 有一种明确的方法来验证该功能的功能和部署。

注释

生产中的所有开发资产都应可追溯到代码、测试、验收标准和积压工作项。 跟踪支持质量控制、简化调试,并帮助满足受监管环境中的合规性要求。

此外,标准化验收标准的模板,使团队和利益干系人知道工作已完成。 每个工作单元都应是一个明确且可以通过测试进行验证的验收标准。

确保每个人都同意“完成”对开发周期意味着什么。 这应包括已完成的代码、完成的测试、更新的文档和已解决的辅助功能。 明确的定义可防止未完成的工作堆积。

AI 的机遇:可以基于组织政策模板化编写工作说明和验收标准。 使用 Copilot 从这些模板生成初始草稿。 AI 还可以通过对这些模板验证文档来强制实施标准。 对于高级方案,请使用基于标准模板的 AI 代理来使用代码评审和根本原因分析的输出,然后自动为已识别的缺陷和改进创建合规的工作项。

标准化编码做法

编码做法定义编写和协作代码时开发人员遵循的约定和准则。 这些做法可确定代码在团队内部和跨团队进行结构化、记录和审查的方式。 它还有助于加速开发人员加入并降低实现变化导致的缺陷。

  • 开发环境和工具。 跨团队标准化 IDE 配置、开发工具和批准的代码生成工具。 强制使用通用库、框架和包管理标准来促进重用、确保一致性并符合组织安全要求。

  • 编码约定。 定义和记录涵盖命名约定、代码结构、格式设置的编码标准。 建议在处理异常和检测的代码块中强制实施标准。 明确的约定使代码更易于阅读、理解和维护,并帮助团队跨功能和组件一致地工作。 确保所有开发人员都可以访问这些准则,并随着代码库的发展而定期更新。 例如,可以在 Visual Studio 环境中使用 EditorConfig 来强制实施编码样式。

  • 代码存储库。 在所有存储库中建立并强制实施标准化分支策略,例如 Gitflow、GitHub Flow 或 Trunk-Based 开发,以确保代码集成和发布实践一致。

  • 对等评审。 定义请求标准,这些标准指定可接受的拉取请求大小、所需的标题和说明格式以及强制评审要求。 要求对每个代码更改进行对等评审,以确保遵循标准。 为 PR 评审定义协作模型,该模型为职责、反馈和审批设定预期。

  • 常见工件的模板。 PR 说明、提交消息和单元测试是可以模板化的经典示例。 请确保文档包含目的、上下文、测试步骤。

  • 测试覆盖率。 要求对所有新代码进行单元测试,并对现有代码进行重大修改。 测试应遵循商定的模式,并包含有意义的断言来验证功能。

AI 机会:AI 工具可以在编码和评审过程中自动执行重复的手动任务。 GitHub Copilot 可以生成标准化的代码块、单元测试和拉取请求说明,从而减少在例行工作中花费的工作量。

SonarQube 或 Copilot Labs 等工具能够自动识别代码不符合标准、测试覆盖率缺失以及常见反模式的问题。 将这些重复验证任务卸载给 AI,使团队能够专注于更有价值的工作。 但是,由于开发实践对于正确实现业务逻辑和总体工作负荷质量至关重要,因此人工审查仍然至关重要。

标准化集成做法

集成是指在开发生命周期中移动时用于验证、保护和打包代码的自动化过程和约定。 这包括如何在持续集成管道中生成、测试、扫描和准备部署代码更改。

标准化集成做法是必要的,以便根据定义的质量和安全要求验证代码,并为开发人员启用更快的反馈循环。

  • 生成自动化和集成测试: 标准化在每个代码推送上运行的自动化生成,并在适用的情况下使用定义的覆盖率阈值强制实施自动化单元和集成测试。
  • 代码质量分析: 使用批准的工具应用静态代码分析和质量入口,以确保代码在提升之前符合定义的质量标准。
  • 依赖项管理: 持续扫描依赖项以查找过时或易受攻击的组件,并集成安全扫描,包括 SAST、DAST 和机密检测。
  • 项目管理: 标准化包和项目版本控制、存储和保留策略,以确保可追溯性和可重现性。
  • 监视和报告: 收集和监视生成和管道指标,以跟踪质量、性能和合规性。

AI 机会:考虑 AI 驱动的工作流来自动执行重复集成任务,例如生成 CI/CD 管道配置、创建测试基架以及检测生成或测试问题,例如缺少测试或依赖项问题。 虽然 AI 加速了管道设置,但请确保保留人工评审以验证关键决策。

Azure 便利化

Azure Boards 是一种基于 Web 的服务,使团队能够在整个开发过程中规划、跟踪和讨论工作。 它非常适合基于敏捷的开发实践。

GitHub Projects 是一种可自定义的项目管理工具,可以使用 GitHub 中的问题和拉取请求来组织项目和集成。

卓越运营清单

请参阅完整的建议集。