远程开发Review

154 阅读7分钟

背景

相信过去的一周一定给大家留下了很深的印象,无论是被隔离在家无法返工的同事,还是每次去买菜都胆战心惊的自己,都深深的刻下了时代的烙印,更不要提还在封城的武汉。一个小小的肺炎竟然把人类为名逼到这种地步,真是有点无可奈何,说到底现在还是人类文明还有很长的路要走。虽然百万年来已经称霸地球,但在自然面前还是脆弱不堪。
额,扯远了,今天我们还是来说一下这一周的远程开发吧,相信上周绝大多数人都无法回到公司工作的,虽然肺炎还是在作威作福,但大家还是要吃饭的,所以远程开发自然成为了首选。原来一直以为由于企业性质的原因远程开发距离我们还很远,但没想到2020年就切切实实体验了一把。现在就在这里把我们采取的方式还有一些经验教训聊聊吧。

团队实践

我们团队虽然人不多(十多人),但是正在做的项目却是五花八门叫得上名字的就有4~5个。所以项目团队必然有不少的重复。

工具

程序员无论什么实践都喜欢先看工具,敏捷开发也好,远程开发也好,但其实这并不是最为关键的问题,不过这次就先来说说我们用的工具。

即时通讯工具

考虑到这次疫情可能不会很快结束,所以第一周计算式探路的,所以趁着第一周大家兴趣还足的时候把市面上的工具都拿来试试。当然是不同项目团队分开使用的。

钉钉

钉钉呢,是总部试用的,所以我们也就顺其自然使用起来,开始主要是用来打卡,签到,收发通知等。尝试了几次视频会议效果也算是中规中矩,当然据说第一天还是挂掉了,不过还好第一天没怎么用钉钉。

微信

微信肯定是离不开的,很多同事或客户都不愿意做迁移,所以微信也会用一些,但是我们在后期可以减少微信使用向钉钉迁移,因为微信上的通知并不能保证接收者看到,往往石沉大海。每次收到确认又感觉很麻烦。
不过微信的那个截屏和图像编辑工具确实很好使,已经有了极强的依赖性,最近总是在微信中编辑好图再贴到钉钉中。
微信的封闭性还是是要吐槽一下。
还有几个人的微信语音聊天也不错。

飞书

飞书是头条出品的,模仿slark的痕迹还是有的,连英文名字都差一个s。本来我是极为中意飞书的,但使用了几天后发现他跟钉钉的区别并不大,而且视频会议时经常出莫名其妙的bug。最让我不能忍的是,竟然没有webhook的机器人,而且刚刚出生app也没有几个能用的,大部分是头条内部产品。
缺乏机器人实在是太致命了,只能弃坑。还是过几年再来看看吧、

Slark

话说Slark除了纯英文还有安装时网络不太好之外真的挺好用,关键是收费问题,slark还是比较宽松的,限制群app和检索聊天记录都还是可以接收的。而钉钉和飞书都是免费开到五月底,后面必然要收费,毕竟大家都要吃饭,这个无可厚非。
不得不说Slark的机器人真的很多,而且可以高度定制,也非常成熟,甩国内产品一大截。

Teambition

我把teambition也放在这是因为teambition也开放了视频会议功能,但是从效果上来看真的是不行,PC版无法视频会议也不说一声或提示,web版也是各种bug。没有特别目的不太建议使用。

项目管理工具

说完了及时通讯工具,再来说说项目管理工具吧。
自从开始远程开发,领导们显然对于下面人更不放心了,报告制度由周报改为日报,这让我想起了某些日企,当年还讲过他们从一上班就在想日报怎么写,没想到这么快发生到自己身上。

Teambition

Teambition我们用的很多,算是重度用户了近20个项目在上面,任务管理该有的功能都有了,而且Teambition配合Thoughts可以很方便的建立起自己的知识库,付费还是值得的。但感觉teambition被阿里收购后摊子铺的有点太大了,一会是Thoughts一会是语雀一会行云一会是飞流。反倒是我一直关系的跟Idea关联迟迟不错,势头不太对。

码云

码云是我们使用的另一款较多的工具,作为国产的代码库管理工具,虽然相比Github差了不少,但其价格也不算太贵而且功能也是非常多。我们主要还是作为代码管理工具使用,代码质量检查啦,PR啦,基本都能也都有,还能收集一些开发数据。
难能可贵的是提供了标准的Webhook实现,可以跟Slark和钉钉的机器人做对接,非常好。
同时其提供IDEA插件来支持PR,当然还有其任务管理与IDEA的task服务兼容,不离开IDEA领取任务不是梦。还有周报功能也不错。
总的来说有不少贴心的小工具,对于一些小型团队足够用了

华为DevCloud

DevCloud号称是全生命周期的软件开发平台,从功能上来说确实是做到了,但从结果上来说,距离好用还差的远,比如那个Webhook实现不太标准无论钉钉还是Slark都对接成功,还有代码审查做赶工状况明显。现在来看凡是搞全生命周期的软件开发平台都没有成功,无论是阿里还是华为,因为这个产品线实在是太长了,太耗费资源了,而且还吃力不讨好。
当然也有亮点那个需求分析那块就很好,相对于码云和teambition的实践都更加优雅。

总的来说华为DevCloud还是需要比较长时间来完善的。

其他

Wakatime

一个神奇的工具,可以追踪每个开发者的编码时间,虽然无法统计设计,沟通,测试,运维等部分时间但还是挺好的,尤其作为辅助工具来分析团队效率。当然团队版中每个人月12美刀太过昂贵注定仅仅试用。

规范

我在上一篇博客第一开始就提到了规范,经过一周的实践发现远程开发更加需要一套规范,而且需要大家真的认同和实践这套规范。现在来看比较有用的是下面几条。

  • 每个项目团队早晨开视频会议,不同项目要错开15分钟
  • 如果有需要集中讨论的事情,建立小的讨论组,不要一直在大群中讨论。
  • 按照规范提交PR,PR的描述要至少包括任务ID,原因,实现思路和测试用例
  • 通知他人必须要得到确认后才算通知完毕。

ps:强烈推荐左耳朵耗子的《疫情下的远程办公,聊聊我的经验和实践

总结

  • 远程开发更加依赖团队的自主性,这个只能平时培养,远程开发阶段的成果的60%由团队成员自主性决定
  • 优先保证远程开发的基础设施,要是开发需要内网,内网还总是访问不了那就惨了。
  • Wakatime是个好东西,建议用一下,尤其是团队版要试用一下,别忘了取消哦
  • 码云比较适合于小规模团队,大型团队还是Github或Gitlab更好
  • Slark非常适合开发团队,当然你要会上网
  • 钉钉目前来看综合实力比较强,国内产品中首选
  • 个人要注意生活节奏把控,建议使用番茄钟,来劳逸结合。