一个大型的项目或产品会拆分成 版本 > story > 模块 这样的三层进行开发,针对一个story或者大型功能模块,流程是这样的:
其中部分流程,视项目大小、难易程度,可能是非必须的。
需求评审
一般由PM(产品经理)发起,项目组所有成员都参与,目标是所有成员详细了解需求方案:
项目组所有成员统一需求认知
初步评估需求方案,技术可行性
预估项目容量
阶段目标
现阶段需详细了解需求方案,核心功能,业务流程。(重点,重点,重点)
设计评审(简单项目可忽略)
这里说的设计,不是UI/UE的设计,而是技术方案的设计,一般由RD/FE发起,目标是敲定所有技术点的实现方案:
项目组成员间沟通各技术点实现方案
确定各端交互的方式,以文字的形式留存
评估详细排期
阶段目标
梳理所有技术点的实现方案
评估排期
项目组成员各自评估排期,最后merge到一起,目标是产出全员无异议的开发计划,以文字形式留存。
要注意:
对需求进行尽量细的功能点拆分,有助于准确评估排期(精确到0.5天)
根据实际项目情况,预留适当的buffer时间(大约为项目总时长的5% ~ 10%)
排期一旦确定,视为对所有成员的承诺,非极端情况不可更改(特殊情况除外)
开发过程出突发恶性BUG,紧急需求,可根据情况项目开发延后开发时间
阶段目标
产出全员无异议的开发计划
项目开发
采用前后端分离方式进行开发
要注意:
项目开发前期的项目分析是占据整个开发时间的50%以上的,需对项目功能需求,业务流程,核心有详细了解才能动手开始编码。(重点,重点,重点)
阶段目标
各自开发,达到可联调状态
用例评审(根据现前端开发中出现BUG较多制定)
一般是由开发者自行检测,评审功能的准确性和完整性,一般在项目开发过程中进行,没有固定时间。
阶段目标
减少项目BUG数
联调(独立功能开发可忽略)
与后端技术人一起进行项目部署
要注意:
需各端功能开发均已完毕才可开始联调,检查项目配置项在各环境下是否能正常使用。
阶段目标
确保项目在测试,沙箱,正式环境下能正常运行。
测试
由测试工程师发起,利用1套或多套环境进行项目测试。
测试阶段规范
提测给测试工程师的代码必须通过自测和验收
提测分支若落后主干,同步之后再提测
提供编译后代码,保证与上线代码一致性
阻塞测试流程的bug及时修复
其余bug可定期统一修复
阶段目标
项目达到可上线状态
项目验收
现由公司客服部验收体验
客服部同事进行初步体验,检测项目功能是否符合市场需求,功能完整性,
功能再优化等。
阶段目标
完整流程通过,保证无遗漏需求,项目功能符合市场需求
上线
最后的阶段,把项目代码部署到线上。
上线规范
参与上线人员:项目组所有成员
上线代码有问题时立即回滚,处理完问题重新上线
一般会规定上线窗口时间,甚至固定每周统一时间进行上线
一般会有预上线环境(与线上机器完全一致,对外无流量)进行测试回归
阶段目标
项目代码部署到线上所有机器