团队协作中如何提高工作效率的场景及解决办法

丢丢哥感觉很久没写博客了,也许是少了当初的激情,也许是工作忙碌,也许是 ....

# 本篇博客想写的起因也是因为自己公司这边的团队,太多人遇到了在开发过程中各种效率慢,却不知道怎么办,没有太多的经验及灵活的解决办法。以下几点也是我在开发的几年中在不同阶段,自己总结的一点经验,如果有更好的方案的朋友请加我QQ:98717251 交流沟通。

那么就从身边观察到的,以及以前自己碰到的5个场景来分析问题,并给出5种解决方案来引导大家

场景一、开发过程中因代码及调试问题影响工作效率

面对的群体

1 这种场景是初出茅庐的程序员  
2 新去一家公司面向新的框架新的架构经常会碰到的问题  
3 非常常见  

现象

  • 遇到一个bug报错,完整没有思路怎么调试,不知道怎么解决,不知道哪里错了,可以被一个错误卡住几个小时

  • 遇到一个问题,不知道怎么解决,各种自己解决然后无法解决后,找群里面的"大婶",结果"大婶"们都是比较高冷,或者问题太简单直接奚落你一番的

  • 不会问问题,比如 "我git push失败了" 你只告诉了别人结果,并没有告诉别人为什么push失败 是没有commit? 还是连add 都没有做 ? 还是版本落后了? 并没有告诉别人原因

正确的做法

  • 学会问问题

问问题也是一门学问,比如上面的场景 git push 失败, 那么你要将报错现象告诉别人 也要将要错信息告诉别人

  • 尝试自己解决问题

尝试自己解决问题 肯定一开始是效率比较低的,但是确是增加经验积累最好的方式,碰到一个问题 如果是你自己解决的 那么下次还是这个错,那么你能轻松解决,印象也会深,但是很多人却 因为不好意思问别人,或者想自己解决却浪费了大量时间。我一般的原则是 自己如果10-30分钟 解决不了的问题,那么会请教别人,因为请教的不是太多,所以类似别人帮我解决的问题印象也会很深

  • 归纳

任何程序员都是由依靠google、百度以及请教别人,再到自己解决问题的一个过程。基本流程可以按照 先自己解决(包含google和百度帮忙),短时间(30分钟内)解决不了,那么就该他人了(群里的"大婶"以及能力强的同事),总之不要纠结于一个太长时间

场景二、代码经常性报错

面对的群体

1 这种场景是初出茅庐的程序员  
2 代码不熟的程序员  

现象

  • 小错不断 各种语法错误、逻辑错误、嵌套错误等。。导致写一会改一会测试一会严重影响工作效率

正确的做法

  • 培养良好的开发习惯,写习惯了良好的代码,那么熟练后基本上是惯性的敲代码了

  • 多写,熟能生巧,写惯了很多低级错误也就慢慢避免了

  • 多做总结,自己哪些小错误经常犯

场景三、逻辑性问题返工

面对的群体

1 项目整体思路不清晰的  
2 逻辑不严谨的  
3 自我要求不严的  

现象

  • 很快的完成了工作,但是在提交代码时,被项目负责人、或者CTO或者测试人员 审核功能时,各种报错、各种逻辑不严密,考虑不周全,导致提交的功能又返工

正确的做法

  • 每做一个可判断流程时,多反问,多想,把各种奇葩操作都考虑进去

  • 从思想上避免掉理想式开发,认为没有人钻漏洞、认为没有人来抓包、认为每次数据库都会操作成功得到自己想要的数据

场景四、功能业务耦合导致的写不了

面对的群体

1 团队开发初期  
2 高耦合或耦合项目  

现象

如果第一、二、三都能做到后,其实始终会碰到第四种场景。

我做的产品功能里面 产品分类是A做的,还没做出来。产品图片在OSS上是由B做的也还没做出来,所以我的产品功能没法做,得等他们做出来了,我才能动工

这只是场景之一 “我做的功能里面有几部分是其他人做的,他们的每做完,所以我这边不能做”

这也是我见过的比较多的理由。

正确的做法

优先解耦 与 自我解耦

  • 开发人员之间优先解耦开发,比如A做产品模块 B要做登录注册和产品分类 C要做用户模块和产品图片模块 三者耦合 那么第一种就是大家优先来解决A的产品模块小版本迭代出来,团队局部合代码快速解耦优先把一个完整的功能模块做出来。

  • 比如还是上面的场景 但是B的分类是无限极分类 C的图片处理也要做压缩、云存储 一时半会出不来 如果等的话效率慢 影响进度。那么正确的做法是 分类 我设置一个死值 图片我给一个默认图片来做我的功能模块 标记好写死的

只不过第2种办法 如果有三个以上的模块字段都是写死的话就不推荐这么做了,如果太多字段写死 其实还不如不写,因为不可控的因素太多

场景五、模块看得太局部导致产品设计和功能实现有偏差

面对的群体

1 开发前没有分析好需求,没有做规划,盲目开工

2 只看到自己的块,没有看到和其他开发整合的大模块的一些问题和因素考虑  

现象

开发的模块没有问题,没有理想式开发,没有bug,但是实现功能和产品需求方向有问题,有偏差,又比如单单自己功能并没什么问题,但是结合其他同事的功能后,问题就随之而来。。没有做功能合并的预判

正确的做法

  • 站在大模块上在思路上走一走整个流程及代码实现方案
  • 可以用线程图或者思维导图做做功能的方向设计
  • 做好和其他同事合并功能时的预留性以及可控性

希望我的博客对你们有所帮助,你的认可就是我最大的动力。。

本文为作者原创,允许转载,转载后请以链接形式说明文章出处. 如转载但不标明来源,后果自负。

您的支持是对我最大的鼓励!