0 - 前言
一个合理明确的研发流程,对于项目来说,是一把“利器”,可以提高团队效率,降低项目风险,保障工程质量,从而起到事半功倍的效果。
工程研发团队在项目开发过程中,通过实践,不断地摸索、反馈、优化,逐步沉淀了一套初具雏形的研发流程。希望经过分享,抛砖引玉的同时,汲取百家之长,不断的优化我们的研发流程,从而保障项目高效、可靠交付。
认识事物的三部曲:
是什么,为什么,怎么做。
转化成我们今天的主题就是:
什么是研发流程?为什么需要研发流程?如何合理的设计研发流程?
1 - 是什么
流程在生产生活中随处可见:
- 工厂里将原材料通过各种流水线工序转化成产品的过程;
- 去医院看病,从预约挂号、排队取号、面诊、缴费到拿药;
- 开车变道,先看外反光镜,再看内反光镜,接着打转向灯,最后变道。
所以,我对流程的理解:将事物a变成事物b或者从状态a变成状态b过程中的step by step步骤。
那么研发流程就是将产品的需求进行识别,设计和编码实现的过程。
2 - 为什么
如果没有流程,那么:
- 工厂里原材料经过不同的员工按照自己的方式加工成的产品,产品形状和质量千差万别;
- 病人在医院一头雾水,不知道在哪看,找谁看,怎么看;
- 变道时,如果不关注盲区,容易导致事故的发生。
同理,对研发来说,如果没有流程,每个开发人员自由发挥,容易导致项目质量层次不齐,系统鲁棒性降低,交付delay风险大大提升。
3 - 怎么做
从项目初始,我们就致力于搭建一套合理有效且适合我们团队的一套研发流程。设计思路是按照时间节点,在不同阶段完成设定的目标。
在介绍具体研发流程前,我们先总体看一下产研测协作开发关系图和产研协作流程。最后,针对研发流程,做进一步的深入和展开。
产品-研发-测试菱形关系图
从下面的产研测菱形模式可以看出,三方都对需求负责:
- 产品负责提出需求
- 研发负责实现需求
- 测试负责验证需求
产研测相互之间也有交互,体现为:
- 产品 -> 研发: 澄清需求
- 研发 -> 产品: 评审需求
- 研发 -> 测试: 申请提测
- 测试 -> 研发: 反馈BUG
- 测试 -> 产品: 申请验收
最终由产品对需求进行验。
产研协作流程
按照时间轴来描述产品研发间的协作流程:
- 月末倒数第二个工作日: 产品需要释放定稿版本的下个月PRD到飞书,并通知研发进行审阅。
- 月末最后一个工作日(如果最后一个工作日有其他会议,则放在倒数第二个工作日进行):
- 产品组织PRD评审会,产品和研发必选,测试可选
- 研发分解需求并评估工时
- 研发将分解的需求录入actionview
- 研发负责人将actionview上的任务放入到下个sprint中
- 月初第一个工作日: 启动sprint
研发流程
我们的研发流程分为三部分:
本文暂时没有评论,来添加一个吧(●'◡'●)