以前我在锤科做 Mac 软件 SmartFinder(后更名为 HandShaker) 的时候,因为 Mac 开发人员非常匮乏,组建了一个研发人员分布在加拿大、杭州和北京的远程研发团队,最终完成了 SmartFinder 的发布。这个软件应该比安卓官方发布的 Android File Transfer 功能丰富很多。
那如何做好远程团队的研发和管理呢?需要注意的地方可能有一百处,但关键的点就那么几个。
第一,如果选择了使用远程协作开发的模式,一定要让团队里所有的人认可这种模式。如果你不认可,那就不要参与。任何一种模式都有好有坏,如果你觉得好,那么所有人的努力都会往好的方面发展。不认可的话……你可能都不会去看协作软件的在线消息,因为你习惯了面对面的交流了,习惯了等待别人邮件提醒,习惯了别人组织会议。但是远程协作,你要习惯线上交流。现有团队人员理解了还不够。有新人加入,同样要去强调这一点。最麻烦的就是新人进来说,我们原来的团队……,对不起,这不是你原来的团队,想要做好远程办公,那就遵守这里的原则。
第二,规划出重叠的工作时间,或者同时在线时间。远程协作,把工作任务按照迭代的版本和功能划分清晰之后,每个成员就可以各自为战了。但是现在软件团队,很少像当年 Linus 那样单枪匹马做出一款操作系统的内核,协作要求非常迫切,产品、设计、研发,需要不停的进行沟通和成果展示,所以最好的情况是能够规划出 4-6 小时的同时在线时间。当年我们做远程开发,加拿大的同事工作时间是在下午和晚上,这样我们每天的工作重叠时间都会有 4-5 小时,交流起来很顺畅。有时候北京或杭州的组员工作的较晚,遇到问题会直接在 Slack 里留言讨论,第二天醒来会发现,问题已经被另一个同事 Fix 了,那种愉悦的心情真是难以言表。
第三、合理使用远程协作工具,轻量级、服务稳定、保证全球的访问速度。基于这样的标准,我们当时选择了 Github 的私有仓库作为代码管理工具,Tower 作为项目管理和文档管理工具,Slack 作为远程交流和协作工具。
工具并不重要,达成一致最重要。如果是现在,我们会选用 Gitlab、Tower、石墨、腾讯的 TAPD、钉钉,再加上虚拟网络服务,就可以了。
Github 不用说了,全球开源圣地,很多公司的代码都托管在上面,稳定性和易用性可以保证。Tower 、钉钉都是国内常用工具,TAPD 用来做项目管理和需求迭代也非常方便,可以自行选择。
Slack 国内团队用的可能不多,简单介绍下。Slack 的创始人是 Stewart Butterfield,这货也是 Flickr 的创始人,连续创业者,和三表说的连续创业连续失败,在哪里跌掉就在哪里躺下的创业者不同,Butterfield 是创一次,成一次。当年他们开发了一款 Glitch 的线上游戏,没火,但是其中的 Flickr 火了。后来卖给了雅虎,于是进了雅虎工作。在大公司不开心,Butterfield 辞职了,说要回老家养羊驼,就是草泥马。Butterfield 养着羊驼也不老实,想起了当年在团队内使用的一款内部沟通工具,于是再次创业,开发出了 Slack,现在火的一塌糊涂。2019 年上市,市值超过了 120 亿美金。
Slack 是一款用户企业内部协作的工具,可以用 Channel 的方式来组织人员和信息,并提供了一系列接口把邮件、信息、文档、bug 追踪都集中在 Slack 内部,还可以集成各种外部系统。有兴趣的团队可以试试。
第四,让所有的工作成果可见,并且定期进行 Review。其实使用了这些在线工具,所以的成果已经是可见的了。Github 上所有的 commit 在时间线上历历在目,Tower 上的设计文档和项目进度一目了然,Slack 里的信息流和讨论内容随时可以进行全文检索。钉钉、TAPD 等也是一样。
进度和成果都是公开的,让任何一个人在任意时间段都能找到自己想要的东西。这很重要,会减少很多不必要的麻烦,大家的工作业绩也清清楚楚。
第五,远程协助和实时交流。通过网络电话会议、视频会议可以进行实时交流,通过 TeamViewer 可以实现屏幕共享,通过录制屏幕可以进行成果分享和 bug 演示。用这些工具,基本上可以解决远程交流的难题。在集中的时间段进行交流,在另一个时间段进行编码,相得益彰。
做好这些事情,差不多就可以很好的进行远程协作开发了。那远程协作开发的好处是什么呢?最大的好处就是让人才不再受地域的局限,同时也可以应对现在这样的突发局面。
另外,春节期间就不要乱跑了,远离人群聚集点,好吃好喝,注意安全和防护措施。
本文转载自 MacTalk(ID:MacTalkPro),MacTalk 开通于 2012 年末,内容覆盖技术、创业、产品和人文思考。
评论