我最近的项目,团队都是以前端、后端两个分离的形式。作为一个大前端,不论是在 Web 开发的时候,还是开发 Android 应用的时候,经常遇到:

  • 后端 API 产能不免,供给不上的问题

  • 后端 API 出现 BUG,需要等待修复的问题

  • 后端 API 发生了修改,没有通知到前端,showcase 的时候发现了 bug

  • ……

这一系列的问题,让我觉得特别不开心,我浪费了大把地青春在等后端写代码。而联想起很早以前的全功能型团队,我不禁要写一篇文章吐槽一下,WTF,前后端分离团队的资源浪费。

全功能型开发团队

全功能型开发团队是一个胶水团队,用一个更好的词就是精益团队,团队里的成员可以独立地处理大部分的前后端问题。它并非指每个成员都同时擅长前后端,而是在前后端里各有所长。但是,对于业务问题来说,前后端的编码并没有太大的区别。

当一个擅长前端的开发人员,遇到复杂的后端问题,就会找团队里相应的后端开发人员来解决。同理,当一个擅长后端的开发人员,遇到复杂的前端问题,就会找团队里相应的前端开发人员来解决。

我工作的第一个团队是一个全功能型团队,在这个团队里没有前后端之分:Only Developer。只是 Developer 分成了:

  • 擅长前端的 Developer

  • 擅长后端的 Developer

又或者是:

  • 往前端发展的 Developer

  • 往后端发展的 Developer

在这个 10 个开发人员的团队里,每个开发人员,即是一个前端开发,又是一个后端开发,还有些人充当了临时的 Ops 或者 DevOps 的角色。在一段时间里,我们还尝试着让开发人员拥有测试、业务分析技能,但是我们失败了——Developer is Deverloper,脱离一线就相当的困难。

前后端分离团队的资源浪费

与前后端团队相比,一个全功能型团队接触到新的任务时,他接到的是一个开发后端 API、前端 UI 的任务。而不是一个后端 API,又或者仅仅是一个前端 UI 的 story。

设计不当导致的浪费

两种不同的团队类型,意味着全功能型团队的成员:

  • 节省了大量的时间在 API 沟通上

  • 可以设计出符合前端 UI 的 API

  • 遇到 Bug 时,可以快速地修复

而在一个前后端分离团队里,他们需要:

  • 花费时候在制定 API 的接口上

  • 设计出的接口,可能并不适合前端使用

  • 遇到 Bug 的时候,修复完后,需要前端或者后端配合

进度不一致导致的浪费

可是当前后端进度出现不一致的时候,特别是后端进度落后于前端的时候,会在后期导致大量地返工,并且有大量地开发人员在等待另外一端的实现。

当后端完成开发时,前端去集成代码,遇到一些 Bug,又进一步地需要等待后端去修复这些 Bug。

沟通不畅导致的浪费

对于那些前、后端不在同一地方开发的团队来说,他们可能使用 API 文档或者契约来沟通。而在开发的过程中,有一些补充的修改,在即时通信软件上通知了,但是执行的人忘了这回事。那么,就会进一步地导致各式的沟通问题(撕逼)。

总之言之,全功能型开发团队好。

什么阻碍了全功能型开发团队

但是要实施全功能型开发团队一点儿也不容易,你要遇到合适的人、合适的项目,还要有适合的领导。

然后,团队就可以关注于技术沟通,和提升技术水平上。

技术沟通

在我司我们采用的是开放式办公,任何时候你遇到任何遇到,你都可以轻松 Touch 到团队的每一个人。

对,这种类似于网吧的布局。

那么,剩下的唯一担心的可能就是代码质量了。请注意两个点:

  • 单元测试。即使是不擅长后端,足够的 Test Case,也能提升代码的质量。

  • 适当地结对编程。当一个不擅长后端的成员,刚接触项目时,适合时间的结对编程可以提升他的后端能力。同理于前端能力。

  • Code Review。代码检视,对于不擅长后端的人来说,仍然是一个相当好的成长机会。

在大部分的公司里,基本上很难做到上面三点中的任意一点,所以更难实现这种类似的团队。而当我们尝试去建立这样的团队,那么帮助他人成长就是永远的主题。

吐槽完毕



