你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
有关正式化软件开发和管理的建议
适用于此 Azure 精心构建的框架卓越运营清单建议:
OE:03 | 实现软件构思和规划过程的正式化。 借鉴既定的行业和组织标准。 使用常见、优先积压工作和足够详细的规范。 根据结果,推动规划过程中的持续改进。 |
---|
本指南介绍了根据既定标准管理软件开发实践的建议。 你的团队生成高质量的软件的能力依赖于一种结构化的协作式开发规划方法。 产品所有者和经理必须能够清楚地理解并向利益相关者阐明开发人员在开发周期的任何时候所做的工作。 反过来,开发人员必须通过编写良好的功能、用户情景和验收条件来理解开发周期的目标。 既定标准定义应如何执行开发做法,并允许工作负荷团队有效地协作,降低对目标和期望的混淆风险。
关键设计策略
正式化软件开发实践,以帮助确保产品所有者、项目经理和开发人员了解每个冲刺的目标,并向利益干系人提供一致的质量。 若要查看有关开发实践的指导,请参阅 持续集成指南。
建立协作和通信标准
协作:定义对工作负荷的建议更改的过程应该是协作工作。 对工作负荷的大多数更改都会影响多个函数和/或组件,因此尽可能多地涉及工作负荷团队成员将有助于确保不会错过重要的注意事项,并且每个人都知道对其特定域的影响。 协作还有助于明确定义更改的范围,以及如何将完成更改所需的任务划分为定义完善的工作项,因为跨领域具有专业知识的大型组将能够为所需工作提供经验支持的估计。
通信:定义产品所有者和项目经理的标准协议,以在内部和外部推广即将发布的版本。 例如,可以建立一个标准,以便与外部方就即将发布的版本进行通信。 该标准可能规定应在发布前两周发送通信,并在发布前 24 小时发送提醒。
查看:定期通过开发周期回顾和验尸对开发实践进行内部审核。 进程反射应该是无可指责的,应该专注于可以作为改进应用的学习。 确保团队反映用户情景和任务在定义必要任务和时间估计的准确性方面的有效性。
报表:标准化利益干系人的报告,这些报表提供侧重于更改的有用指标。 通过专注于更改,可以跟踪产品加速和减速。 有用的指标可以包括以下方面的更改:
采用的每月增长率。
性能。
训练时间。
事件的频率。
报告不应用作评估个人工作的工具,因此请避免每个工程师的情景点或代码行等指标。
选择行业标准工具
使用成熟的行业证明的工具和流程,如 敏捷、 Scrum 和 看板。 开发自己的工具和流程是一项重大任务,需要花费时间和开发周期,否则可能会花在工作负荷上。 大多数经验丰富的 DevOps 工程师和产品所有者都熟悉这些类型的工具和流程,因此采用它们的学习曲线应最少。 同样,新员工的入职流程也将受益于使用标准工具和流程,因为它们可能已经接触相同的工具和流程。
权衡:如果敏捷方法过于规范,那么敏捷方法可能会变得过于严格。 努力在定义完善的标准与创新之间实现平衡。
采用标准来捕获最终用户方案
用户情景:标准化用户情景的模板。 确保每个用户情景都是一个离散的工作单元,从最终用户的角度编写。 编写良好的用户情景应具有以下特征:
每个用户的故事应该彼此完全独立。 使用户情景彼此独立,可避免与重叠工作产生任何混淆,并帮助团队了解在给定用户情景上是否依赖于任何其他工作,这有助于安排和确定优先级。
每个用户的故事都是可谈判的。 最终用户和工作负荷团队成员的观点对于捕获可在短时间内完成的现实用户情景至关重要。
用户情景对最终用户很有价值。 从最终用户的角度编写用户情景时,可以捕获他们感兴趣的更改,并增加其体验价值。 随着用户情景分解为工作项,保持此焦点有助于确保每个部署提供改进的体验。
用户情景所需的工作量具有很高的置信度。 如果没有能够接近给定用户情景所需的小时数,规划将很困难,并且缺少最后期限的可能性增加,这可能会导致对其他计划工作产生级联影响。
编写良好的用户故事很小,因此可以在几周内完成。 较小的范围故事有助于保持其可引入和管理性,并帮助使工作项保持可完成。
用户情景应可测试。 如果不能够测试某个功能是否已交付,最终用户无法确信目标已经实现。 即使尚未为给定的用户情景编写测试,也应该清楚地了解如何开发测试来证明功能的交付。
验收条件:标准化验收条件的模板。 确保验收标准专门与用户情景相关,并且可以使用一个或多个验收测试明确证明。
标准化部署做法
部署:计划使用频繁的小型迭代部署,而不是大型不经常部署。 从项目管理的角度来说,使用此方法可帮助使用户情景和工作项易于管理,并降低部署失败时出现大规模问题的风险。
术语:标准化已完成的开发周期的定义,以帮助确保成功完成支持功能(包括测试、文档和辅助功能)。
跟踪:确保开发过程可跟踪。 应清楚地跟踪生产工作负荷的状态,并将关联的代码追溯到质量保证测试、验收标准、用户情景和功能。 例如,在某些情况下,详细跟踪也可能是法规要求,例如医疗保健。
Azure 便利化
Azure Boards 是一种基于 Web 的服务,使团队能够在整个开发过程中规划、跟踪和讨论工作。 它非常适合基于敏捷的开发实践。
GitHub Projects 是一种可自定义的项目管理工具,可以使用 GitHub 中的问题和拉取请求来组织项目和集成。
相关链接
社区链接
卓越运营清单
请参阅完整的建议集。