我好多年之前结识了一个创业公司的技术负责人,一直也没断了联系,有一次和他约饭,他就说:现在公司慢慢壮大,几十个人了,想了解一下大厂的开发规范,否则越大越难管理。
当时我也没做什么准备,于是就边吃边聊,把我想到的都跟他说了,不过比较散乱。从那时候开始,我就想应该很多人都有这个困惑,特别是中小型公司的管理者和程序员。于是后来我抽时间详细整理了这个流程。
你可能好奇:是不是大厂的员工都可以整理出这样的流程呢?—— 当然不是。我能详细整理出来是基于我个人的两个优势。
下图是完整的大厂前端项目研发流程图。如果对图中的术语和流程不了解,没关系,下文会有介绍。
主要是各个部门的 leader 确定项目要做了,就是“拍板儿”确定。此时不需要工程师参与,因为决定权在于他们。项目立项时没有任何详细的信息,如需求、设计图等,都要后面继续做。
PM 根据项目的背景和目标,编写需求文档,画原型图(不是 UI 设计图),然后叫各个角色开会评审。
你如果作为 FE 角色去参与评审,要积极提出自己的问题和建议。需求评审不一定一次通过。
如果此时 PM 跟你要工作排期,你不要立即回复。回去跟你的 leader 商量之后,给一个谨慎的排期。
需求指导设计,设计指导开发。先做技术方案设计,写文档,待评审之后再开发。
技术方案写完之后,要叫 leader ,以及其他技术角色人员一起评审。
需求评审通过之后,UE 和 UI 就开始出设计稿。做完设计稿之后,会叫相关开发人员参与评审。和需求评审一样,你要提出自己的问题和建议。
上述评审都结束之后,才可以进入开发阶段。开发时要注意开发规范,及时 code review,写单元测试。
网页界面开发完成之后,要找 UI 人员来视觉联调,让他们确认是否可以。如果不可以,就直接修改,直到评审通过。
这一步要尽早执行,不要等待临上线了,再去调整 UI 界面。
代码功能开发完之后,要和其他相关技术人员(RD、CRD)进行接口联调。就是在开发环境下,先把系统对接起来,看看会不会出错。
注意,接口联调不是测试,不用太过于项目,能把最基本的功能跑通即可。
对于自己开发的功能,一定要自己按照需求测试一遍。不要求测试的很详细,至少也把基本功能跑通。
这一步是为了防止提测之后被 QA 发现基本功能不可用,就很尴尬。人家会觉得你不靠谱。
自测完成之后,即可把代码提测给 QA 。这一步很关键,要发邮件,抄送给项目组的相关成员。
QA 进行详细的功能测试。测试期间会有 bug 反馈,要及时修复 bug ,并及时让 QA 回归测试。
测试期间要积极和 QA 沟通,最好每天都开一个站会。
QA 测试完成会发邮件全体通报测试通过,测试就可以准备上线。
上线之后要及时和 QA 组织回归测试,待回归测试完成之后才可以通知:上线完成
项目总结是可选的,而且我发现大部分的团队都不会去做总结,觉得上线完了就大功告成,该启动下一个项目了。但我觉得,无论是不是做项目,做完一件事(如看完一本书)就应该自己总结一下。回顾一下经过,总结一下得失,积累一点经验,这样才能慢慢成长。