规范是死的,人是活的,希望自己定的规范,不要被打脸。

接下来从以上六个阶段进行逐一拆解。

1 需求评审

作为技术人员肯定都参加过需求评审会,不知道有没有遇到这样的情况?

  • 产品经理按照 PRD 文档读一遍,参会人员无动于衷。
  • 产品经理刚讲了一个需求点,参会人员就产生了激烈的讨论,都在证明自己是对的。
  • 参会人员对需求的目标不明确,对需求点进行发散思维讨论,最终偏离方向。

遇到以上问题,肯定是在参加需求评审之前未做充分准备,那么问题来了,需要提前准备什么?

评审前

不要听产品同学说,该需求是大老板跟进的、非常重要、非常紧急之类的,就问产品三个问题:

  1. 解决了什么问题?
  2. 提升了什么指标?
  3. 有什么商业价值?

这三个问题搞清楚了,再进行评审。

产品经理发出 原型PRD 初稿后,开发人员要有 1-2 天时间(具体时间根据项目大小而定),熟悉文档,有任何疑问可以反馈给开发经理,由开发经理统一收集再反馈给产品经理,产品经理逐一进行答疑。

熟悉完文档后,开发人员和开发经理需要一起确定:

  • 技术选型(前端/后端框架、日志中间件、消息中间件、数据库...)
  • 技术架构(组件与组件之间如何协同工作,如何部署)
  • 技术难点预知(明确存在的技术难点,并确定解决方案)
  • 性能瓶颈预知(明确可能存在性能瓶颈的地方,并确定应对措施)
  • 上下游系统交互(明确在流程中的哪个位置,约定接口文档提供时间、接口联调时间)
  • 功能模块划分(任务拆分和分配)

技术方案确定后,需要输出技术设计文档,包括:总体设计概要设计详细设计接口设计 等。

评审中

开发人员必须参加,有需求不明确的地方当场提出,同时开发人员也需要思考产品需求是否合理,可适当提出自己的产品意见。

一般评审至少有两次(初稿和终稿)。

评审后

评审后,如有需更新技术文档的请及时进行更新。

开发经理首先需要考虑团队现有的资源及项目的优先级,然后根据技术设计文档进行评估排期。

排期模板如下:

2 技术评审

评审前

开发人员一定要重视技术设计!

开发人员一定要重视技术设计!

开发人员一定要重视技术设计!

重要事情说三遍!

技术评审主要评审什么?

  • 系统关系图模块关系图流程图的设计,画图工具根据自己爱好即可。
  • 接口设计,需要考虑接口的 兼容性、扩展性、参数命名遵守 参数命名规范 等。
  • 数据库设计,需要遵守 数据库设计规范,并记录 数据表变更文档
  • 详细设计,需要考虑公共类、公共方法、方法定义 遵守 项目框架目录规范

评审中

开发人员和开发经理必须参加,涉及到总体设计和概要设计时,需要邀请 架构师 参与,涉及到数据库调整时,需要邀请 DBA 参与。

一般评审至少有两次(初稿和终稿)。

评审后

评审后,如有需更新排期文档的请及时进行更新。

排期确定后,通过邮件方式进行回复排期,使用标准化的 回复排期邮件模板

按部就班,按计划行事。

3 需求开发

编码

开发人员编码过程中,需要遵守团队的 编码规范,同时严格按照设计文档中的技术方案执行,除了保证代码逻辑的正确性外,还需要考虑代码封装性可维护性可扩展性,当编码阶段发现技术方案需要调整时,需要及时通知开发经理,经过同意后才能实施,涉及到引入新框架和新技术,也需要提前通知开发经理。

代码审查

开发人员需要控制代码提交的频次和粒度,每次代码提交之后 24 小时内,需要主动联系代码审查人完成检查,开发经理负责检查是否执行到位。

