一. 需求阶段
1. 初期由leader或者项目责任人和PM沟通下阶段开发计划,确认需求的可行性和优先级等初步达成共识
2. 接下来PM提供详细UE文档(需求颗粒感尽可能小)发起三方会议,由产品、开发和QA确认需求并达成一致,开发和QA可以对产品任意方面,提出看法和建议
3. 最终的需求定稿,周知开发和QA,由QA开始编写测试案例
4. PM容易忽略的需求:打点统计,新手引导页,灰度升级,动态splash页等
二. 设计阶段
1. 客户端进行需求拆分,相关开发和服务器同学讨论确定数据接口,并周知QA
2. 开发根据需求进行程序设计,评估实现复杂度,风险点,估计开发周期
3. 根据与服务器开发沟通,确定各模块开发所需时间,汇总告知PM同学
4. 客户端开发和设计人员确定设计图的分辨率,沟通各功能页面出设计图的优先级(包括标注图,对于切图开发和设计沟通协商)
三. 开发阶段
1. 高质量完成程序开发,要求有必要的注释查看编码规范
2. 开发中遇到突发问题(比如技术难题,风险评估不足等),可能影响开发周期的立即告知leader和PM,及时发现及时解决调整
3. 开发完成的模块,进行自我测试直到自己不能发现任何问题(尽可能找不同的机型测试)
4. QA编写用例完毕,开始全员用例评审
四. 测试阶段
1. 开发工程师提交程序,QA进行测试,测试过程中一般不做需求修改或增加(需求“冻结点”)
2. QA上报bug,要求必须说明机型,版本,是否必现以及必要日志或者截图
3. 对于升级,动态splash, push推送等基础功能每个迭代必须回归测试
4. “冒烟测试”完毕后,用monkey对程序进行必要压力测试
5. 产品确认无任何修改后(代码冻结),与工程师确定上线时间
1. QA发起客户端上线,打渠道包上线
2. 上线时PM随机抽取安装包,检测各个功能可用性,客户端开发检测引导页是否替换,代码混淆是否开启,配置文件是否需要更新等
3. 上线前务必保证客户端与服务端沟通的一致性
4. 上线后的30分钟内,所有开发人员不能下班或者离开