业界的人似乎都知道产品经理与研发团队的种种恩怨、从开始到结束,相爱相杀从未停止。那么从产品经理的角度来思考到底需不需要知道研发部的工作流程、研发部的工作机制呢?我的回答是需要的,如果你想成为一名高级产品人、优秀的产品经理,对于这些你可能不需要动手去做,但是一定要知道怎么去容纳,还记得那句“彼此独立、相互穷尽”吗,如果记得,这篇文章为你而分享。
(一)研发部工作流程规范
为了保证研发部日常工作正常有序的进行,让开发中各个环节更紧凑,更可控,需要尽可能实现软件研发部项目管理的正规化,工作过程的流程化,可控化,以便提高软件质量和开发效率,达到项目能按质按量按期交付的目标。依据软件开发、项目管理的基本原则;对项目管理中所涉及的项目立项、项目计划和监控、配置管理与软件工程中所涉及的需求分析、系统设计、软件实现、系统测试、用户测试、试运行、系统验收、系统上线和数据迁移、产品维护等步骤并结合公司目前的实际情况,制定流程,同时规定各个重要环节需要提交的交付物、流程设定如下:
一、需求评审、立项:
1、 需求通常分为业务部门需求、市场分析需求、数据分析需求或其它需求。由职能部门提出的需求需以文档形式进行书写,依据市场使用部门的调查,分析与使用新情况,确认软件的应用需求。
2、呈报需求报告或设计方案、需求规格说明书。
3、 成立评审会,主管领导、部门经理和指定人员参加。对项目进行可行性研究,编写项目建议书,评估项目的难度和工作量,形成可行性研究报告。
4、根据资源配置由研发部制定开发计划,确定分工。
所需交付物有:项目立项报告(Word),明确责任及义务,确认需求,建档建号;
项目开发计划书:制定项目开发计划,方便所有项目干系人都能及时了解项目进度。
二、设计阶段:
1、总体设计:评审通过后对所提需求进行原型图设计。
2、详细设计:由UI、UE与前端工程师进行详细页面交互与视觉设计并配有详细设计说明书。
业务流程总体设计书、详细设计说明书,讨论项目的技术架构和可能存在的技术难点,梳理业务流程,统一开发规则和风格等,部分实施编程及测试,开始考虑部署, 数据库关系设计图、流程图。项目所需要使用的数据库的结构图和流程图。任务分配文档(Word), 明确每个组员的开发任务及职责,, 问题说明报告(Word), 让用户、领导及组员及时了解和发现问题, 业务变更文档(Word), 记录开发过程中各部门提出的业务需求变更情况,
二、实现阶段:
软件功能说明(Word), 记录软件开发过程中所有实现的软件功能。源代码,部署的成果物,以及生成成果物的源代码以及数据库备份文件, 源代码说明(Word), 针对提交的源代码每一个模块进行说明,
三、测试阶段:
项目测试用例、方案及报告(Word), 记录项目测试的方法,验证系统功能与性能的记录,反复测试直至系统稳定。
四、上线及运行
系统使用报告, 系统部署后的操作记录。项目验收报告(Word),记录需求提出方的验收情况。项目总结性报告, 研发部通过此项目总结经验及不足。
五、产品维护与迭代:
1、产品维护:进行产品的日常维护,并保存问题反馈记录
2、产品迭代。根据市场需求与产品发展周期制定产品迭代计划,部署与实施。
在产品的整个从无到迭代的生命周期中,一定会有一些问题的发生从而影响到产品的研发、上线进度,为确实整个产品各个环节的流畅性与可追溯性,对开发中的流程制定出相应规范如下:
一、项目计划与监控
1、以单一需求为单位,部门经理负责整个开发的计划、组织和控制。
2、在整个开发过程中,部门经理定期检查项目进度和完成情况,调整人员分工和安排。
3、需求计划需要变更时,需要明确变更内容并与相应部门进行沟通。经确认后调整需求说明书并根据变更内容及时调整计划。。
二、结构设计
1、在此阶段确定总体结构和软件开发架构,文件命名规范,编码规范。可按软件需求划分成子系统,也可直接定义目标系统的功能模块及各个功能模块的关系。
2、确定软件模块结构,给出每个功能模块的功能描述、数据接口描述,并完成系统概要设计说明书。
3、完成数据库的设计,并编写数据库设计说明书。
4、完成的文档需提交公司进行归档管理。
三、设计调整
1、调整前一步设计的不足,确认各模块之间的详细接口信息。
2、设计功能使用的具体描述、行为者、前置条件、后置条件、UI描述、业务流程/子流程/分支流程,界面说明等。
3、确定模块内的数据流或控制流,对每个程序模块必须确定所有输入、输出和处理功能。
4、汇总并提交所有相关文档,审核确认质量和进度。
四、软件实现
1、研发部根据概要设计说明书、详细设计说明书制定系统实现计划
2、保证开发、测试和上线环境独立。选择软件工具,明确项目成员的职责分工,按照编码规范和详细设计实现软件功能。
3、代码应满足结构良好,清晰易读,且与设计一致,符合编码规范。
4、开发人员需要软件实现过程中编写软件功能说明,源代码说明。软件功能说明文档应说明项目名称、编号、软件名称和版本号,软件功能、主要功能实现过程。源代码说明应说明项目编号、源代码类名称、编写人员、编写日期、变更履历、功能、全局变量、数据库字典、函数功能、接口。该文档包含在源代码文件中,以注释形式存在。
5、研发部进行单元测试和集成测试。开发人员处理测试人员反馈的测试问题,并以书面形式反馈主要问题及解决办法,直至系统运行稳定。
6、汇总并提交所有相关文档,提交公司备案,形成项目知识库。
五、软件测试
1、根据单元测试和集成测试两个过程,制定测试计划。按阶段设计测试实例,并将测试结果记录,未通过反馈交于开发人员进行调整。
2、完成测试文档、操作手册、安装维护手册的编写。
六、系统上线
1、制定上线计划,确定上线工作时间表,部署的环境。
2、上线操作步骤以及问题处理步骤;
3、根据软件特点、需求进行软件部署,并记录软件部署和运行结果;
4、研发部根据系统运行结果对系统进行优化,记录系统的运行情况、系统问题和处理后的版本。
七、系统验收
1、系统主要使用部门从需求功能及技术需求层面对系统进行综合验收,根据验收情况形成系统验收报告。
2、应用部门负责人根据系统运行情况签署验收意见。
八、源码和文档
1、源代码/文档管理采用控制软件进行管理。
2、按项目的阶段性完成源代码、文档的上传。
3、文档分为项目文档和个人文档,文档上传前进行归类和汇总。
九、质量规范检查
1、部门负责人每天要检查成员的工作完成情况,特别是新员工的工作进展。
2、工作抽查制度:不定期的进行抽检,并将检查对象、检查时间、检查内容、检查结果反馈给被抽检人。
3、内部审核制度:针对业务需求、概要设计(功能界面、数据库)或疑难问题组织评审会,提出意见或解决方案。
4、需按照软件实施的阶段落实成果物。
5、如果需求部门有特殊要求,需按照要求的规范完成。并将最终的问题提交归档备份。
十、软件变更
为规范软件变更与维护管理,特制定本制度。本制度适用于应用系统开发完毕并正式上线,并已验收后的运行支持及系统变更工作。
1、系统变更工作可分为功能完善维护、系统缺陷修改、统计报表生成。
2、需求部门提出系统变更需求,研发经理同开发人员一起根据重要性和紧迫性做判断,确定其优先级和影响程度,并进行相应处理,同时将变更需求整理成系统变更申请表。
3、系统变更实现过程按照软件开发过程规定进行,遵循软件开发过程统一的编码标准和版本控制,并经过测试通过才能完成部署和上线。
4、在系统变更完成后,开发人员需将系统变更表的执行结果提交给负责人,测试人员确认执行结果后,部门经理与需求部门确认签字后,提交至公司进行归档管理。
(二)流程图一份
(三)阶段交付物
做个精一而通其它的产品经理人吧,在这条路上会越走越宽,遇到梦想中的自己,加油骚年。