前后端分离团队的资源浪费相关推荐

  1. 前后端部署在两台服务器 服务器配置要求_漫谈前后端分离

    前言--浅谈前后端 在我的脑海中一提到前端和后端,基本上第一个出现的区别点就是:后端是跟数据库跟服务器打交道的,前端是跟浏览器打交道的.似乎没有什么问题,大家都这么认为的.当然这没有什么错,我们一直以 ...

  2. 基于VUE只是作为模版引擎的前后端分离

    首先请原谅本文标题取的有点大,但并非为了哗众取宠.本文取这个标题主要有3个原因,这也是写作本文的初衷: (1)目前国内几乎搜索不到全面讲解如何搭建前后端分离框架的文章,讲前后端分离框架思想的就更少了, ...

  3. 前后端分离状态保持问题之JWT

    问题原因 在传统的项目中我们利用,session+cookie来保持用户的登录状态,但这在前后端分离项⽬目中出现了问题;sessionid是使用cookie存储在客户端的,而cookie遵守同源策略, ...

  4. 使用 imitator 实现前后端分离开发中的数据模拟与静态资源映射

    imitator 一个简单易用的 nodejs 服务器, 主要用于模拟 HTTP 接口数据, 请求代理与转发 . 使用imitator,可以解决前后端分离开发中的痛点之一:数据模拟,也可以作为代理服务 ...

  5. 宝塔-Java前后端分离项目-前端静态资源的访问

    1.创建好站点 记得把前后端分离勾选,点击设置 2.点击配置文件 添加配置代码 location / {try_files $uri $uri/ /index.html;} 然后就可以正常的访问了  ...

  6. 图解基于 Node.js 实现前后端分离 - CSDN博客

    因为会上出了个意外,ppt图片全部丢失,只好对着白板跟大家交流了半个多小时.由于我做演讲不喜欢写太多的文字,没有图片的情况下讲漏了一些内容.这篇文章是我在会上分享内容对照ppt进行地整理. 基本介绍 ...

  7. 若依前后端分离如何写移动端接口_前后端分离架构概述

    1.背景 2.未分离时代(各种耦合) 3.半分离时代 4.分离时代 5.总结 <Netty 实现原理与源码解析 -- 精品合集> <Spring 实现原理与源码解析 -- 精品合集& ...

  8. 前后端分离与耦合架构

    前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构.多 ...

  9. 老树发新芽-前后端分离实践

    最早从Web2.0 Ajax技术开始兴起,就有提前后端分离了.从Gmail的单页应用,到现在的单页应用层出不穷.浏览器渲染引擎也一直在突破,越来越多的交互.计算放在了浏览器这一层.传统后端MVC架构, ...

最新文章

  1. 走读OpenSSL代码----从一张奇怪的证书说起(五)
  2. 开户oracle监听,R12:银行账户开户人?
  3. 利用CentOS快速构建自己的发行版(3)
  4. [maven]maven插件 tomcat7-maven-plugin 的使用
  5. ubuntu18.04安装、配置dosbox
  6. 作者:刘挺(1972-),男,哈尔滨工业大学教授,社会计算与信息检索研究中心主任。...
  7. 注册围框html,一种可调模具围框的制作方法
  8. Spark 2.2 Core :TimSort 的原理与源码分析
  9. android布局新建联系人,Android中设置搜素联系人的布局
  10. 创业几乎不要本钱,是创业圈内最大的谎言
  11. 「项目已被 macOS 使用,不能打开」的处理办法
  12. 大腾讯的第一个开源项目「Tinker」
  13. exce读、写与下载汇总 后端导出excel POI 方志朋如何优雅的导出Excel
  14. Linux 内核md5sum使用,linux命令详解:md5sum命令(示例代码)
  15. Mybatis-plus 分页功能报错:除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效
  16. latex排版原理 常用算法排版伪代码模块 添加注释以及注意事项
  17. 轻松创建FB和Ins故事广告,提升内容曝光率
  18. 十月二日读书笔记(JSP网页的内置对象)
  19. Android手机在4G网络环境下IP的识别
  20. 关于IIC初始化后就进入busy状态的问题

热门文章

  1. PostgreSQL实现批量插入、更新与合并操作的方法_PostgreSQL_脚本之家
  2. ESXI及WorkStation安装群晖NAS
  3. (三十二)c#Winform自定义控件-表格
  4. cesium禁止进入地下
  5. HTTP最强资料大全
  6. 限制性定语从句与非限制性定语从句
  7. 虚拟机win10的安装
  8. 同济大学出版社《Linux操作系统》学习手册
  9. 超实用的学习教程、资源、素材、工具等网站和软件分享
  10. CaesarCipher凯撒密码