Code Ease Code Ease
  • 个人博客网站 (opens new window)
  • 好用的工具网站 (opens new window)
  • Java核心基础
  • 框架的艺术
  • 分布式与微服务
  • 开发经验大全
  • 设计模式
  • 版本新特性
数据库系列
大数据+AI
  • xxl-job
运维与Linux
  • 基于SpringBoot和BootStrap的论坛网址
  • 基于VuePress的个人博客网站
  • 基于SpringBoot开发的小功能
  • 做一个自己的IDEA插件
程序人生
关于我
  • 分类
  • 标签
  • 归档

神秘的鱼仔

你会累是因为你在走上坡路
  • 个人博客网站 (opens new window)
  • 好用的工具网站 (opens new window)
  • Java核心基础
  • 框架的艺术
  • 分布式与微服务
  • 开发经验大全
  • 设计模式
  • 版本新特性
数据库系列
大数据+AI
  • xxl-job
运维与Linux
  • 基于SpringBoot和BootStrap的论坛网址
  • 基于VuePress的个人博客网站
  • 基于SpringBoot开发的小功能
  • 做一个自己的IDEA插件
程序人生
关于我
  • 分类
  • 标签
  • 归档
服务器
  • 作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • JAVA实习生刚进公司主要做些什么?以及进入职场后我的心理变化
  • 工作中只需要增删改查的程序员,别安于现状
  • 坚持写技术博客,我得到了什么?
  • 从考研失败到最具成长力员工,这个2020就像过山车一样
  • 今天不聊技术,谈谈我眼中的程序员到底是个怎样的职业
  • 平稳运行半年的系统宕机了,记录一次排错调优的全过程!
  • 裸辞后,我更加自律了
  • 谈谈我裸辞以及一周内找到工作的经历
  • 软件行业和互联网行业究竟有什么区别?又该如何去选择?
  • 1到3年的Java开发工程师应该如何准备面试
  • 互联网公司的完整开发流程是怎样的?
    • (一)前言
    • (二)开发流程
      • 2.1 需求调研
      • 2.2 产品文档产出
      • 2.3 产品文档评审
      • 2.4 设计出设计稿
      • 2.5 设计评审
      • 2.6 技术方案产出
      • 2.7 技术方案评审
      • 2.8 开发联调
      • 2.9 测试
      • 2.10 线上发布
      • 2.11 版本迭代
    • (三)总结
  • 【2021总结】工作时间从865到995,这一年的变化真大
  • 从一线城市离开半年后,我成半个自由职业者了?
  • 【2024总结】往自由职业者探索的一年
  • 程序人生
CodeEase
2023-10-26
目录

互联网公司的完整开发流程是怎样的?

作者:鱼仔
博客首页: codeease.top (opens new window)
公众号:Java鱼仔

# (一)前言

对于很多还没进入社会或者之前没有在互联网公司呆过的人来说,会很好奇互联网企业的开发流程是怎样的,正好借着我最近这段时间的经历写下这一篇介绍开发流程的文章。

# (二)开发流程

对于有自研系统的企业,程序员往往是和产品经理在battle。整体的开发流程涉及到的人员角色有:项目经理、产品、设计、后端开发、前端开发、运维、测试。

# 2.1 需求调研

首先是需求调研阶段,这阶段由项目经理和产品经理全权负责,产品经理会针对老板或者客户提出的要求,进行需求调研,功能要不要做,要怎样做。最后整理出一套需求文档,和整个项目的项目经理。

# 2.2 产品文档产出

需求调研结束后,产品需要将调研到的需求整理成产品文档。

# 2.3 产品文档评审

这里是需要所有人员参与的第一个会议,产品会聚集所有项目人员进行产品文档评审,主要是介绍产品要做什么,要怎么做,每个页面要实现什么功能。在这个阶段往往是产品和开发人员争论最大的阶段。产品的思维有时会天马行空,想的很美好,但是在技术人员眼里实现极其不靠谱,或者无法实现。在这段battle过程中,有些需求会被砍,有些功能会做调整。

# 2.4 设计出设计稿

产品文档评审结束并二次修改完成后,设计会根据产品文档出具体的设计稿。

# 2.5 设计评审

这里是需要全项目人员聚集的第二个会议,设计会根据设计稿并结合产品文档介绍每一个功能点,这里如果和产品预期有差异,设计需要根据产品的想法进行调整。

# 2.6 技术方案产出

设计完成后开发人员需要根据产品以及设计稿去思考技术选型,最后给出一份比较完整的技术方案,这一步往往是在产品文档确定后和设计同步进行。这一步也是整个开发流程中技术人员最难的时候,对于核心内容需要对多种技术进行选型,对后端来说:数据库用什么?是否引入缓存?现有选型能否满足数据量和性能的需求?都需要考虑在内,接着要把表结构设计出来,接口设计,形成一份完整的技术方案文档。前端也同样需要给出实现方案。

# 2.7 技术方案评审

技术方案产出之后,接下来就是对技术方案进行评审,这一次参会的是技术人员,在这个阶段往往技术负责人会参与进来一起讨论技术的可行性以及稳定性。在技术方案评审中,前后端要针对接口达成一致,后续基本上以这一次定下的接口分别开发。技术方案评审后需要前后端分别给出开发的排期,没有问题后进入开发联调环节。

# 2.8 开发联调

接下来就是前后端分别开发,并在deadline前联调,并将联调完成后的项目发到测试环境中。

# 2.9 测试

测试人员会在test环境对系统进行测试,并将测试结果反馈给开发人员,开发人员针对测试提出的bug进行修复。测试需要对修改后的问题进行再次测试。

# 2.10 线上发布

待测试没有任何问题后,由运维人员协助开发将test环境上的系统版本发布到生产环境。

# 2.11 版本迭代

一般来讲如果没有重大bug,在一段时间内都不会动生产环境的系统,接下来的改动会按照版本进行迭代,这里刚好和第一步形成了一个闭环。

# (三)总结

总体来讲,开发人员越多的公司往往整体的流程会越规范,对企业来说肯定是好事,但对个人来说也要看两面。流程越来越规范,能让你在开发方面的能力越来越强,但让你遇到问题解决问题的场景也就变少了,运维人员会帮你解决运维上的问题,产品会帮你对需求。如果你是在初创公司或者是面向客户的软件行业,往往是一个人一手抓,也能锻炼自己各方面的能力。

具体如何选择,看你自己对未来的规划如何。我是鱼仔,最近真的好忙,我们下期再见。

上次更新: 2025/02/18, 11:30:08
1到3年的Java开发工程师应该如何准备面试
【2021总结】工作时间从865到995,这一年的变化真大

← 1到3年的Java开发工程师应该如何准备面试 【2021总结】工作时间从865到995,这一年的变化真大→

最近更新
01
AI大模型部署指南
02-18
02
半个月了,DeepSeek为什么还是服务不可用
02-13
03
Python3.9及3.10安装文档
01-23
更多文章>
Theme by Vdoing | Copyright © 2023-2025 备案图标 浙公网安备33021202002405 | 浙ICP备2023040452号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式