项目迭代
1、流程图
(1)需求分析
产品经理将功能设计好成“PRD”“原型”"设计稿"提供出来
准备好这些东西以后就可以定版
☆在产品和开发(经理)聊的时候可能会有变动,而未将最新的PRD给到我们,而已经我们着手去开发,这变动可能会影响我们估的开发时间
(2)开发评估预计测试
评估时间
评估的时候不会针对需求进行评估,会对之前的代码也进行评估
△例如 “增加不可使用优惠券选项卡”
做这个东西,我们应该想到我们应该是去修改或增加哪些东西
优惠券选项卡是在订单预览页面,想到的会有订单预览页的展示,排除已存在的优惠券,到优惠券不可用原因的展示
△不看代码的情况下我们需要基于需求知道系统要修改的点
那么订单预览页不可能是一个人(历史好汉)做的,对订单预览页是是不够了解的,这对我评估的时间是不准的,
△不准的情况下,在评估之前我们需要做的事情试是什么?
①要把订单页的接口对应的接口找出来
②就按照想得方式
数据展示会变是不是要个DTO组装数据,对下设计稿设计
这时想下设计的实现思路,简单的在类里面用注释写出来每一步需要做什么?甚至我们可以把方法都定义好, 先不去实现,大致的思路已经定义好了,现在就可以清楚地知道做每一块实现的时间了,哪些功能是快速完成的可归纳成一个版本
就可以指定开发计划了
③开发这一块会影响到哪些块地方,这步要给测试,测试不可能整个系统给你来一遍
△给到测试
例如评估格式:
1、增加不可使用优惠券选项卡
需求文档:
描述:
增加不可使用优惠券选项卡,编写接口程序把有效时间内不能使用的优惠券提供给前端
影响范围:
订单预览
文件路径:
- 1、com.suibao.web.controller.promotions.SuibaoPromotionSelector
- 2、com.suibao.web.component.promotion.PromotionReadLogic
接口及参数:
- 现有下订单时的优惠券接口:/api/suibao/promotion/global
- 下订单时的有效但不满足条件优惠券:/api/suibao/promotion/cannotPormotion
public class SuibaoPromotionSelector {
public List<PromotionReadLogic.PreviewPromotionDto> globalPromotions(@RequestBody SubmittedOrder submittedOrder) {
...
}
}
public class PromotionReadLogic{
public List<PreviewPromotionDto> getGlobalPromotions(@RequestBody SubmittedOrder submittedOrder) {
...
}
}
public class SuibaoPromotionSelector{
public List<PreviewPromotionDto> getConnotPromotions(@RequestBody SubmittedOrder submittedOrder) {
1、获取用户ID
2、找到筛选用户下的优惠券ID
3、返回前端
}
}
☆产品经理提需求我们开发是怎么接收到需求呢?
通过PMP(禅道,PASS等)系统,将任务分块罗列出来有项目经理进行分配人员
(3)开发
gitflow
△Hotfix 分支 紧急修复分支,合并到Master和Develop
△Release x.0,测试有BUG直接从feature合到Release上,测试完成后,发布到Master后,将代码合并到develop(测试回归)
△develop 测试分支,测试完可以提出Release x.0,
△feature开发分支每个功能为一个分支确定准备是这次上线了才可以往里面合,不然代码从Develop扣出来是有风险的
(4)测试
会根据需求文档进行编写测试用例,测试完后进行发版
(5)回归
发版完成后,项目会回归。如果线上有重大的BUG紧急修复完后需要编写下文档(简略的)给到测试,后面补充完整。