资讯专栏INFORMATION COLUMN

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

Coding01 / 3211人阅读

摘要:一前言对于很多还没进入社会或者之前没有在互联网公司呆过的人来说,会很好奇互联网企业的开发流程是怎样的,正好借着我最近这段时间的经历写下这一篇介绍开发流程的文章。整体的开发流程涉及到的人员角色有项目经理产品设计后端开发前端开发运维测试。

(一)前言

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

(二)开发流程

对于有自研系统的企业,程序员往往是和产品经理在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,在一段时间内都不会动生产环境的系统,接下来的改动会按照版本进行迭代,这里刚好和第一步形成了一个闭环。

(三)总结

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/123176.html

相关文章

  • 大四应届毕业生,想自学软件测试,怎样才能快速学会并找到工作?

    摘要:大四想转软件测试,对软件测试有了解吗在你概念里,简单的手工测试或者功能测试就是软件测试的全部,这只是摸到了测试工作的边边,还有种软件测试叫做自动化测试。软件测试需求分析与软件测试用例设计核心工程方法。 大四想转软件测试,对软件测试有了解吗?在你概念里,简单的手工测试或者功能测试就是软件测试的...

    ethernet 评论0 收藏0
  • 展望2019 | 数据科学、机器学习和人工智能领域五大预测

    摘要:我们队年的预测基本正确,当中有些预测趋势也可以用于新的一年,下面继续看到对年数据科学机器学习和人工智能领域的预测。 showImg(https://segmentfault.com/img/bVbnqYV?w=1024&h=512); 作者:William VorhiesCDA数据分析研究院原创作品, 转载需授权​ 2018年刚刚结束,在2019年到来之际,让我们一起展望在今年数据科学...

    whlong 评论0 收藏0
  • 展望2019 | 数据科学、机器学习和人工智能领域五大预测

    摘要:我们队年的预测基本正确,当中有些预测趋势也可以用于新的一年,下面继续看到对年数据科学机器学习和人工智能领域的预测。 showImg(https://segmentfault.com/img/bVbnqYV?w=1024&h=512); 作者:William VorhiesCDA数据分析研究院原创作品, 转载需授权​ 2018年刚刚结束,在2019年到来之际,让我们一起展望在今年数据科学...

    HackerShell 评论0 收藏0
  • 1月份前端资源分享

    摘要:更多资源请文章转自月份前端资源分享视频前端技术论坛融合不可错过的迷你库测试框架实例教程为你详细解读请求头的具体含意解析的库如果要用前端框架,开发流程是怎样的与有什么区别正确使用的方法是什么流程图插件小如何让元素只能输入纯文本前端技术中 更多资源请Star:https://github.com/maidishike... 文章转自:https://github.com/jsfront...

    solocoder 评论0 收藏0
  • 开发一个业务逻辑复杂系统,应该怎么样设计才能使项目扩展性更好?

    摘要:看到一篇好文章,收藏一下我在知乎关于开发一个业务逻辑复杂的系统,应该怎么样设计才能使项目的扩展性更好做的回答。一个标准的工作流程包括业务建模,需求分析,分析设计,实施开发,测试,部署,配置和变更管理,项目管理,环境。 看到一篇好文章,收藏一下 我在知乎关于《开发一个业务逻辑复杂的系统,应该怎么样设计才能使项目的扩展性更好?》做的回答。 既然业务逻辑复杂,那意味着项目前期的业...

    NervosNetwork 评论0 收藏0

发表评论

0条评论

Coding01

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<