为什么开发效率这么低,时间都去哪了?

在埋头打码的时候,总会云游天外思考点人生问题,回过神来吐槽自己:开发效率为何这么低!

明明实现的业务逻辑并不是很复杂,代码量也不会太多,为什么项目的开发要那么久?时间到底去哪了?

一次两次的问题,或许我们不会在意。
但频频爆发的问题,这就值得我们深思了。

这不是个单因单果的问题,找出潜在的可能因素,才能给出针对性的优化方案。在这里我以自身经历描述。

可能的因素

  1. 自身能力问题
      这是个令人悲伤的故事。
      因为学习时间短,知识的积累不够,导致在开发中实现能力跟不上逻辑思路。
      比如开发过程逻辑思路没毛病,但因为语法障碍不能直接实现,导致为了实现该目的,而学习其他知识、尝试、做其他处理,多出了工作量。
      测试报错定位问题。报错或警告信息看不太懂或没有任何报错提示,不能快速定位问题,导致只能采用低效的暴力尝试。

  2. 技术沉淀与指导
      某些缘故,公司去年才有的前端,全公司对前端开发相对熟练的只有公司的CTO和1个工作2年的老员工。
      公司的规矩:在技术上的问题不准交流和答疑,除非google都帮不了,才能寻求帮助。
      没有技术指导,基本只能靠自学。没有前端技术沉淀,每次开发都是新的开始。

3. 需求不确定
  记得Boss给我第一个任务,需求只有3句话:
  ① 给一串json数据,你画一个图
  ② 待会让你看看数据大概长什么样,图大概长什么样
  ③ 需要多久能完成
  这是原话,也是全部的需求。
  场景未知,具体需求未知,用处未知。
  仅有这些条件,又不得不先应承下来。
  只能先设计一个可拓展的组件,起草一份demo来验证需求。
  这不是段子,也不是个例。

  1. 需求变更
      程序开发完成,前后端正在联调。
      然而此时设计师说突然发现少考虑了件事,再加个功能……。

  2. 设计变更
      有些时候项目需求的小变更,我们能够忍受。
      只要程序写的够灵活,拓展性好,坐等对方改需求。
      然而,让人出乎意料的是,等来的不是需求变更,而是设计变更。
      设计的改动一般是较大的变动,基本上是项目整个翻新。

  3. 不明确责任
      有时时间很紧,在没有明文规定的责任,大家下意识偷懒,然后开始了扯皮大战。
      如前后端接口的接口文档谁写,测试数据谁造这种小问题。
      因为没人规定,之前是谁时间方便谁写,现在大家都不方便,都不想在小问题浪费时间。
      遇上脾气倔的,耗上大半天都没问题。

7. 概念误解
  前后端分离,各自完成好自己的模块。
  感觉挺容易懂的一句话,不知为何大家总有误解,概念总是不统一。
  我所认为的"做好自己的模块": 程序开发完成 + 测试。
  旁边的前端同事认为的"做好": 程序开发完成。(无测试:工具不会用,不知怎么模拟数据,怎么模拟请求,算了等后台)
  旁边的后台同事认为的"做好": 程序开发完成。(无测试:哎,没时间写单元测试,接口太多了,直接功能测试吧)
  然后前后端一联调,各种报错,前后端都有问题,重新改代码。
  作为负责人,只能等着,随时准备救场。

  1. 联调测试太慢
      前后端克服了种种困难,代码逻辑正常,自测通过,终于到前后端联调。
      然而迷之 bug 登场。
      同样的数据在后台本地运行没问题,由前端通过接口请求反而报错!!!
      尝试N久,在请求的 url 中发现有个常量的数据大小写搞错了。接口文档被践踏。
      接着,继续痛苦前进,又碰上了迷之bug。
      前端传入JSON字符串化的数组在后台被误当成数组解析了。
      怀疑是编码问题,然而实际是前后端语言类型的差异,后台的判断逻辑不够严谨导致。
      方向错了,做了无用功,导致白白浪费时间。

  2. 工具驾驭不了
      善用工具能提高工作效率。然而驾驭不了工具就很坑了。
      VSCode突然内存泄漏,电脑卡顿(明明插件都禁用了,内存就从没低过800M,我好怀念使用Sumblime Text的简捷)。
      RAP的网站突然访问不了,数据的模拟都在那,就这样被一锅端了。
      git的版本控制,突然发现代码拉错地方、代码推错地方、代码被某个混蛋给改了。不知怎么回退,好慌。
      google搜索,英语渣看的好费力,信息量太多排查要好久。
      第三方插件的引入竟然被检查出语法有错(第三方插件本身没问题),导致程序打包报错。

  3. 前人留下的坑
      有次收到Boss的消息,XX有急事回家,但项目未完成,另外需求有变,项目后天交付,希望我过去帮忙。
      当时我并不知道她的项目情况,那晚大概了解下需求,第二天接手代码。
      接手别人代码是件痛苦的事,尤其是碰上写死的页面和数据、混乱的结构、一堆无关的代码以及有误的处理逻辑。
      事情的结果就是比我计划时间多花了1倍才完成。

  4. 不在状态
      开发过程经常遇到的问题, I'am not myself.
      上个厕所,吃个饭回来,思路断了。
      碰上某某情况,老板请客,中午出去吃一顿。两三个小时没了。
      没休息好或碰上烦心事,头脑不清晰,注意不集中,写多少错多少。