代码审查主要审查什么?

  • 规范性检查(是否符合代码规范、提交备注规范等)
  • 健壮性检查(是否陷入死循环、资源未释放等)
  • 安全性检查(是否存在SQL注入、XSS、SSRF、CSRF、越权、文件上传等)
  • 性能检查(是否存在未加缓存频繁连接DB,是否需要连接池)

联调

开发人员积极主动地推动联调工作,如果遇到阻碍及时通知技术经理进行协调。

自测

联调完毕后,开发人员需要同时完成自测,并将标准化的 自测报告 发给测试团队。

对于有性能要求的项目,需要开发人员进行性能测试,并出具标准化的 性能测试报告

提测

自测完毕后,通过邮件方式进行提测申请,使用标准化的 申请提测邮件模板

开发人员根据公司运维提供的发布方式,进行部署到测试环境。

4 跟进测试

测试用例评审

开发人员必须参加,避免出现测试与开发对需求理解不一致的情况。

Bug 修复

开发人员及时关注 Bug 列表,快速修复迭代发布,如果测试进度存在延期风险,需要及时通知开发经理。

5 跟进上线

开发人员首先确认 Bug 全部关闭,同时产品人员在测试环境验收通过,然后需要主动推动相关团队理清上线依赖和上线顺序,同时确定回滚预案,最后根据公司运维提供的发布方式,进行部署到线上环境。

线上环境部署完成后,通过邮件方式进行通知产品人员和测试人员,使用标准化的 上线完毕邮件模板,同时积极推动测试人员和产品人员完成线上验证,线上出现问题后第一时间通知开发经理。

6 线上问题复盘

需求在测试环境和正式环境,均未测试出 Bug,上线一段时候后出现 Bug,这种问题用什么制度约束?

出现问题后开发人员及时修复,修复完了就完事了。仅仅做到这些还远远不够。

建议使用如下模板进行复盘。

小结

大家可以数一数上面使用到了多少规范,这时有朋友会说了,这规范也太多了吧,这和工厂工人有什么区别,我们程序员是有创造性的,我们喜欢前沿性、挑战性的工作,我们放荡不羁爱自由...

针对这个问题,首先我不否认开发人员是有创造性的,但并不是所有的程序员都有创造性,在现实工作场景中大部分程序员不是做创造性工作的,也没必要做创造性工作,所以必须按照规范流程执行。

团队管理和团队之间合作,必须要有规范,并严格执行。

就到这吧,以上供参考。

以上内容希望帮助到大家,更多PHP大厂PDF面试文档,PHP进阶架构视频资料,PHP精彩好文可以关注公众号:PHP开源社区,或者访问:

精华PHP技术文章整理合集——PHP框架篇

精华PHP技术文合集——微服务架构篇

精华PHP技术文合集——分布式架构篇

精华PHP技术文合集——高并发场景篇

精华PHP技术文章整理合集——数据库篇

来源:https://www.cnblogs.com/xinliangcoder/p/12393944.html

