带团队后的日常思考(十)

简介: 带团队后的日常思考(十)

一、日常问题


1)涉及多端的BUG


  我们组维护着一个基于 socket.io 的即时通信的常规页面,前后端都由我们处理。这两天一直报错说匹配不到聊天对象和使用时很卡顿。

  匹配不到聊天对象这个问题好排查,账号没锁住导致的。使用卡顿,排查起来就比较麻烦了。

  卡顿分为两种,第一种是进入页面时卡住,页面加载进度条滚到一定位置后就进行不下去了;第二种是在页面中打字打不出,键盘也弹不出。

  这两个问题会涉及到客户端、运维和我们组,由于是周末,推进困难,有人看到消息也不回,发语音会议也没人参加。

  种种碰壁后,就会带点情绪,自己在情绪管理这块还是很欠火候。后面就找各个组的 leader,由他们来排查。

  技术沟通后,再把测试也拉进排查问题的群里,让他们在验证问题是必现还是偶现,是否能根据某些条件重现。

  第一个问题,进度条卡住,有可能是网络服务问题,也有可能是客户端问题。网络服务找运维,根据账号的 IP 反查是否访问了那条地址。

  发现是会出现 499 以上的错误,于是运维先加资源,上班后再做优化。

  第二个问题,让客户端去单独排查了,如果他们需要一些位置的页面埋点,我们会第一时间配合。

2)推诿

  这个问题发生在其他组,对我们自己组也是个警醒。

  运营人员在3月提了个高等级的BUG,后面在4月将等级进一步提升到了急。但是直到6月份才解决。

  并且解决起来其实很快,但是却拖了几个月,运营人员非常质疑技术部的态度问题。

  为此特地开了个总结会,虽然在总结会上,将问题归结于流程不完善。但是大家心里其实清楚,主要还是两端的人在推诿,谁也不想管。

  当时的客观原因是在家办公,沟通不畅,业务多,正在赶进度,还有BUG系统正在迁移,开发人员没注意到,总之种种因素合在一起,就将此BUG给淹没了。

  其实在去年的时候,开过一次会议,就是要大家能积极反馈BUG修改进度,但是随着时间的流逝,又转回来了,又需要一遍遍的提醒。

  那么在这次复盘会议之后,要求BUG先提交到测试,测试分配给开发人员,然后开发人员来推进BUG,若需要其他组的人协作,则由正在修复的开发人员沟通。

  我个人觉得,这个问题的本质是生产力跟不上业务变化。开发人员会觉得业务都搞不完,哪有时间管这些涉及多端且比较麻烦的BUG。

  要想破局,需要加人,目前也正在做。还有就是对线上问题多上点心,体谅业务人员,尽量多帮她们提升幸福指数。

3)主动性

  公司最近有个版本需求,优化会员商品,在客户端和公众号中都有购买会员的页面。

  服务端此次会在原表中修改会员商品,他们的改法比较粗暴,直接将代码推到预发,然后下架旧商品,客户端中有段时间就会无法购买。

  虽然我们的公众号中已经对新旧商品做了鉴别,但是他们将所有商品下架后,连带公众号中的购买页面也不能使用了。

  其实这完全可以避免的,和自己组员沟通后了解到,服务端的这个操作并没有通知到我们。

  但是我们得主动的强调你们其他组的改动不能破坏我们维护的线上业务,因为出事故了,找的是我们而不是别人。

  所以我们有责任保持业务的稳定,下次还是希望组员主动的预判出项目的风险点,以及清晰的表达出我们的诉求,不能做背锅侠。


二、工作优化


1)对外的SDK

  最近运营想做一个活动,但是产品和设计都没资源了,于是她们自己找了外包来做。

  一开始我并不知道我们组也要参与进来,后面运营希望能过将活动传播,那么就需要配置分享。

  然后她们还想做埋点分析,这些数据希望存在自己的服务器中。

  最后还要部署到我们的服务器中,这样也方便发送埋点。

  前面两个功能,需要我们组提供SDK,其实之前根本就没有想过,我们也会对外。

  这次有对外的机会,那正好也可以练练沟通和SDK的封装。

  在改造的过程中,也发现了些问题,例如分享配置失败、埋点功能过多等。

  在做了优化和瘦身后,写好在线的说明文档,再发给外包人员,在线的话可以实时更新,比离线文档方便很多。