优化方案

  1. 基础能力问题
      问题关键在于时间成本。因为能力不够耗了时间,随之学习时间少了,能力上升缓慢,形成恶性循环。
      前期题海战术(针对性解决问题),快速入门,之后再思考根源问题。

  2. 技术资源问题
      没有枪,没有炮,敌人给我们……醒醒吧,自己造。
      如果造不出,那……换坑吧。

  3. 需求不明确
      这是无法控制的外因。
      要么主动尽可能的问清楚,并留下记录。
      要么速度快点,起草demo验证需求。

  4. 需求/设计变更
      逃不过的外因,只能提前预防。
      程序尽可能写灵活,保证能快速响应变更。
      不要因为一时偷懒,坑了自己。

  5. 分工问题
      一般自个没有决策权,找Boss说情况定规矩,按制度走。
      虽然可能吃点小亏,但也是为了大局着想。

  6. 概念误解
      谨慎确认。特别是有前科的人。
      如果同事不是特别给力,建议还是谨慎点,防止被坑,即使对方并不是有意(人在江湖,身不由己)。

  7. 联调测试问题
      按规矩走,自测通过后,双方交换测试数据,再自测一遍。排除数据格式出错的可能。
      遇到问题别慌,也别急着推卸责任。比起谁的锅,Boss更关心项目的成果。

  8. 工具问题
      工具的驾驭程度,在前期帮助很大。
      自个找时间上网找教程,或动手实践。
      不要因为畏惧改变,而放弃了好东西。

  9. 前人的坑
      无法避免的坑。
      交接时问清楚,留下联系方式,有问题一边试一边问。
      另外,祈祷同事坑挖的小点吧。

  10. 不在状态
      这没什么好说,别让工作打乱自己的思考。
      环境和时间会慢慢打磨一个人,勿忘初心,方得始终。

思考

大多时候,我们都发现了这些问题,却不怎么在意,或是没能有效解决而放弃。
  逃避解决不了问题。要么快速解决,要么阻止发生。
  懒于改变现状,或畏惧改变,可见的未来并不是我们真正想要,不试怎么知道自己真的无可救药。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,108评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,699评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,812评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,236评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,583评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,739评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,957评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,704评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,447评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,643评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,133评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,486评论 3 256
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,151评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,889评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,782评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,681评论 2 272

推荐阅读更多精彩内容

  • 以下文章转载自知乎,暗灭-京华九月秋近寒,浮沉半生影长单. 暗灭 京华九月秋近寒,浮沉半生影长单 10,850 人...
    ve追风_685b阅读 4,002评论 1 15
  • 先说项目开发过程中团队人员的分工协作。 一 人员安排 毕业至今的大部分项目都是独立完成,虽然也有和其他同事协作的时...
    SnowflakeCloud阅读 10,602评论 3 59
  • 你买的衣服多少钱,木小小问道 100,朋友回答道 你买的衣服多少钱,小七讯问道 80,朋友回答道 信乃心中之诚,不...
    15年子墨阅读 162评论 0 0
  • 给一个html链接如何去除里面不想要的元素,比如我想去除这个页面的分享按钮: 我用的是WKWebView,在 di...
    izsm阅读 1,021评论 0 0