这是我参与「第三届青训营 - 后端场」笔记创作活动的的第 5 篇笔记。
在后端的开发中,一个需求功能的上线有一套流程。在各个阶段需要跟不同的角色和平台打交道。下面简单说明此功能流程:
流程介绍
进行团队协作,就需要有流程。
瀑布模型
-
按照时间节点参与会议,产出文档(其中包括系统分析,概要设计,详细设计,接口文档,提测文档等)
-
按照时间节点交付测试
-
按照时间节点发布
敏捷开发
-
跟随迭代制定规划,进行开发
-
参与待办事项整理会议
-
迭代计划会议 (选择迭代的任务和估算工作量)
-
每日站会
-
评审会
-
反思会
规模化敏捷
流程的阶段
需求阶段
要站在用户的角度思考,给出后端系统视角的建议,估算任务优先级,不浪费时间讨论不存在的问题。
开发阶段
云原生下的开发:容器化技术、微服务技术、WebIDE
团队分支策略
保证代码规范
自测:单元测试、功能环境测试、测试数据构造
文档:需要有技术设计文档
测试阶段
功能测试:测试新开发的功能,因此需要有能模拟线上的开发和测试环境 (之间能相互隔离),可以独立验证不同的新功能。
集成测试:把几个功能合在一起测试
回归测试:验证旧的功能不被新的改动影响
发布阶段
蛮力发布:用新版本覆盖老版本。
金丝雀发布
滚动发布:通过金丝雀的方式逐步放大流量
蓝绿发布:先把流量全部切换到Group 1,升级Group2,然后再把流量全部切换到Group 2,升级Group 1。最终恢复流量。
红黑发布:发布时扩容一个集群升级新版本,切换流量后下掉老版本的集群。