- 接到一个需求后都流程(简单来讲就是过一遍需求,确认上下游。第二步,编写技术方案,里面包含了prd,数据库,接口设计等。第三步,评审)
你的理解基本是正确的,这正是一个标准开发流程的核心骨架。不过,在实际的企业级开发(尤其是中大型项目或外包项目)中,为了确保质量和减少后期的“返工”,流程通常会更细化一些。
我们可以把这个流程优化为更专业的“标准研发五步法”:
1. 需求分析与对齐 (Requirement Analysis)
你说的“过一遍需求,确认上下游”就在这一步。
-
核心动作: 参加产品经理(PM)发起的 PRD 宣讲会。
-
你的任务: 确认逻辑是否闭环、是否有技术实现难度、明确依赖方(比如你需要下游提供接口,或者上游需要调用你)。
-
产出: 确认后的需求文档,初步的排期预估。
2. 技术设计方案 (Technical Design)
这是最关键的一步,也就是你提到的“技术方案”。
-
包含内容:
-
架构设计: 整体链路图,数据流向。
-
数据库设计: ER图、字段定义、索引优化。
-
接口设计: 入参、出参、错误码定义(通常在 YApi 或 Swagger 上体现)。
-
业务逻辑: 核心算法、状态机、特殊场景处理(如并发、幂等)。
-
非功能性设计: 缓存策略、日志监控、灰度发布方案。
-
3. 技术评审 (Design Review)
-
核心动作: 邀请组内资深开发、架构师、测试、甚至前端/下游同学一起开会。
-
目的: 别人帮你“找茬”。看看你的数据库设计是否有性能瓶颈,接口字段是否冗余,逻辑是否有漏洞。
-
产出: 修改完善后的技术方案,定稿排期(更精准的时间点)。
4. 开发与自测 (Coding & Unit Test)
你漏掉的非常关键的一步:
-
核心动作: 撸代码。
-
自测: 编写单元测试(JUnit),在本地或开发环境(DEV)把接口调通。如果是 Java 开发,这一步还要关注代码规范。
5. 提测与联调 (Integration & Testing)
-
联调: 和前后端、上下游在测试环境把链路串起来。
-
提测: 发起正式提测单,交给 QA(测试工程师)进行功能测试、压力测试等。
补充几点“避坑”细节:
-
关于 PRD: 记住,技术方案里不包含 PRD,PRD 是产品经理写的;技术方案是基于 PRD 写的技术实现路径。
-
关于上下游: 在外包环境或大厂中,上下游的“撕逼”通常出现在接口协议上。评审完一定要输出正式的接口文档,防止后期对方改字段导致你重写。
-
关于测试: 既然你之前提到想转测开或者测试,那么你在看这个流程时,要额外关注“测试用例评审”。通常在技术评审后,测试会出用例,开发也需要参加用例评审,确保开发理解的功能和测试准备测的功能是一致的。
总结:
你的思路是对的。简单说就是:搞清楚做什么(需求) -> 想好怎么做(方案) -> 大家确认一遍(评审) -> 动手做(开发) -> 交付质量检查(测试)。
目前的这个流程,是你现在带项目时准备推行的,还是在面试新公司时准备拿来回答的?