完整的项目开发从需求沟通、需求评审、项目研发(联调)、测试验收、上线维护迭代等流程。
1.需求沟通
主要目的是明确项目要做什么。
1.预期的效果 2.项目阶段(分几级分几期) 3.项目边界 4.优先级 5. 拆解需求形成方案
准备内容:
项目相关的背景和预期效果
业务流程图
涉及人员:
用户、产品、研发后端RD、研发前端RD
阶段过程:
其中包括用户沟通和内部沟通。
用户沟通:主要是沟通用户需求、预期、当前状态和业务规范,以及可用资源状态。
内部沟通:内部讨论,根据用户提出的需求做需求分析,拆解成可执行的方案和功能。
当中涉及到原有系统或者未知资源可以和开发沟通(与前后端RD);
当中涉及的项目边界的确定,大体功能的确定,功能的优先级(与用户与前后端RD);
交付内容:
RP原型
需求文档PRD
思维导图(Xmind)
领域模型
泳道图
业务流程图
用例图use case digram+用例描述
2.需求评审
和开发相关人员讲解项目需求,功能和预期效果,确定方案可行性和实现细节。
准备内容:
业务流程图:涉及不同业务不同操作人员的流程图
PRD产品需求文档:
针对每个页面和菜单的功能、操作、规则和展示效果进行描述
不同角色的功能区分
算法和规则
涉及人员:
PM、交互、设计、后端研发、前端研发、测试
阶段过程:
开发相关人员围绕 PRD 需求细节进行讨论
交互、视觉、前端、测试,需要明确最终业务效果,后端除此之外还需要,明确所有的算法策略细节
交付内容:
PM 更正\补充 PRD 需求文档的细节
交互、设计、前端、后端、测试,给出项目拆解和排期(优先级和时间节点),并且明确交付内容 ,指定对应的负责人
3.项目研发
协调资源,解决开发当中的问题,调整方案。
准备内容:
项目的整体排期、时间节点和负责人(接口人)
详细的项目拆解内容:交互、设计、前端、后端、测试
涉及人员:
PM、交互、设计、后端研发、前端研发、测试
阶段过程:
建立沟通讨论机制:qq群,通讯录,沟通结果记录反馈
PM、交互、设计、后端研发、前端研发、测试的负责人例会踪各个时间节点和问题,检查交付内容效果
PM协调问题,跟踪项目进度、实现效果和项目质量
PM资源申请:包括接口打通、资源调配,上线服务器申请
交付内容:
PM:完善的原型稿,涵盖细节,期间保持整个队伍的沟通
交互:按照时间节点分阶段的交互稿
设计:按照时间节点分阶段的设计稿
后端研发:按照排期的功能交付、单元测试、代码review、接口测试、联调测试
前端研发:按照排期的功能交付、单元测试、代码review、接口测试、联调测试
4.测试验收
产品上线前,进行项目的全面测试,保证达到预期和bug free。
准备内容:
PM 完整的产品原型:明确产品细节要求
完整的交互稿、设计稿:明确产品最终效果
涉及人员:
测试,后端RD、前端RD
阶段过程:
测试工程师,对每个功能点,逐个测试,针对有异常的功能点,提起 task,同时,在讨论群中,沟通确认,描述清楚 bug 重现场景【冒烟测试,回归测试】
RD 需要根据task list解决bug
PM验收功能,确定上线内容
交付内容:
封版可上线的代码版本
5.项目上线
准备内容:
梳理清单:
上线内容列表
服务器列表
配置项
涉及人员:
PM、测试,后端RD、前端RD
阶段过程:
代码部署、数据库导入、配置项目配置,生产环境复测
交付内容:
可用的系统
测试报告
上线通知
维护计划和负责人
6.额外:
需求讨论:讨论之前,确定讨论的目标和边界,和希望达到的预期
记录:
开发环境:服务器、数据库、版本、发布内容
测试环境:服务器、数据库、版本、发布内容
线上环境:服务器、数据库、版本、发布内容
避免混乱
项目排期和任务拆解的标准:
具体的:具体的需求
可量化的:不是模糊概念
可实现的:可行性分析
有相关性的:跟事业部的整体目标相关
有时间限制的:明确起始时间、结束时间