2020 的一开始似乎并不好过,新冠疫情对每个人都造成了不小的影响。不少企业考虑到疫情因素都选择了远程办公,也由此引出了一系列远程办公方法与工具的问题。
而项目管理本身就是一项要求非常高的工作,更别说现在大家都还处于远程协作的工作状态中,远程项目管理更是困难重重。今天就和大家一起聊聊在这段特殊的时期,我们该如何去做远程项目管理。
ONES 产品研发流程
首先,我们来看一下 ONES 整个产品研发流程情况。
在没有疫情时,也就是在不需要远程的情况下,ONES 大量借鉴了 Scrum 的实践。
在平时,我们整个组织架构会以一个 Scrum Team 的方式进行划分,并由团队中的 PO 决定团队产出的最高价值是什么。同时,PO 与产品经理共同维护 Backlog。
1. 迭代前
在迭代前,我们会有一个迭代计划会,通过会议讨论下一步究竟该做什么,以及我们希望做成什么样子。最终,PO 会根据当前业务价值,以及实现成本决定 Backlog 优先级。
当优先级确定后,研发团队会在 Backlog 上进行挑选,一般会选出两周内(通常两周为一个周期)可完成迭代的功能,做一个新的迭代版本。
基本上,我们所有的工程师、PO、产品经理都会参与讨论。每次讨论会控制在 2-3 小时以内;如果超过 3 个小时,那么我们会把问题记录下来,然后针对问题再开另一个会进行讨论。
2. 迭代中
上述是我们在迭代前所做的准备,而在开发过程中,我们会做两件事:
(1)每日站会:方便及时沟通迭代进度与新出现的问题;
(2)持续集成与持续部署环境:每天或随时 Review 可用功能。
3. 迭代结束
在迭代将近结束,或者刚结束时,我们会组织一次迭代演示会。
迭代演示会主要目的是,邀请业务方了解新增可用功能,获取反馈意见。通过客户的反馈意见,让我们知道此版本是否应该上线,或者此版本是否达到上线的标准。
在迭代演示会中,可能会产生很多新的想法,那么我们就会把它汇总到刚才提到的 Backlog 当中。
在迭代演示会结束之后,我们会马上组织一次迭代回顾会。
迭代回顾会不需要业务方参与,只需要参与的研发团队参加。它的主要目的是,总结大家在项目迭代过程中做得好与不好的地方,以及讨论做得不好的地方,该如何改正。
在迭代回顾会结束之后,才意味着我们当前的迭代周期结束了。
4. 产品研发相关工具
接下来,我再来分享一些我们选择工具链的思路:在满足业务需要的前提下,尽量选择现有的企业服务工具;
所有工作,尽可能通过软件工具数字化、结构化,因为远程办公没有数字化相关工具帮助是非常难做到信息同步的;
尽可能自动化,更多的是在持续集成 CI/CD 这部分,因为机器人更高效,它能同时处理非常多的事情,而且性价比也很高;
尽量部署于公网而非内网,很多时候我们将服务放在内网主要是考虑到安全问题,但是内网会让我们忽视内网部署服务的安全问题。同时,依赖于内网容易让我们因为网络问题访问不了一些相关内容,所以尽可能的不属于公网。
ONES 远程项目管理的实践落地情况
从 2 月 3 日起,ONES 已经正式开始远程办公,在此期间,我总结了三个远程协作要点:
(1)充分利用工具,将工作流程数字化;
(2)关注项目进度管理、项目资源管理;
(3)建立团队虚拟办公室
1. 充分利用工具,将工作流程数字化
首先,我们需要充分利用工具,将工作流程数字化,因为数字化才可以让我们通过互联网共享信息。通过观察 ONES 整体的工具链和工作流程可以发现,在还没打算远程办公之前,ONES 已经具备了远程办公的条件了。
2. 关注项目进度管理、项目资源管理
在项目进度方面,其实我们有不同级别的管理方法。Team 级别项目进度管理——迭代看板,看板功能相对来说是比较好用的,因为它可以让我们非常直观地看每个项目的进度。

Team 级别项目进度管理——燃尽图,其实燃尽图的表现是带有一定风险的。因为在实际工作中,我们通常会偏离原定的虚线,呈现波动的曲线。绝大部分的情况下,团队都可以通过自己的努力,比如调整优先级,或者通过加班做一个短期冲刺,最终使基线和实际任务数量重合在一起。因此,燃尽图能够非常快速帮我们去了解当前的迭代速度是否落后于我们计划的进度。

业务级别项目进度管理——甘特图。在 ONES,我们每个团队会有 5-7 个人,然后多个团队组成一条业务线,如果在业务级别上进行项目管理,我们更多会关注 3 个月、6 个月,甚至更长周期的项目。我们通常会用甘特图来规划时间较长的项目,因为甘特图可以直接和项目中的迭代进行联动。

业务级别项目进度管理——团队资源。同时,业务级的项目进度管理,我们也会特别关注团队的资源是怎么样的。我们不希望所有同事太忙,因为太忙的话会影响大家的输出效率;另外也不应该太闲,因为太闲其实是在浪费团队和员工的时间。因此,我们会通过专门的视图观察团队资源。

项目进度管理——报表。在项目进度管理上,无论是团队级别,还是 Team 级别,又或者说业务级别,甚至说在几条业务线级别里,我们都会特别依赖报表进行追踪。通过报表看任务完成情况、代码质量,以及观察 Bug 密度是否上升。

3. 团队虚拟办公室
最后,我再分享一个远程协作力很重要的一个点——团队虚拟办公室。这是在我们决定开始远程协作时,必须马上准备的一个东西。
团队虚拟办公室的目标是,希望可以模拟团队面对面的工作环境。我们会以一个 Team 为单位,在开完晨会之后,我们仍然会保留在线状态,大家也必须打开摄像头,然后静音。为什么我们会这样做呢?
第一,我们希望能在最大程度上营造面对面的工作环境;第二,我们能感受到和我一起工作的小伙伴也是一个工作的状态,同时也能让别人看到我的工作状态。静音更多是为了不让家里很多不可控的声音影响同事。
通过以上 2 点模拟,更容易让人产生一种我坐在工位上,抬头就可以看到我的团队成员也在工作的感觉。接下来,我们顺理成章就会下一个动作——当我们用 IM 简单沟通解决不了问题以后,我们可以立刻打开麦克风进行讨论。实际上,在集中办公时,大家可能会从工位站起来,走到某个同事旁边和他讨论。在讨论完后,我们又会有再下一步的动作——将内容记录到 ONES Project 里,其他非结构化信息将记录到 ONES Wiki 里。通过这样的方式,基本上能回到我们说的集中办公的一个状态。
总结
最后,给大家总结一下远程办公项目管理一些特别关键的点:
第一,远程办公本质上降低了我们的沟通效率,因此我们需要特别关于项目信息、项目进度的同步对齐上。
第二,因为沟通效率降低,可能会直接影响团队成员的工作专注度,所以我们需要模拟一个面对面工作的工作环境,缓解沟通效率下降问题。
第三,因为各项效率在下降时,我们会更依赖于整个项目,所以我们需要做到项目全流程数字化,有助于信息的同步共享,帮助团队与决策者快速调整业务计划。
第四,当我们能做到以上 3 点时,我们可以感觉到远程工作效率其实没有下降太多,整个迭代和版本发布基本处于比较满意的状态。
因此,当远程工作效率得到保证时,团队成员可以更加从容的选择一个更加稳健的集中办公时间。