影响团队交付速度的那些问题

本文首发于饿了么前端——知乎专栏

在此感谢知乎用户——次碳酸钴 为大家贡献如此优秀的文章。

1.对业务方的实际需求调研不够充分,造成需求频繁变更

之前的文章「我只是想在页面上加个链接」(地址:https://zhuanlan.zhihu.com/p/30468160)中描述过这个问题,本篇不展开。

2. 没有定好目标,没有想好「做到什么程度」

2.1. 团队契合度

当接手一个需求时,如果需求方是可以讲道理的,那么我通常会问「满分 100,这东西我们要做到多少分?」

也许有人会觉得奇怪,明明能做到 100 分,为什么不做到?你们这不是消极怠工吗?说好的品质为王呢?

其实可以这么想,考试有那么多科目,如果把所有精力都投入一个科目确实可以拿高分,但是其它科目就要挂了。不如尽可能地让所有科目都及格来得实际。

说白了就是一个局部最优与全局最优的问题。但是这和交付速度有什么关系呢?

不知大家有没有遇到这种情况。项目的 deadline 马上就要到了,还有很多功能没完成,然而却有人在给已经完成的功能调优。比如「那个控件在 Android 4.4 的垂直居中问题我调整了一早上」、「那个动画太生硬了,我调了一下贝塞尔曲线」等。

贝塞尔曲线

而且不光是在临近 deadline 时才会有这种现象,整个项目的开发过程中都充斥着这种现象,只是临近 deadline 时容易观察到。于是整体算下来,我们浪费了很多时间。

当然,每个人心中对事物的评分标准是不同的,不可能有统一的标准。比如你可能认为 60 分的产出必须没有那种垂直不居中的问题,而我可能认为这是可以容忍的。在一个团队内,大家的评分标准越接近,这个团队的契合度就越高,交付速度也会越快。

2.2. 关于「倒排期」

项目开发有个这样的守恒定律:

(时间, 资源, 质量) = 1

当资源固定时,我们能够掌控的只有时间和质量,根据实际项目需求,找到一个平衡点就行。

此处的「根据实际项目需求」有个非常典型的例子就是「倒排期」项目。正常的项目是资源固定,由开发人员来预估质量和时间。而所谓「倒排期」项目就是时间维度固定

所以「倒排期」项目对开发人员而言就是调整预期的质量以赶上交付时间。当质量维度无法再降低时,就需要动到资源维度,那可能就需要加班。

降低质量和加班都会造成其它负面影响。降低质量会导致那些真正追求品质为王的开发人员不愉快,而加班则会导致所有人不愉快。这也是为什么长期「倒排期」的团队离职率高的原因。

如果团队的人员变动频繁,团队的契合度又怎么能高?那么交付速度只会进入越来越低的恶性循环。

作为提需求的那一方也应该反思这一点。实际上很多到排期都是为了装逼给老板看的而已。不如干点实事?装逼误国,实干才能兴邦嘛。

3. 开发人员之间没有定义好职责与边界

3.1. 自测是本职工作

很多团队都存在这样的问题,联调需要的时间和开发需要的时间几乎一样。为什么?沟通有这么困难?

实际上这不是沟通的问题,是工作方式的问题。只要看看联调过程大家都在干什么就知道问题出在哪儿。

一个项目如果前端先开发完毕就会是这样:

前端:页面写好了,给个接口造点数据我试试

为什么不自己 Mock 数据给自己测,一定要等到联调?即便 Mock 数据,为什么只测主流程,分支和异常流程呢?

而如果是后端先开发完毕会变成这样:

后端:接口写好了,页面给我,我测一下

为什么不自己 curl 一下?为什么只看成功还是失败,不看里面的字段名和数据对不对?为什么不测一下异常?

然后到联调阶段就会这样:

前后端都没有充分自测,这个原本可以各自并行消化掉的时间被串行地叠加在联调阶段。

「闭门造车」这个词我想大家应该都很熟悉(一般是用来骂人的)。但那是断章取义的解释,完整的应该是「闭门造车,出门合辙」,意思是按照统一规格,即使关起门来制造车辆,使用起来也能和路上的车辙完全相合。说白了就是只要大家按照文档来,那就根本不需要联调。

3.2. 通过增加「适配层」的方式提升交付速度

但是「闭门造车,出门合辙」是一种理想状态,实际很难实现。不过还有一些其它方式也可以提高交付速度,比如我自己经常使用的增加「适配层」的方式。

  1. 在开发前,根据业务需求把其中需要数据交互的部分列出来。
  2. 后端的工作是提供这些数据,无论什么形式什么字段名,怎么顺手怎么来。
  3. 前端的工作是 Mock 一套自己喜欢的接口来实现业务,也是怎么顺手怎么来。
  4. 前后端都提供自己使用的接口文档,这样开发的部分就结束了。
  5. 剩余的就是增加一个「适配层」,这一层的职责是把两边的接口映射处理好。

这个「适配层」通常以拦截器的形式实现,可以放在前端也可以放在后端(根据团队的优势约定好)。并且这个「适配层」只处理数据结构的映射,没有业务逻辑,所以不需要花太多时间就能写完。

4. 总结

  • 先思考能不能用现有资源直接解决问题,避免写代码。
  • 对质量认知标准的统一性会影响团队交付速度。
  • 「倒排期」是一种透支团队的消耗品,请慎用。
  • 所谓的联调,就是因为自己自测不充分给别人添麻烦。
  • 不妨试试其它工作方式?

原文发布于微信公众号 - 较真的前端(gh_7af41a2be77e)

原文发表时间:2018-02-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据钻研

为什么我们的web前端变的越来越复杂

前端发展了也有些年头了,曾记得很多年前,聊起前端,都觉得是很简单,那个时候都没有前端工程师这个职位。可现在,前端已经逆袭了,已经不是原来的样子了,各种技术层出不...

3576
来自专栏FreeBuf

“隐秘拍摄”实战:用树莓派制作一台可穿戴摄像机

最近我在搞可穿戴摄像头的项目,主体采用的就是树莓派。先前我有买过一款Narrative Clip——这就是个可穿戴相机,不过这款相机的质量实在是让人悲伤。最近我...

24310
来自专栏华章科技

天天在做大数据,你的时间都花在哪了

随着数据变多了,量变导致质变,数据足够大后其内部的隐含的规律会越来越精确和完整。机器学习则是将数据内存存在的这种隐含关联给挖掘出来的一项技术。

912
来自专栏CDA数据分析师

快速了解数据科学与 R 语言数据分析

作者 CDA 数据分析师 数据科学家被认为是21世纪最性感也是最具发展前景的职业,目前有75%左右的数据科学家使用R语言,有35%左右的数据科学家将R语言作为...

2258
来自专栏大数据文摘

大比拼:用24种可视化工具完成同一项任务的心得体会

亲爱的读者,你是否也有在特定场景使用的非常便捷的软件,欢迎评论区留言给我们,和大家分享这些使工作得心应手、效率百倍的瞬间!

3246
来自专栏AI科技评论

从CPU、GPU再到TPU,Google的AI芯片是如何一步步进化过来的?

按:本文作者栗向滨,中科院自动化所复杂系统国家重点实验室研究生,主攻机器人与人工智能。 ? Google I/O是由Google举行的网络开发者年会,讨论的焦点...

3017
来自专栏大数据和云计算技术

知识图谱扫盲

近两年来,随着Linking Open Data等项目的全面展开,语义Web数据源的数量激增,大量RDF数据被发布。互联网正从仅包含网页和网页之间超链接的文档万...

1K6
来自专栏鹅厂网事

基于R.M.B的下一代网管

2386
来自专栏CSDN技术头条

【BDTC 2015】大数据分析及生态系统分论坛:HBase、Spark、ES、Kylin技术生态

2015年12月10-12日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所、北京中科天玑科技有限公司与CSDN共同协办,...

2916
来自专栏华章科技

大数据告诉你:如何让大忙人及时回复邮件

网上教人们如何写邮件的建议不少,但大多还没有数据做支撑。最近,邮件效率服务商Boomerang通过分析5300多万封邮件数据,找出了一些影响邮件回复率的窍门。总...

591

扫码关注云+社区

领取腾讯云代金券