Devops业务价值流:软件研发最佳实践

在当今快速迭代的软件开发环境中,DevOps业务价值流已成为推动软件研发高效与质量并重的关键实践。软件研发阶段作为产品生命周期的核心环节,其每一步都承载着将创意转化为现实的重要使命。在历经需求澄清的精准定位、架构设计的宏观规划以及项目初始化的周密筹备后,项目正式迈入实施的快车道。此时,项目经理适时组织启动会议,旨在汇聚团队智慧,确保每位成员对项目目标、职责分配及预期成果形成统一共识。遵循既定的质量规范,团队将全力以赴,依次推进编码、自测环节,并顺利将成果转交测试团队,为后续的持续优化与交付奠定坚实基础。此阶段,不仅是技术实力的展现,更是团队协作与效率的双重考验。

5.1 迭代启动会议(迭代排期会)

5.1.1目标:

目标:明确迭代目标、任务分配、时间节点和资源需求、团队拉齐共识。

5.1.2具体流程:
  • 会议召开:项目经理或团队负责人主持会议,明确迭代目标、优先级、任务分配和时间节点。

  • 任务认领:对任务划分确认,识别出不合理的更新,拉齐共识,确保任务分配的合理性和高效性。

  • 制定计划:根据会议实际情况更新详细的迭代计划,包括里程碑、检查点和风险管理。

5.2 详细设计

5.2.1目标:

基于架构设计与个人任务需求,完成自己所属任务的详细设计。

5.2.2具体流程:
  1. 需求深入剖析

    1. 详尽理解产品需求文档,明确业务逻辑、功能需求及用户实际使用场景。

    2. 与产品经理及团队其他成员沟通,确保对需求有全面且准确的认识。

  2. 前端界面与组件设计

    1. 根据需求分析结果,规划前端页面布局与交互设计。

    2. 设计前端组件,明确组件的职责、属性、事件及与其他组件的交互方式。

  3. 后端接口详细规划

    1. 根据前端需求与业务逻辑,设计后端接口,明确接口的功能、请求方式、参数及返回值。

    2. 规划接口间的调用关系与数据流,确保后端服务的逻辑清晰、高效。

  4. 后端数据库表结构确认与修改

    1. 确认设计合理性:技术组长在架构设计阶段已完成的数据库表结构设计基础上,结合最新的业务需求和功能变更,确认设计的合理性和适用性。这包括检查表结构的完整性、字段类型的准确性、索引的有效性以及约束条件的合理性。

    2. 修改设计:如果发现设计存在不合理之处或与业务需求不符,研发人员需与架构师或数据库管理员沟通,共同讨论并修改数据库表结构设计。修改可能涉及调整字段、增加或删除表、修改索引或约束条件等。

    3. 文档更新:在确认和修改设计后,更新相关的数据库设计文档,确保团队成员对最新的数据库表结构有准确的理解。

  5. 设计评审与迭代

    1. 组织设计评审会议,邀请产品经理、架构师、测试工程师等相关专家参与。

    2. 在会议上详细展示设计成果,包括前端界面设计、后端接口设计、数据库表结构等。

    3. 认真听取评审专家的意见与建议,根据评审结果进行必要的修改与优化。

    4. 如有需要,进行多次迭代设计,直至设计成果满足业务需求与团队期望。

5.3 代码编写

5.3.1目标:

按照详细设计文档编写高质量、可维护的代码。

5.3.2具体流程:
  • 工具准备:统一安装IDEA、VSCode等开发工具,并配置通义灵码插件、Alibaba Java Coding Guidelines、Checkstyle、Findbugs、SonarLint等代码规范和检查工具。

  • 编码规范:遵循统一的编码规范,确保代码的可读性和可维护性。

  • 代码编写:按照详细设计文档进行编码,实现模块功能。

5.4 单元测试

5.4.1目标:

确保自己研发模块的功能正确,提高代码质量和稳定性。

5.4.2具体流程:
  • 编写单元测试:针对每个模块的功能编写单元测试,确保功能的正确性。

  • 运行单元测试:使用测试框架(如JUnit、TestNG等)运行单元测试,检查测试结果。

  • 修复问题:根据测试结果修复代码中的问题,并重新运行单元测试,确保问题得到解决。

5.5 本地质量扫描

5.5.1目标:
5.5.2具体流程:
  • 运行扫描工具:在代码编写过程中或提交前运行扫描工具,检查代码质量。

  • 修复问题:根据扫描结果修复代码中的问题,并重新运行扫描工具,确保问题得到解决。

5.6 提交代码

5.6.1目标:

确保代码提交的规范性和可追溯性。

5.6.2具体流程:
  • 编写Commit message:在提交代码时,编写清晰明了的Commit message,说明本次提交的目的和修改内容。

  • 代码审查:提交代码后,通过代码审查工具或人工审查方式,确保代码质量。

  • 合并代码:经过审查后,将代码合并到主分支或相应的功能分支中。

5.7 研发环境进行集成测试

5.7.1目标:

在研发环境中进行前后端拉通测试,确保系统功能的完整性和稳定性。

5.7.2具体流程:
  • 前后端联调:前后端开发人员进行联调,确保接口的正确性和数据的完整性。

  • 全流程测试:按照业务流程进行全流程测试,确保系统功能的完整性和稳定性。

5.8 版本转测

5.8.1目标:

将研发环境通过自测与质量扫描的代码及脚本merge到测试环境,进行更全面的测试。

5.8.2具体流程:
  • 代码及脚本merge:将代码及脚本merge到测试环境,确保测试环境的代码与研发环境保持一致。

  • 基础数据准备:在测试环境中准备字典、配置等基础数据,确保测试环境的真实性。

  • 发布转测范围说明:编写转测范围说明文档,明确测试范围、测试重点、测试方法和测试环境等信息。

  • 通知测试部署环境并进行测试:通知测试团队部署测试环境并进行测试,确保系统功能的正确性和稳定性。

相关推荐
。puppy40 分钟前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色1 小时前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
光芒再现dev1 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
AndyFrank1 小时前
mac crontab 不能使用问题简记
linux·运维·macos
成都古河云2 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
算法与编程之美2 小时前
文件的写入与读取
linux·运维·服务器
Amelio_Ming3 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
梓贤Vigo3 小时前
【Axure高保真原型】PDF阅读器
交互·产品经理·axure·原型·中继器
JuiceFS3 小时前
好未来:多云环境下基于 JuiceFS 建设低运维模型仓库
运维·云原生