开发文档模板_究竟什么样的开发流程是规范的?相关推荐

  1. 开发文档模板_需求文档模板一堆什么样的适合你呢?

    产品经理的日常中用的最多的是产品需求文档,这个文档应该可以说是产品经理将需求落到是明面上的一步. 我们的文档需要给相关的人员进行共同的看,不然文档就没有存在的意义了,文档不只是简单的线框图和一些自己也 ...

  2. python软件开发文档目录_python学习之-软件开发的目录规范

    通常软件目录下有几个标准文件夹 软件主文件夹命名,通常都是大写(ATM_SHOPPING) ------------------------------------------------------ ...

  3. 大公司内部的标准开发文档模板下载

    大公司内部的标准开发文档模板,包含项目研发过程文档,项目管理过程文档,机构支撑过程文档,需求文档模板.设计文档模板.编码实现文档,缺陷跟踪文档,质量保证文档,等等,又全,又好,又规范. 下载地址:ht ...

  4. 企业门户网站设计开发文档模板

    案卷号 201304 日期 2013/4/1         企业门户网站设计开发文档     作    者:           xx 完成日期:           2013/04/01 签 收 ...

  5. 究竟什么样的开发流程是规范的?

    概述 有读者反馈,读了文章 一线技术管理者究竟在管什么事?收获满满,但还有点不过瘾,还想了解更细的东西... 这篇文章分享开发流程规范,目的是提高产品质量,优化开发流程,供大家参考. 规范是死的,人是 ...

  6. android 开发文档模板

    1.1 编写目的 · 阐明开发本软件的目的: 1.2 项目背景 · 标识待开发软件产品的名称.代码: · 列出本项目的任务提出者.项目负责人.系统分析员.系统设计员.程序设计员.程序员.资料员以及与本 ...

  7. 软件开发文档模板 (学习)

    1 可行性研究报告  可行性研究报告的编写目的是:说明该软件开发项目的实现在技术.经济和社会条件方面的可行性:评述为了合理地达到开发目标而可能先择的各种方案:说明论证所选定的方案.  可行性研究报告的 ...

  8. python中文开发文档_pydoc (Development Tools) – Python 中文开发手册

    Python 中文开发手册 pydoc (Development Tools) - Python 中文开发手册 2.1版本中的新功能. 源代码: Lib / pydoc.py pydoc模块自动从Py ...

  9. tx2 fpga pcie无法读写_Cyclone V SOC(ARM+FPGA)开发文档_之开发流程详解

    双击可查看大图(手动狗头) 目录 Altera Cyclone V soc开发文档 之软硬件开发 1 Cyclone V开发流程介绍 5 专业术语 5 Cyclone V软件开发介绍 6 U-BOOT ...

最新文章

  1. gbdt xgboost 贼难理解!
  2. [face_recognition中文文档] 第3节 用法
  3. Android Prelink实现的源码分析
  4. mariadb设置root初始密码
  5. (转)NSIS使用心得
  6. Java 设计模式之原型模式
  7. 万字综述,GNN在NLP中的应用,建议收藏慢慢看
  8. Advanced Bash Sell Scripting学习笔记1
  9. 使用 Redis 实现自动补全功能
  10. android 加载系统私有库,Android 搭建私有maven仓库及上传项目
  11. 力扣-61 旋转链表
  12. 面试官:给我说说你对Java GC机制的理解?
  13. Android 蓝牙终端交互管理
  14. Rust语言教程(6) - 错误处理和可选值
  15. Jersey框架一:Jersey RESTful WebService框架简介
  16. win7系统安装 wifi连接到服务器,win7系统笔记本wifi无法连接到服务器1237的解决方法...
  17. 从AdventureWorks学习数据库建模——国际化
  18. No valid entries or contents found, this is not a valid OOXML (Office Open XML) file
  19. [golang gin框架] 27.Gin 商城项目-购物车
  20. odoo10参考系列--数据文件

热门文章

  1. JDK8新特性LocalDate、LocalTime和LocalDateTime
  2. gateway nacos注册服务_使用Nacos作为微服务注册中心和配置中心
  3. 删除购物车ajax js,在购物车中使用ajax在woocommerce中移除产品
  4. 蓝宝石显卡bios_狼神矿卡烤机89°C!强刷蓝宝石RX570超白金显卡BIOS降温75°教程...
  5. 汉字笔顺口诀_【小学语文知识】汉字书写笔顺口诀+书写规则
  6. 2输入一个字符判断是否属于a-zA-Z之间如果是请是属于a-z还是A-Z并且输出值。
  7. AMQP Connection 127.0.0.1:5672] ERROR [o.s.a.rabbit.connection.CachingConnectionFactory] CachingConn
  8. nohup命令导致nohup.out文件过大处理办法
  9. eureka server启动后端口变为8080问题解决
  10. div加border样式