疫情还没解决,远程开发要试试了

520 阅读7分钟

今年疫情的严重程度似乎超出了所有人的预想,随着国家法定的假日即将结束,大家返回工作地的风险依然存在,即使已经返回了工作地,现在所有人返回公司集中工作都不是明智之选,通过远程办公来降低公司生产力损失看起来很有必要,远程办公会有哪些可能的损失和降低的方法呢?今天我们主要围绕软件研发团队的远程办公的几个问题聊一聊。

目标驱动 VS 熬时间

提到远程办公,大家首先可能想到的就是工作时间不可控,团队成员的产出不可控怎么办?

目标牵引,对于软件行业的脑力工作者,即使在公司工作,员工到底在干什么也是无法知道的,在远程办公的情况下更是如此,我们可以通过更明确、更细粒度的目标牵引来解决。目标建议拆分到每天的粒度,并且要有明确的是否达成,同时通过进展的透明来促进大家达成每日承诺,在目标拆解与进展透明章节会再讲讲这个问题。

目标牵引并不是完全不强调工作时间,沟通在软件开发中已经越来越重要,为了保障沟通的效率,团队成员还是要有一个明确的工作时间,通常可以参考公司正常的上班时间即可,可以和员工强调工作时间需要在线,确保其他成员需要沟通时能够随时进行。

代码云托管 VS 代码内网无法访问

开发人员远程办公需要解决的另一个问题就是环境,如果你的公司必须在内网环境开发,又无法提供远程或者VPN能力,那远程办公基本是不可能的了。但大部分公司的开发人员只要有一台电脑,基本都能够进行开发工作了,那剩下要解决的问题可能就是代码在内网自己的服务器上怎么办?

代码云托管,如今提供代码托管的云服务已经越来越多,相应的服务也已经越来越成熟,代码安全也可以有充分的保障,你可以选择将代码从公司服务器迁移到云端的代码托管服务上,团队成员就可以基于云端的代码库进行协作了。

远程写代码,代码质量同样不可放松,并且要更加注重质量保障举措,大部分的代码托管平台提供的代码扫描、代码评审、持续集成等能力建议用起来,可以更好确保远程开发的质量。

可以选择的代码云托管服务很多,以国内较早涉足这块业务的码云 Gitee 提供的企业级代码托管服务为例,完全可以满足团队远程代码协作:

同时,Gitee 企业版也提供了基于提交的代码扫描、评审等服务:

需求拆解 VS 不清晰、不可追踪

软件开发围绕着需求开展,在办公室集中办公时,需求如果有不清楚的地方,站起来去和产品经理当面聊几句就清楚了,但远程办公沟通可能就没有这么方便了,这时候需求文档和需求拆分就显的很重要了。

需求一定要有文档。近几年随着敏捷软件开发的兴起,对敏捷最大的误解就是“敏捷不需要文档”,一份定义清楚需求场景和边界的文档是团队协作的基础,当然文档的形式团队是可以自己协商一致即可。

需求要拆分,并且任务要拆分到天粒度。敏捷强调快速交付与迭代,通常会将需求拆分到较小的粒度快速开发、测试并上线验证。通常会将需求拆分到Feature、Story两个级别进行管理(Feature用于管理完整解决用户某个问题方案,Story用于可快速在团队内流动和交付用户价值点的管理,Story通常在1~3天工作量规模,关于需求拆分和管理有兴趣可以参见《用户故事地图》书中的介绍),对于远程开发,建议再向下一级进行管理,使用Feature-Story-Task三级进行管理,开发人员需要将Story拆分到天级别的Task,并定义清楚每个Task的产出,产出要可以验收,不能是Story完成百分比这种拆分。

需求要有工具管理跟踪。有些团队日常可能使用Excel等简易的工具来进行需求条目的管理,但建议使用一些在线的管理工具,这样更方便远程实时协同、查看,能够让你的管理效率更高

代码云托管服务平台基本都提供了需求管理能力,以码云 Gitee 的企业版为例来看工具支撑的几个要点:

需求要支持层级:Gitee 企业版支持用户自定义“任务”类型,并支持“任务”有子任务,可以支持我们上述提到的需求分层进行管理

提供看板,可以快速进行进展跟踪和管理:Gitee 企业版支持按照状态、负责、类型等形式进行看板查看

状态看板

成员看板

在单个需求之上,还需要有整个团队项目的一些统计数据来看整体情况,例如:需求完成率、团队燃尽图等


每天“例会” VS 计划不明确、进展不透明

远程办公导致团队无法见面,每天一次有仪式感的“例会”很有必要。“例会”在增强团队亲近感的同时,可以用于明确团队成员每天的任务目标,还可以解决团队成员遇到的障碍等

“例会”可以采取敏捷方法中的站会方式召开,关注每位团队成员的三个问题:

我昨天完成了什么?

我今天计划做什么?

我遇到了什么障碍?

“例会”可以建议使用视频会议系统召开,skype、zoom、华为welink(疫情期间免费)都是不错的选择。视频会议系统可以让团队成员看见对方,并且可以共享电脑屏幕对着我们的需求管理工具平台召开。在会议上除了信息同步,要明确所有任务的负责人、完成时间点(整个团队的阶段计划可以另外召开会议来讨论)。

另外,在“例会”上确定的待跟进事项,可以在管理工具平台上建立专门的“类型”进行跟进,确保不要跟丢了。

即时沟通 VS 风险不可控、效率低

远程办公的有效实施依赖于对团队成员的信任,同时信任也需要建立在团队有基本公约的基础上,在开始远程办公时,还需要团队就基本公约达成一致,公约至少要包括:

1)遵从基本工作时间,至少要保证工作时间内联系畅通

2)具备Owner意识,承诺的目标要保质、保量达成

3)目标驱动,遇到问题要及时沟通反馈,沟通方式不限于邮件、IM、电话

在远程方式下,及时、主动沟通是最重要的,这一点再多和团队强调都不为过。

在重大疫情面前,每个人的生命和健康是第一位的,在我们无法参与到第一线时,保护好自己,同时通过远程办公,做好自己的工作,确保自己的公司能够存活并持续发展就是我们最应该做的事情。

愿疫情早日结束。