2)不要我以为

  最近有个客服入口优化的需求,我理解下来这个需求的流程很清晰,但在让我的组员实际操作中并不是如此。

  整个流程就是先让微信静默授权,得到 openid,然后去查询用户是否已绑定,若绑定了跳转到客服咨询页;若没有则跳转到登录页面。

  在登录页面点击确定后,将 openid 和 userId 绑定,下次再进来就不需要手动输入了。

  自己组员开发时将查询绑定的时机移到了登录按钮中,点击确定的时候,才去判断是否已经绑定,这明显与之前的流程不符。

  究其原因,很大一部分是因为没有文档,其实如果有一张流程图的话,大家就能一目了然的知道什么阶段做什么操作了。

  但之前都是口述,甚至都没画草稿图,大家心里都没概念,虽然一顿输出,但是理解不了多少。

  这就导致开发周期变得很长,我自己也很诧异,发生了什么事情。未来在阐述逻辑时,还是得图文并茂更容易让人理解。

3)量化工作指标

  公司要求我们组量化工作指标,其实就是为了更直观的看到我们组的工作情况。

  每个双月会手动计算需求完成率,以及协作满意度问卷。

  除了需求指标外,还建立了许多项目质量的指标,例如接口超过2秒算慢响应、500错误数、白屏时间分步等。

  围绕质量指标,我们组展开了很多优化的工作。

  首先是数据库的优化,包括 MySQL 和 MongoDB,就是建立合适的索引。

  其次是代码逻辑的优化,例如减少查表的次数、增加数据中间层、修复代码 500 的错误等。

  还有就是网络层面的优化,例如引入 CDN 加速、开启 HTTP2.0 协议等。

  以慢响应比率为例,从最初的0.23% 降低到了 0.05% 以内。

  指标量化后,让我们的工作可以更加明确和清晰,也更有目的性。


相关文章
|
缓存 运维 测试技术
带团队后的日常思考(九)
带团队后的日常思考(九)
|
监控 NoSQL 前端开发
带团队后的日常思考(三)
  参与制订业务方的BUG规范,业务方最近投诉我们技术部,在飞书群中提出BUG后,技术部没有人响应,认为我们的态度太冷漠。   后面我就提出任何看到的人,只要知道是谁负责的,就@那个人,大家都不要客气,这是第一步。
带团队后的日常思考(三)
|
存储 数据采集 SQL
为什么你成为不了团队核心成员
为什么你成为不了团队核心成员
115 0
|
缓存 监控 前端开发
带团队后的日常思考(二)
  经常在工作时被人小窗,这里的计算有问题,那里的表格没内容了等等,一开始肯定是懵逼状态,然后是根据症状一步步的摸索代码逻辑。
带团队后的日常思考(二)
|
存储 缓存 移动开发
带团队后的日常思考(四)
  这次公司有个五周年的庆典活动,但正好碰到两个APP的版本发布,以及三个测试老员工离职,只进来了两个新成员,其中一个恰好要休陪产假,那么测试组资源异常紧张。   虽然我们提前了整整一周提测,但一直到周五还有很多点没测到。测试组甚至想到了阶段测试,因为多个活动的上线时间不同,所以可以先测最先上线的活动,后面的再往后推,延迟测试,这是他们组的一个对策。
带团队后的日常思考(四)
|
运维 监控 NoSQL
带团队后的日常思考(一)
  由于公司规模并不大,因此一有事情就会拉个会议,例如需要大会、技术评审、汇报周会、突发会议等。一周中大概有20%~30%的时间会花在大大小小的会议上。
带团队后的日常思考(一)
盖洛普Q12在团队中的应用
周五给大家做了个盖洛普Q12的分享。
盖洛普Q12在团队中的应用
|
移动开发 自然语言处理 前端开发
带团队后的日常思考(五)
  他们组没有一个正式的组长,只有一个临时的代理组长,这种情况从我进公司到现在一直是这种情况,也是蛮奇怪的。   前几天,这个代理组长和其中的一个组员爆发了点冲突,我从旁观者对他们对话的理解就是,组员觉得他瞎指挥,他觉得组员无担当。
|
缓存 前端开发 JavaScript
带团队后的日常思考(六)
  当前我们组管理着一套审核系统,除了数据源是服务端提供的,其余后台管理都是由我们组在维护。   这个系统就是将APP中的各类社交信息送到后台,然后有专门的审核人员来判断信息是否合规,当然在送到后台之前已经让机器审核了一遍。
|
缓存 运维 前端开发
带团队后的日常思考(八)
  最近有个活动,在提测后的第二天,大家才得知上线时间是后天。但是问各个技术,大家都不知道这个时间,而产品是知道的,运营也知道这个时间。   那这就有点诡异了,为何会出现这个情况呢,进一步了解后,才发现原来在一次会议上,口头说了下上线时间和提测时间。   在那次会议上,大家都说了自己的开发时间,但是,对于提测时间,开发和运营却有不同理解。我的提测时间是11或12,但运营的提测时间是10号,以后对于这种时间截点还是要更敏感一点。   UI给到我们设计稿的时间,晚了一天,其实如果不晚的话,即使我们不知道上线时间,也会按预期进行。