在开发产品的时候,产品经理、开发、测试之间由于信息不对等、沟通不完善往往会产生各种问题,导致开发效率低,产品发布延迟,由此,抽时间参考了下网上博客的他山之石,尝试对开发流程进行标准化的梳理,以达到开发更加高效的目的。
产品环境分类
-
本地
-
开发(暂无)
-
测试
-
预发(暂无)
-
线上
本地环境
-
编写代码前
-
产品经理、开发、测试讨论需求
-
原型讨论、修改确认
-
分工确认
-
产品经理编写产品发布说明(作为发布依据)
-
编写代码中
-
自顶向下设计
-
顶部:系统、子系统或服务的切分与交互结构
-
根据需求范围,划清系统的边界
-
将系统划分为合理的各部分
-
设计各部分协作与沟通的原则和机制
-
将各部分合并成整体,能否完成系统的目标
-
中部:系统或服务内部的领域模块划分
-
底部:表结构、代码结构、数据结构
-
面向失败设计(待完善)
-
空值
-
索引超出范围
-
延时和失败影响到调用方
-
表的关联关系影响操作(如外键引用引起的DML语句异常)
-
分布式系统中阻止级联失败
-
即时失败(fail fast)和快速恢复
-
扩展性设计
-
读写分离
-
动态操作数据
-
实时关闭开启
-
动态调整参数
-
实时运行状态
-
数据备份
-
实时通知
-
批量导出
-
编写代码后
-
完成单元测试
-
DAO/SQL
-
业务层
-
完成集成测试(场景测试)
测试环境
-
发布前
-
完成冒烟自测
-
更新代码,确认始终包含最新的功能及补丁
-
编译代码,如有报错则通知编写人员处理
-
发布中
-
公告正在发布
-
发布后
-
公告发布完成
-
通知测试人员进行集成测试
-
测试反馈
-
明确责任人、严重程度
-
问题分类
-
代码BUG:开发解决
-
体验问题:开发解决(可能升级为需求不明确)
-
需求不明确:产品经理与测试讨论并明确,及时原型更新
线上环境
-
发布前
-
相关测试人员确认将发布的功能中已经没有违背发布说明的BUG
-
产品经理在测试环境验收后决定是否发布,并对发布说明进行归档
-
发布中
-
发布人员对发布功能做具体记录,发布文件保存归档
-
发布后
-
发布完成后使用测试账号进行测试,测试问题提交到BUG管理平台,通知相关人员尽快进行修复
-
开发人员修复后对此次问题进行总结归档,得出共性问题解决方案,并可在培训时举例讲解
参考
-
软件研发部经理意见