【入职必看】3分钟带你了解企业级开发流程

209 阅读4分钟

前言

大家好,今天给大家介绍一下企业内常见的敏捷开发周期。

如果你是一名未入(初入)职场的开发同学,阅读完本文你将对以后的工作日常做到心里有谱!

现在很多大厂都在实行基于scrum框架的敏捷开发流程。敏捷开发,顾名思义就是快速迭代,开发周期一般是2-4周,称为一个sprint,开发周期内要完成需求确认,开发,测试,上线等全部流程。

日常流程

1.确认需求

在sprint中,产品经理会根据业务发展方向或者客户需求,撰写需求文档(PRD),用工具绘制原型图(以图片的方式简单描述需求功能的东西),或者直接请UI设计同学协助根据PRD绘制设计稿。

2.需求评审

产品经理带着PRD,设计稿和开发、设计、测试同学一起开需求评审会。大家对需求内容进行讨论,反馈认为需求里需要优化/修改的部分。结束后产品经理根据讨论的内容返修。

3. 预估工时

开发同学需要根据工作量、技术难度估算每个需求需要的人天(人天表示如果一个人来开发需要多少天),预估需求时,老江湖都会留一点buffer,以防期间改需求或者其他意外情况发生。

4. 需求排期

开发团队单个迭代内可以提供的总人天数是确定的,举个例子:如果1个sprint内包含10个工作日,一共有2个后端,一般来说可以提供的后端人天总数为10x2x0.8=16人天。剩下的0.2人天系数比较弹性,可以用于开发也可以用于线上支持和技术改造。

排期的作用是将本次sprint里待开发的需求和开发人天总数相匹配,产品团队会把需求根据优先级进行排序(p0、p1、p2),以适配开发资源。

ps(当然,如果业务认为所有需求都是p0,本次迭代必须做完,那就要加班了嘿嘿)

5. 开发拆分任务

排期了本次sprint全部需求后,就要在开发团队内部拆分任务(这个你做,那个他做),确保每个开发在当前迭代内本人的人天数都被填满。

开发明确了属于自己的任务后,git拉取开发分支,同时确认所做需求的在自己所有任务里的优先级,以此给测试同学提供每个功能的准确提测时间。

6. 开发测试。

分配完活,就是开干!在此期间主要按下面步骤进行开发:

功能开发->自测->联调->提测->修bug->提测

前端会多一个Ui设计同学样式走查的步骤,直到迭代的最后某一天为封版日(除了修bug,其他代码不再修改了),开发同学把开发时拉取的分支合并同到一个分支上,合并完成测试同学将进行回归测试(把之前单独测过的所有功能合起来测一遍)。

7. 上线和验证

测试完成之后准备上线,如果公司有CI/CD平台的在平台上部署,没有的话,由运维同学部署到对应服务器上,完成上线。

部署之后测试同学在产线环境进行冒烟测试(验证主要流程没有问题)。产品、运营同学此时也有可能一起开会试用线上产品新功能,进行反馈。

注意

一个sprint内会包含上述的七个步骤,步骤之间环环相扣,两个连续的sprint之间会相互重叠,比如开发提测时已经开启下一个迭代的需求评审了。

上面的步骤一般适用在正常产品迭代,如果是项目或者冲刺阶段可能有所变化,你懂的。

如果上线部署之后出现问题,还需要发布hotfix或者patch。

Scrum框架

image.png 一般公司在使用敏捷开发的Scrum管理框架时还会包含以下几点:

  1. Scrum Master,会有一个督促角色,提醒团队里的成员完成上述每一个步骤。
  2. 每日例会,会议功能主要是给领导(leader)同步开发进度、识别风险,如果遇到了会阻塞问题及时抛出,用于管理人员协调资源。
  3. 有些公司会使用敏捷开发项目管理软件(比如Jira)来追踪开发的进度。

结尾

以上就是一般公司内部的研发流程,最后关于开发流程中git分支管理,上线发布规范等等具体内容我们下次再讲!

如果文章对你有益,请大家点点小赞!在评论区留言你们团队的开发流程是怎样的呢哈哈。