适合小团队的研发流程
2019-08-16 本文已影响0人
时间道
研发组内角色分工
- 开发经理/架构
- 项目/系统负责人
- 开发人员
角色职责描述
-
开发经理/架构
负责系统的整体架构,资源整合,对系统方案进行评审,把握系统方向,监督研发质量,给开发人员提供支持 -
项目/系统负责人
每个系统原则上要求有两位负责人,固定系统由指定开发担当负责人,临时项目临时调配负责人,负责人要参与需求评审、方案设计、方案评审等工作,对系统质量和进度负责。 -
开发人员
具体系统编码人员/页面编码人员
研发流程
-
需求评审
系统负责人要参与产品需求评审,确定研发排期 -
页面设计
对于网站/APP系统由美工设计出页面,视具体情况出一级、二级甚至三级页面。
对于应用系统设计出具有代表性的页面和整体风格。 -
系统设计
由系统负责人根据PRD文档和用例描述文档进行系统设计,维护在wiki里 -
方案评审
由系统设计人员/架构对系统设计方案进行评审,见下方 -
程序开发
开发人员根据系统设计文档进行编码,编写测试用例,输出程序源代码和配置文档等
开发人员需要做好程序本身的测试工作,以及程序间的联调工作 -
程序测试
开发提交测试以后,部署到测试环境,交付给测试人员安排测试 -
功能集成测试
以系统设计人员为主,与其他人员(可能包括系统支持人员、程序开发人员、产品经理、业务提出者)组成临时测试小组,测试组装后的程序。 -
系统发版
开发人员提供部署方案,根据上线时间,提交上线申请,走自动化发版
服务器相关联系运维操作
数据库相关联系DBA操作
开发方式
所有开发人员原则上都在本地进行开发和进行单元测试
前后端分离的开发流程,参考【基于接口开发管理】
版本管理
使用基于git的源码管理,有github和gitflow两种开发模式,由系统负责人根据开发规模确定使用哪种模式,参与开发人员多、需求版本多的情况是用gitflow模式,其他情况使用github模式。
工具
- java开发工具:IDEA、eclipse
- 版本控制工具:git、svn,新项目使用git
- 数据库设计工具:powerdesigner
- 数据库:oracle、mysql,新项目使用mysql
数据库管理
- 数据库环境分为:线上、测试、开发
- 开发服务器和测试服务器上的数据库的管理操作只能由系统负责人员进行。数据库的建立依赖于系统设计人员提供的数据库生成脚本和原始数据脚本。
- 程序中访问数据库时使用统一的用户、统一的连接文件访问数据库。
- 在开发过程中如果有数据库变动,统一报到指定的系统设计人员处,由系统设计人员确认,生成数据库修改脚本,交由系统支持人员处理,或交由指定的系统设计人员处理(必须经过系统支持人员授权)。同时该系统设计人员将数据库修改脚本发给所有相关的开发人员,由开发人员自行修改自己本地的数据库,以达到数据库同步。
问题跟踪/BUG管理
- 目前公司内部采用的需求/Bug管理工具是禅道。禅道由系统支持人员管理,包括建立项目、分配项目成员、设置权限等。
- 测试人员提交的Bug先指派给开发组长,再由开发组长分派给开发人员解决。
- 项目结束后由系统支持人员以每个人为单位统计Bug的数量,作为历史数据保留,作为质量考核的依据。
评审机制
在项目设计阶段需要做阶段交付成果的评审:
-
数据库模型评审
参加人员:[相关需求人员]、相关设计组成员、开发组负责人员。 -
程序模型评审
参加人员:相关设计组成员、开发组负责人员。 -
包括序列图、类图、程序框架
参加人员:相关设计组成员、开发组负责人员。 -
详细设计文档评审
参加人员:[相关需求人员]、相关设计组成员、开发组负责人员。 -
设计交底会
参加人员:相关设计组成员、相关的开发人员。
与其他组对接工作
-
与产品组对接
由产品经理提供需求文档/PRD文档/用例文档/需求变更文档/系统原型 -
与测试组对接
提交给测试组已经部署好的程序