浅谈开发流程 | 青训营笔记

150 阅读2分钟

曾经以为程序员的工作就是Coding,直到接触了字节后端工程师的开发流程分享,原来Coding不是最重要的,不同于我们在学校做的那些很小的项目(可能看起来还可以,但是和真实企业的项目相比,真的很小了),不断沟通、开会和反思才是最重要的。

在校做项目的开发流程

在校生一般都缺乏实际大型商业项目的经验,做的项目一般都是学校大作业、实训作业,即使是毕设,也往往是我们自己一个人设计和开发,大家也感受不到开发流程的存在,感觉就是自己一个人不停地Coding。

传统的瀑布模型

软件工程课讲项目流程时,应该会讲到项目开发的瀑布模型,这是一种非常传统的模型。把整个软件开发流程看成一条线,一个阶段完成后才能进入下一阶段。

需求->需求完成->开发->开发完成->测试->测试完成->发布->运维......

我们在校或者个人做项目也是这样,一个人做需求,需求调研完了开始Coding。

一般是银行或者支付业务的部门会采用这种模型,讲究稳定,可能发布一个功能,就需要N版检查。

优点是稳定,例如支付业务,可能要求一年出现的Bug不能超过2个,所以要分块进行,每一环都要细致认真。缺点是效率低,中间有一环出现问题,整个流程就得等这一环恢复正常,不够敏捷。

敏捷开发

出去找工作后,尤其在一些大厂,发现更讲究敏捷开发。项目不是一个角色的事儿,需求调研不是你一个人的事儿,防止一个人想当然提出需求,开发人员只能做这个毫无意义、非常臃肿的功能。