本文在研发组织管理中的位置:
研发组织管理--项目管理--敏捷迭代管理--上线流程和规范
目的
确保不会由于不规范的上线流程导致线上问题或延迟上线;
时间&频次
每次上线(默认一个迭代1到2次);
议程
1. 上线日16:00测试封板代码, 锁定待上线Release分支;2. 测试通过上线计划发送测试最终结果;3. 研发上线负责人基于上线文档卡片(迭代启动会时master建立)开始整理上线分支, 需要打包的项目,SQL ,各项配置变动和执行顺序,安排上线时间(每个git项目的最早上线时间见wiki),回滚方案并且确认上线时研发和产品支持人员;4. 研发负责人整理完成上线文档后和测试确认;5. 测试确认上线文档后开始打包操作并且通知研发验包(所有打包验包操作需要在18:00点前完成并通过);6. 测试提起申请上线, 等待研发负责人审批. 测试和产品经理确认生产线验证方式(大上线产品需要当天晚上验证(可以在家), 小上线产品可以选择不在当晚验证);7. 审批通过后, 研发根据上线文档进行生产上线操作(注意步骤顺序);8. 完成后, 测试开始生产线验证, 同时研发开始日志error跟踪;9. 测试验证完成后移交产品验证并确认(如果需要);10.研发观察日志半小时无error后, 测试发送上线成功报告;11. 因任何原因没有上线成功测试发送放弃上线邮件,注明原因;12. 上线负责人发送第二天跟进邮件(内容包括所有上线过程中遇到的所有阻碍一次性操作问题如bug, 系统问题, 操作不当, 流程执行不到位等);13. 上线后有待解决问题, 严重问题(P0和P1级)由上线负责人或者TTL确认是否回滚, 非P0和P1级问题由产品经理确认是否回滚, 上线负责人发送第二天跟进邮件;
产出物
1、每个议程结束后上线计划邮件更新;2、上线成功/放弃上线邮件;3、产品验收邮件;
罚则
1、所有打包验包操作未按计划在18:00点前完成并通过而造成上线跨夜,相关责任人的跨夜调休申请不予通过(团队执行3个敏捷迭代后执行);2、大迭代上线产品经理没有在生产线验收测试或者联系不上, 罚基数*4;3、测试没有在结束后发送第二天跟进邮件或者没有在跟进邮件中严格记录上线过程中遇到的问题罚基数*4;
PM(产品经理)职责
1. 关注上线状态;2. 对生产线进行验收;
TTL(team tech leader)职责
研发TTL:
1. 指定研发跟进人员;2. 检查上线内容邮件;3. 审批上线;4.上线后有待解决问题, 严重问题(P0和P1级)由上线负责人或者TTL确认是否回滚,非P0和P1级问题由产品经理确认是否回滚, 测试负责人发送第二天跟进邮件;
QA TTL:
1. 检查上线成功/放弃上线邮件内容;
RD(前后端)职责
1. 研发上线负责人基于上线卡片开始整理上线分支, 需要打包的项目,SQL ,各项配置变动和执行顺序,安排上线时间(每个git项目的最早上线时间见wiki),回滚方案并且确认上线时研发和产品支持人员;2. 研发负责人整理完成上线文档后和测试确认;3. 验包;4.观察生产线日志error;
QA职责
1. 上线日16:00测试封板代码, 锁定待上线Release分支;2. 测试通过上线计划发送测试最终结果;3. 测试确认上线文档后开始打包操作并且通知研发验包(所有打包验包操作需要在18:00点前完成并通过);4. 测试提起申请上线, 等待研发负责人审批;5.生产线验证;6. 根据具体情况发送上线成功/放弃上线邮件/第二天跟进邮件;
注意事项
1. 任何跳过议程步骤的行为需要被监控和通报2. 回滚方式需要事先定义, 回滚后需要再次回归生产线3. 上线中途发现代码问题, 研发希望改动后重新上线, 由研发测试TLL共同评估决定4. 理论上线完成时间不应该超过12:00, 如果上线结束时间超过12:00, 需要在跟进邮件中严格记录超时原因, 并且在迭代回顾会中进行讨论解决.5. 上线跨夜调休及罚则:上线跨夜加班,可调休到次日12:00;跨夜加班且超过02:00的,可调休到次日14:00;最迟16:00点前到公司(手机随时能联系上,可以VPN支持);
