谁说明天上线,这货压根不知道开发流程!


做者:小傅哥html

沉淀、分享、成长,让本身和他人都能有所收获!😄

1、前言

互联网公司常见工种有哪些?git

互联网中一个项目的上线会须要各个工种间的配合,以研发为视角上会承接产品需求,下会交给测试验证,最终完成项目交付上线。其实除此以外,还会有业务、运营、UI设计、运维,来配合项目的发起、使用和运维维护。程序员

图 18-1,互联网工种协同合做。github

图 18-1 互联网工种协同合做

除了一条线上的工做交替配合,还有同工种间的跨部门协同工做。 好比:数据库

  • 产品阶段:A产品中的部分服务,须要由另一个部门配合开发相关服务支撑。那么双方产品须要协调好时间节奏,配合上线。
  • 研发阶段:承接着产品跨部门的对接功能,双方研发会定义好对接接口、对接时间,以及最终的联调上线。
  • 测试阶段:按照产品的功能节点、研发的开发流程以及接口描述,进行测试验证。

最终,同部门工做的交替、跨部门的工做协同,保障项目开发过程所需的各项物料都如期上线。设计模式

接下来咱们来讲一说,项目上线中各个阶段的执行过程。 固然,并不必定全部的开发都是按照这个过程执行。​会根据公司的体量、项目的大小、架构的模式有些许差别。因此,仅做为参考学习便可,不须要强制趋同。缓存

2、时间节奏

图 18-2 定义时间节奏

  • 级别:⭐⭐⭐⭐
  • 事项:定义项目开发时间节点
  • 人员:业务、产品、研发组长、测试组长、架构师、核心项目成员
  • 描述:这个时间节奏的定义很是重要,它能够是项目经理发起也能够是产品发起。通常不少时候互联公司发一个项目,常常会听到老板说我要这个时间上。可能这句话看上去很不合理,但为了活下去,为了快速站住市场,压到下面执行人员就是一个必需要上线的时间。,这个上线的时间若是想知足, 那么就须要把总体的时间节奏确认出来。好比业务和产品何时把需求确认清楚什么时间与研发过PRD研发何时开发到提测测试什么时间测试完成若是,没有这个时间节奏,前面的职责人员把时间都耗费没了之后,越日后面风险越高。就像最后研发只有4天,测试只有2天,那带BUG上线吗!?因此要总体把控才是对项目的负责。

3、资源投入

图 18-3 安排资源投入

  • 级别:⭐⭐⭐
  • 事项:研发资源投入
  • 人员:架构师、研发人员、测试人员
  • 描述:站在研发视角,研发须要从工程开发、配合测试(改bug)、项目上线等的全流程参与,是一个较长周期的工做。但在某个阶段所投入的时间成本会有差别,能够按照必定的资源占比进行投入(1是100%、0.8是80%)。那么,当一个新的项目下来之后,就须要按照最近原则和项目的人员可投入状况,进行资源投入安排。若是项目较多的状况下,资源安排不合理。可能会致使项目提交测试晚或某些功能所有由一个研发提交测试的,最终改不过来BUG。从而也就致使了,项目的延期风险。

4、研发、测试、上线阶段

图 18-4 研发、测试、上线阶段

  • 级别:⭐⭐⭐⭐
  • 事项:研发、测试、上线阶段
  • 人员:研发人员、测试人员、架构师/技术组长
  • 描述:这个阶段包括的内容较多,主要是以研发视角看上下衔接人员。研发接过产品的需求开始作设计,设计完成后由研发主导发起设计评审,这个阶段参与的人员较多(研发、架构师、测试、产品等)。功能的合理设计也是能够很是有效的保障资源使用的重要一环,另一个需求的合理架构将会为后续需求迭代作好铺垫。就像女厕改男厕,若是没有流出小便的水管,就很麻烦。 最终研发完成须要提交相应的成果物,尤为是提测报告、接口文档、单测信息。若是研发不能有完整的单元测试覆盖度,那么交给测试之后,平常的修复bug的事情就会很是多。当研发和测试工做完成之后,接下来就是发布上线。上线前夕会有研发发起上线报告,同时各方配合以及产品、运用准备相应的线上配置数据和权限。最终上线完成交付产品运营使用。

5、项目复盘

图 18-5 项目复盘

  • 级别:⭐⭐⭐⭐
  • 事项:项目复盘
  • 人员:面向研发和测试人员
  • 描述:复盘可能会由于出现事故、技术总结、分享成长,几个方向而进行的概括、总结,避免同类事情的发生。复盘内容通常会包括技术方面的使用,例如:DB、应用开发、网关等,也包括业务领域逻辑的建设。
  • 复盘DB:架构

    1. 数据库链接数配置依照业务场景申请增长
  1. 禁止使用复杂嵌套和函数类等作业务查询
  2. 防重逻辑字段增强避免形成不能防重问题
  3. 索引字段初始化检测以及慢查询问题优化
  • 复盘业务:运维

    1. 对于全部营销类场景的设计需符合标准流程,缓存使用的一致性问题
    1. 资金流水结算方面在防重复设计上增强验证,测试环境模拟多样场景
    2. 对于外部支撑系统的依赖按照业务体量发展,进行通知压测报告流量
    3. 全部核心功能流程增强研发侧代码评审质量,并不断按照发展量优化
    4. 研发侧代码质量提高按期复盘问题以及优化,经过锻炼不断增强质量
    5. 在研发提测、修复、上线流程注意开发分支,避免错乱合并产生问题
    6. 全部的业务流程配置监控与图表并打印日志,方便及时追踪线上异常
    7. 核心场景的全链路压测能够有效的保证质量,也可很好下降流量风险
  • 复盘功能:ide

    1. 功能逻辑封装优化,缓存、线程、验证
    2. 日志完整性校验,入参、出参、异常
    3. 调用外部接口的超时时长设定以及重试约定
    4. 异常展现的紧急问题,测试环境复现追溯
  • 复盘部署:

    1. 按照压测标准部署服务
    2. 核心业务双机房三机房
    3. 非核心业务隔离RPC接口配置
    4. 按需调整JVM、链接数、日志等参数
  • 复盘接口:

    1. 功能验证的完整性
    2. 异常流程的复测性
    3. 数据指标监控范围
    4. 新上线后按期检测
  • 综上,可能仅仅是对某一次项目的总结性复盘,便于新人接受和理解项目的重点内容。若是团队中能及时有效的汇总技术并落地资料,能够很是有效的作好技术传承。

    6、总结

    • 互联网中通常中大型项目的开发过程,涉及的流程通常较多,也须要合理的把控。不然可能会出现一些过程当中的风险,致使项目不能如期上线。固然也并非全部项目都须要这样处理,例如一些小功能的迭代和简单需求的开发,能够简化流程,快速迭代。盖茅坑、猪圈、三居室仍是不一样的,不能一律而论
    • 作好技术分析、复盘、总结、概括,沉淀出的技术资料很是有价值,既能够把项目开发经验传承给新人,也可让全部人作好各自的技术成长。而且经过复盘和总结,又能够提炼出更多新的思路和提高技术氛围。
    • 好了,本章就总结到这,可能对具体的你或者具体的公司,会有不一样的视角和结果。若是有一些好的点能够互相讨论学习。另外最近学会了个新东西分享给你们:内卷的反义词是:外包,合同的反义词是:离异!

    7、系列推荐


    博客:https://bugstack.cn
    Github:https://github.com/fuzhengwei/CodeGuide/wiki

    相关文章
    相关标签/搜索