最近因为武汉疫情的缘故,要求返程人员居家或集中观察14天,这也使得像我们这样的互联网技术研发团队采取在家远程办公的形式来工作。而且就现在这个时间点看来,远程工作还将持续一段时期。
习惯了每天上下班,在同一个通勤高峰时间,在人潮或者车流中奋力游到办公室,然后开始一天面对面的工作。像突然踩下了刹车,只能呆在家中,跟同事们语音或视频会议,然后继续每天的工作。
网上有不少质疑远程工作的声音。在我看来,远程工作相对于在办公室工作,除了没有坐在一起,随时可以很方便的张嘴就问、并可以让对方看屏幕,以及中午共进午餐增进小伙伴之间的感情问题外,远程工作这种方式并没有什么不可接受的缺陷。
我们研发团队也不例外,在2月3日第一次推迟的假期之后的工作日开始了远程办公,并在2月14日完成了一次重要功能:“助力活动”的开发及测试回归。
这篇文章里,聊聊我们是怎么做的,主要依据了下面四个原则:
找到合适的小伙伴 明确任务 合理的制度和使用有效的工具 落实计划,检查改进
· 01 ·
找到合适的小伙伴
所有工作管理上的问题,本质上都是人的问题,找到合适的人,就不成为问题。
在远程工作之前,我们团队的小伙伴们已经从组建到形成团队已经过去六个月。在这期间,我们尽可能的找有自我管理,主观能动的小伙伴。尽管这么做对于创业团队来说比较难,但还是努力坚持这一点。
有自我管理的人会将工作时间进行合理分配;会对完成的工作做一个总结和通报;会对工作时碰到的突然出现的问题,有独立思考,和解决的能力;会在需要小伙伴协助的工作中积极主动的沟通;会在事情发生计划外的变化,或者进展有延误等情况时,向团队同步信息。
团队里开发的小伙伴,会从技术角度关注产品的设计,一定程度的补全和增强产品的细节。服务器端的小伙伴会关注前端所需要的接口是否合理。前后端协调出现问题时,双方积极定位问题,再现问题细节,而非划定这个问题是前端,那个问题是后端。
· 02 ·
明确任务
为了避免在远程办公时失去目标,必须得把目标拆解到一个个具体任务上,并且分配到相应的人。
具体的说,就是把这次的版本迭代要开发的功能内容,拆解到每个人具体多长时间完成的小任务。
没有明确的任务时间要求,工作时间就有不可控的危险。并且拆解任务后,向每个小伙伴确认任务时间后,也可以再次确定团队的目标和时间周期的确定是否合理。
因为目标是需要大家共同参与、协调才能完成的任务,所以需要拆解及确认。每个人的任务之间还可能会有前置任务的约束,而有些任务是可以平行进行,互不影响。
例如:早期接口开发的方式是后端将接口实现完成后,再告知前端具体参数及返回内容。后来我们将这种工作方式改为了:后端先设计好功能开发中需要的接口个数、参数及返回内容,并将其书写到相应的接口文档中,供前端开发页面时参照使用。前后端依据同一份接口文档,并行开发调试工作。
· 03 ·
合理的制度和使用有效的工具
虽然是在家自我隔离远程工作,但是工作时间和内容没有变化,所以仍然需要例行制度。
晨会:每个小伙伴沟通一下要做事情的内容,目前的进展,是否有困难,是否需要其他人的协助等;晚汇报:通报一下今天各自手中工作的进展;周例会:汇总本周的工作,计划和安排下周的工作内容。
远程时期,晨会还有另外一个目的:就是给自己提个醒,一天的工作开始了。晚汇报就是让大家按时下班。
所以必然就绕不开线上会议工具,市面上两个巨头的软件:企业微信、钉钉,我们用的是企业微信里的“会议”功能。
实际2月3日当天,因为数千万用户同时使用“会议”功能,钉钉和企业微信都挂了。根据实际情况,我们在微信群里拉了一个语音会做了一次沟通,同时因为晚汇报和第二天晨会内容高度重复,取消了晨会,改在晚上同步团队里的工作进展情况。后续的工作中,我们根据当天的情况,随时调整决定是否晨会或者晚汇报。
相对于微信群里语音聊天,企业微信的会议功能有屏幕演示的功能,可以方便的将主持人的屏幕展示给每个参会的小伙伴,我们可以就一个产品文档进行有效率的讨论。
工作时间小伙伴们之间的沟通,还是在原来的工作微信群里用文字、语音、截图等方式完成。不过在遇到需要更频繁的沟通情况下,例如,我们约定:如果三句话不能把解决问题,则要求发起者将相关的小伙伴发起一个微信或者企业微信的语音会议。
沟通协作的工具,从组建团队时,就采用的 Teambition (前不久被阿里收购)。我们用它的项目管理模块管理日常研发的版本迭代工作流程,用“分享”功能用于收集来自内部和外部的产品需求和技术需求。
所以这次远程工作时,就跟日常一样管理和分配每个分解的任务,清晰的了解任务的完成情况。
从搭建代码的版本管理系统 git 时,我们就考虑了远程在家工作的可能,完成搭建时,就可以支持外部访问,并设置了标准的安全访问规则。
· 04 ·
落实计划,检查改进
PDCA管理法:计划-执行-检查- 处理(Plan-Do-Check-Act),是提高产品质量,改善管理的重要方法。
所有工作的结果,不论是否远程,都需要经过检查这一关键环节。
在例会中,只能得到口头上的信息,至于最终实现的结果是如何的?大家对任务的结果认知是否是一致的?实现的结果是否与设计时有出入?设计时是否有未考虑周到的细节?等等...
在这次迭代周期中,我们团队在比较后期时,随时关注产出的结果。对流程、页面、用户交互逻辑等,都做了细致的检查和修改,随时反馈到开发人员,做出及时的调整。
也因为及时有效的检查工作,也保证了在预计的时间内有效的完成了此次迭代。
在这两周的远程工作中,我们也总结了几条行之有效的约定:
- 开工前约定一下远程办公的几个要点:上下班时间、例会时间、协商的机制等;
- 拆解和分配任务的时候,多听听小伙伴们的意见和想法,看看是否团队间的认知达成了一致,细节之处是否有出入或者遗漏;
- 发现有具体的问题,一对一的沟通。如果有必要,临时发起一个相关人员会议;
- 如果需要临时开会,在微信工作群里提前预告一下开会的时间和主要内容,发起者需要准备相关讨论资料;
- 日常沟通的结论和计划,注意落实文字,形成文档;
- 工作群中如果三句话不能解决问题,需要发起语音,邀请相关小伙伴进行讨论;
- 因为在家,每个小伙伴需要协调好工作时间和非工作时间的切换;
- 工作时间管理方面,这里可以推荐一下“番茄时间管理方法”,在切换工作的休息间隙,可以做一些居家的活动身体动作;
- 为了增加一些趣味,例行会的发言顺序不固定,由每位发言者自主指定下一位发言者。
总结:
因为目标明确,相互信任,积极沟通,检查改进,远程办公也能做到高效、按计划、步调一致的工作。