1、研发管理定义

规范好一系列的工作流程,规范好各个岗位的工作职责,让工作更加协同,让效率更加高效。

2、研发管理过程

2.1、三个阶段

首先我认为研发工作分为设计、开发、测试三个阶段。如果项目迭代周期为一个月,那么我会把时间均分为三个十天。阶段性的验收项目成果,对滞后的工作,好及时作出调整,保障项目进度平稳的向前推进。

研发团队项目架构 研发项目管理组织架构_研发管理

2.2、 四次设计

在产品原型和需求到达开发人员手上时,我们要做的第一件事是设计。
1. 前端后接口设计(接口定义json文档、controller方法、请求实体类、响应实体类)
2. 服务端接口设计 (service方法、业务实体类、参数实体类)
3. 数据库表设计 (数据表设计pd文档)
4. 测试用例设计 (测试用例文档)

2.3、 四次评审

每次设计都需要一次评审来验证合理性,让设计者走出思维的死角。
1. 前后端接口评审 (前后端开发评审http接口是否漏定义,接口的请求和响应数据结构是否合理)
2. 服务端接口评审(后台开发评审service接口定义和业务测试测试代码是否符合业务流程)
3. 数据库表评审 (后台开发评审表的命名规范、类型规范、字段规范、约束规范)
4. 测试用例评审(测试内部根据原型和需求文档评审测试用例设计的是否合理)

2.4、 三次测试

测试是工作阶段性验收的标志,测试通过的功能才能说开发完成。
1. 自动化业务测试
2. 手工增量测试
3. 手工全量测试
自动化业务测试主要是验证代码的业务逻辑是否正确,其次是验证代码的语义是否正确。
手工增量测试主要是验证本次迭代开发的新功能是否正确。
手工全量测试主要是验证本次迭代对系统的影响是否正确。

2.5、 三次发布

发布是一个持续的过程,是一步步前进的过程,这样做主要是减免线上环境的发生问题的概率。即上一步没有成功,绝对是不能走到第二步;第二步成功了,第一步可能是成功的。例如下面的发布流程:
1. 发布开发环境 (失败)
2. 发布开发环境 –> 发布测试环境 (失败)
3. 发布开发环境 –> 发布测试环境 –> 发布线上环境
开发环境采用自动化发布,让问题及早的暴露。开发环境发布ok后,通过手工发布到测试环境,保证测试环境的稳定性。测试全部通过后,最后才手工发布到线上环境。

3、研发管理的意义

采用分模块设计结合集体评审的制度,是放权的有力保障。分模块设计有利于个人专注业务,集体评审有利于个人对系统有整体的认识。设计可以提前暴露产品设计逻辑性和可行性。设计是一次自我方案评估的过程。评审可以磨合团队的成员的设计和开发理念,是规范顺利推广的提前。