标准&有效的项目开发流程

简介: 标准&有效的项目开发流程

代码版本管理

在项目中,代码的版本管理非常重要。每个需求版本的代码开发在版本控制里都应该经过以下几个步骤。

  • 在master分支中拉取该需求版本的两个分支,一个feature分支,一个release分支;feature分支用于接受个人分支merge过来的代码,并用于部署dev环境。feature的代码在经过dev环境的联调后,合并到release分支,所有release分支用于接受feature分支merge过来的代码,并用于部署test环境。
    例如,需求2.0版,对应feature/olive_v2.0、release/olive_v2.0分支
  • 在 release/olive_v2.0 分支基础上建立个人分支。个人开发分支的代码一般情况下代码通过 git merge 命令合并到 feature 分支。
    例如,feature/olive_hjj_v2.0

需求流程

主要进行版本需求的功能梳理,并由产品人员输出产品原型,主要使用墨刀、axure等一些原型输出工具输出原型。主要流程如下:

  • 输出产品原型
  • 产品输出人员组织产品原型评审,主要参与人员包括:后端开发人员、前端开发人员、测试人员、UI设计人员、产品人员等
    在评审过程中原型输出人员解答各参会人员提出的疑问
  • 评审后如果需要优化修改的,进行产品原型优化;并完成需求定稿,交予UI设计人员进行UI设计,输出UI图

开发流程

开发就是完成需求评审,没有任何异议后;接下来的主要工作。开发主要由前端开发人员和后端开发人员完成。它的流程主要包含以下这些:

  • 按照版本需求进行设计;主要包括表结构设计、缓存数据结构设计、功能业务流程方案设计等,并输出《xxxx设计文档》。例如:

  • 输出设计文档后,开发人员(主要是后端开发人员)组织设计文档评审。参加人员主要包括:前端开发、后端开发、架构师;如果有涉及到部署架构调整之类的设计运维人员也要组织参加;测试人员也可以参加,方便熟悉数据存储、业务分支等
  • 前端开发、后端开发进行功能开发,并完成接口联调;实现所有需求的功能
  • 开发完成后进行 测试环境 提测;提测需要发送提测邮件。邮件接受人员主要包括产品人员、测试人员、前端开发人员、后端开发人员、架构师、运维人员等。提测邮件大概内容如下:

  • 在部署测试环境,测试人员表完成所有功能验证,然后产品人员验证完毕后。后端开发人员编写《生产发版文档》,并提供需要发布的成果物。主要包括:

需要提供的成果物列表

(1)数据库SQL脚本

(2)需要修改的配置文件,及需要增加、修改的配置项

(3)前端H5需要部署的zip包;APP需要发布的apk、ipa等

(4)后端需要部署jar、war等

(5)发版部署中涉及的关键步骤流程说明。例如,先改配置还是先执行SQL;是否存在需要执行接口进行数据库初始化的操作;是否需要修改Nginx等

(6)其他需要提供的成果物

以上成果物如果有发版平台直接通过发版平台提供;否则发邮箱、SVN版本等方式提供给运维人员

  • 组织人员进行《生产发版文档》评审,主要包括前端开发人员、后端开发人员、测试人员、运维人员、架构师进行评审;并确定发版时间节点

测试流程

功能开发完成后,进行功能测试是生产发版前的重要一环。在这个环节主要后测试人员主导,它的流程主要包含以下这些:

  • 测试人员全程参与版本原型的评审会议,对存在疑问的功能提出疑问;产品人员予以解答
  • 测试人员对版本需求的功能点编写测试用例,表示形式以思维导图为佳。例如:

  • 输出测试用例文档后,测试人员组织测试用例评审。参加人员主要包括:前端开发、后端开发、测试人员、产品人员
  • 对版本需求功能进行测试用例测试,验证功能正常可用
  • 在测试人员对功能完成测试后,产品人员在测试环境对需求功能进行最后验收。查看功能是否服务需求设计
  • 如果项目中接入代码质量管理平台,则对代码进行静态扫描、渗透测试等。

发版流程

发版主要由运维人员来主导。它的主要工作就是把已经在测试环境验证通过的成果物部署到生产环境。它的主要流程表包括以下这些:

  • 执行变更的SQL
  • 增加需要增加的配置文件、配置项;修改需要修改的配置文件、配置项
  • 如有网络架构变更,提前开通防火墙;并验证是否开通
  • 部署后端jar、war等。如果有CI/CD平台,直接执行流水线即可
  • 部署前端H5 zip包
  • 如有Nginx配置变更,进行Nginx映射变更
  • 其他需要操作的步骤,按照后端开发人员提供的《生产发版文档》进行一一操作
  • 测试进行生产验证
相关文章
|
2月前
|
消息中间件 运维 测试技术
究竟什么样的开发流程是规范的?
究竟什么样的开发流程是规范的?
108 0
|
2月前
|
Java 测试技术 网络安全
一个软件完整的开发流程介绍
一个软件完整的开发流程介绍
62 0
|
2月前
|
前端开发 测试技术
项目的开发流程是什么?
产品经理提出新需求,召集开发讨论,明确需求后评估技术与工作量。后端与前端商定接口,前端未及时可直接开发。确定接口和表结构后,进行技术调研。接着编码开发,自测无误提交测试环境,前端联调。测试人员进行功能测试,发现问题记录在bug管理工具中,后端修复后再次测试。
18 0
|
2月前
|
小程序 前端开发 JavaScript
小程序的完整开发流程?
小程序的完整开发流程?
|
11月前
|
前端开发 JavaScript 搜索推荐
带你入门前端工程(二):统一规范(一)
带你入门前端工程(二):统一规范
121 0
|
11月前
|
监控 前端开发 持续交付
带你入门前端工程(二):统一规范(二)
带你入门前端工程(二):统一规范(二)
134 0
|
存储 消息中间件 SQL
数据开发流程及规范
P0\P1级别问题在规定时间内无法解决的,需要该问题的研发同学在问题comments内说明无法在规定时间内解决的合理的解释,并告知该问题具体的解决时间点同时邮件说明。
数据开发流程及规范
|
架构师 NoSQL Java
项目开发流程 | 学习笔记
快速学习项目开发流程
127 0
项目开发流程 | 学习笔记
|
缓存 监控 架构师
开发流程规范
这是近期在公司做的一次分享,这几年的互联网开发,算比较幸运,团队一直践行完善这套规范,没有太多的阻碍,得益于公司整体氛围,以及团队对规范和写文档的不排斥,形成了良好的开发习惯 在这次分享后,发现好些大V也在谈规范,写文档,估计是前段时间阿里又发布了开发手册(华山版),借鉴于一下,对一些细节做些补充,整理出来
2183 0
开发流程规范