开发流程最终版.docx
《开发流程最终版.docx》由会员分享,可在线阅读,更多相关《开发流程最终版.docx(5页珍藏版)》请在冰豆网上搜索。
开发流程最终版
研发部开发流程规范
2019-8-5
******信息技术有限公司
状态:
[]草稿
[√]正式发布
[]正在修改
文件标识:
规范性文件
当前版本:
1.0
作者:
***
审阅者:
***
版本历史
版本/状态
作者
参与者
起止日期
备注
1背景
1.1问题
(1)需求没有经过产品经理整合分析,需求质量不平衡,需求不明确,导致需求需要研发人员自己确定,岗位职责混乱。
当研发人员不了解最原始的需求时,研发人员就无法确定自己开发的功能是否能够符合真正的需求,好比做事的人不知道自己在做什么,可以想象最终会做成什么样子。
一个有趣的实验,把人的双眼遮住,任其前行,无论在哪种场景下进行的实验,实验者最终都会走成弯路,所以说明确的目标非常重要,它不断修正我们前行的道路,最终达成目标。
(2)没有明确的需求文档存储,在回顾需求的时候无法找到当初的记录,已完成的需求出现问题时,无法直接找到该需求之前的解决者,反而要其他研发人员对其修改,造成人力资源极大的浪费,一个需求的开发经由多人完成,导致功能稳定性差,增加了隐形bug的风险。
1.2修正建议
(1)所有的需求都要经过产品经理记录,凡是产品经理没有记录的需求,研发人员若是没有开发,也不承担任何责任,每个岗位的职责要分清楚,开发过程才能流畅。
产品经理接收到业务经理的需求或问题后,对该需求/问题经初步可行性研究,对该业务必需的功能流程、所要修改的数据字段进行初步规划,并明确功能实现后要呈现的效果(包含前端页面的大体布局),研发人员以此作为评定该需求是否真正完成的标准。
(2)谁开发,谁思考,谁参与,谁了解。
一个需求分析确认后,项目经理将开发任务分配给谁,谁就全权负责这个任务,包括思考如何去做(规划设计)、并参与执行这个任务,规划设计结果需经项目经理确认后方可执行任务(包括开发过程中的变更确认)。
项目经理的职责为:
项目全过程中,若项目经理不亲自开发这个需求,则不真正参与开发过程,项目经理主要起一个思路指导、技术支持的作用。
由负责这项任务的研发人员本人查看需求,思考设计,对该需求的实现及后期的维护负全责。
(3)开发过程中,需要文档记录,产生的文档上传至云效保存。
文档要记录整个项目的开发过程,以确认的文档来指导开发,也给新员工对系统的了解作为指导。
若是以后已完成的功能出现bug,也据此来安排原开发人员进行修复。
(4)各个岗位的分工明确,不越流程,才能保证开发质量。
注:
系统及数据库设计过程产生的文档(例如数据库设计文档,系统实现的总流程文档,概要设计文档、详细设计文档)要保留,具体功能实现的需求文档(例如,人员管理增加一个有效期搜索这种具体的功能需求)可以只体现在云效,无需文档记录。
2研发流程线框图
3详细过程
3.1项目启动阶段
(1)开发新项目
若是开发新项目,则首先负责该系统业务方向的所有业务人员与项目经理、产品经理进行多次会议,对项目进行可行性研究,制作项目流程文档。
文档制定完成以后,由产品经理、项目经理以及所有要开发该系统的研发人员进行会议,根据流程文档将该系统功能分成多个模块,确定每个模块的功能概况,制作概要设计文档。
(2)已有项目功能修改或添加
业务人员将问题与产品经理详细描述,由产品经理整理记录成需求。
3.2需求确定阶段
(1)开发新项目
概要设计文档制定完成后,从头开始对每一个功能模块进行详细需求确定,确定并记录每个功能模块下的每一个小功能、小细节,制定详细设计文档。
(2)已有项目功能修改或添加
1)增加新功能
当前系统功能无法满足需求、需要增加新功能的时候,由业务人员与产品经理、项目经理、以及负责该系统的研发人员进行研讨会议,研讨该功能是否能够实现,是否可行。
若可行,则由产品经理确定并记录功能需求具体详情。
2)原有功能修改
产品经理对业务人员汇集的问题进行整理分析,形成需求记录,存到云效。
3.3实现设计阶段
(1)开发新项目
详细设计文档出来之后,项目经理与该系统的研发人员进行会议讨论,根据流程和详细需求确定数据库设计,制定数据库设计文档,数据库一旦确定下来之后,则不能在随意修改,所有对数据库的修改都要经过项目经理审批。
数据库设计完成以后,由项目经理或研发小组组长将功能模块分配给研发人员,研发人员根据详细设计文档,熟悉流程并思考功能实现,然后找项目经理或研发小组组长进行思路讨论,思路确定后研发人员再进行研发。
(2)已有项目功能修改或添加
由项目经理或研发小组组长将功能模块分配给研发人员,熟悉流程并思考功能实现,然后找项目经理或研发小组组长进行思路讨论,思路确定后研发人员再进行研发。
3.4开发阶段
在实现过程中,若是遇到数据库设计满足不了系统功能的需要,则需要与项目经理沟通,由项目经理对数据库进行修改,若是开发过程中遇到技术问题,先找研发小组组长解决,再找项目经理。
若是在实现过程中,对需求不明确,则与产品经理进行沟通,重新修改相关部分的需求内容,需求明确后再继续开发。
3.5测试审核阶段
研发人员研发完成后,告知产品经理测试,产品经理可以自己测试也可以告知业务人员在测试服务器测试,若是产品经理测试不通过,则通知研发人员二次开发。
3.6系统上线
产品经理测试完成以后,将功能上线到正式服务器,并告知业务人员此功能已完成,由项目经理对本次的开发任务进行总结评价。