业界标准的研发流程
业界标准分为六个流程,每一个阶段都有输入和输出,下一个阶段依赖上一个阶段的输出
- 需求阶段
- 设计阶段
- 开发阶段
- 测试阶段
- 发布阶段
- 运营阶段
需求分析
该阶段对市场进行调研,对需求进行分析,评审
设计阶段
工作项 | 内容 |
---|---|
产品设计 | 由产品经理进行功能、交互、形态的设计,最终输出产品文档 |
交互设计 | 交互设计师将产品文档用原型图的交互流程展示出来 |
视觉设计 | 根据产品文档和交互设计原型图,进行风格定义,图标设计,页面设计和颜色搭配 |
技术设计 | 架构设计、数据库设计、api接口设计等 |
技术评审 | 所有设计都需要经过技术评审 |
需求排期 | 项目经理根据各个设计的产出,安排人员进行产品开发 |
开发阶段
- 该阶段对项目进行开发,对于Go项目主要分为(开发,构建)
- 开发之前要先确定工作流(git)
- 构建最好使用CI/CD提升构建效率,并使用webhook 对代码进行扫描、打包、编译等操作
- 如果能用程序生成代码,那么就使用程序生成,提高开发效率,减少错误
测试阶段
下面统称测试人员为 “小可爱”
- “小可爱”应该尽早参与到前期的需求讨论中去,提前准备测试计划和测试用例
- 如果能和开发并行是最好的,节省时间
- 让“小可爱”进行测试之前,开发人员最好出具自测报告
- 研发人员应该把“小可爱”提的bug先更改掉(影响主流程的),再做其它任务
- 研发人员应该主动关心“小可爱”的测试进度,不要让“小可爱”卡点,研发可能几分钟发现的问题,浪费“小可爱”几个小时
发布阶段
主要发布流程
- 代码发布,该阶段主要进行代码的合并,扫描,单元测试,编译等操作
- 发布计划,该阶段主要进行服务器相关资源申请,创建发布计划、发布单,提交发布单
a. 发布计划中要说明本次更新造成的影响,还有回滚方案,详细的发布过程(如代码、脚本、数据库的操作顺序等)
b. 发布单中附上发布计划,将职责划分好 - 服务发布,分为两块
a. 预发环境的发布和验证
b. 生产环境的发布和验证
运营阶段
产品运营
即通过各种方式,来提高产品知名度,让更多的人来使用
运维
对系统各项指标进行监控,保障系统的稳定运行