首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

项目管理玩不转,真不是远程的锅

说起程序员,你会说他们很擅长与机器和代码打交道。当他独立写代码时,所有困难都不在话下。但是,当一个优秀程序员身处团队之中,需要进行项目管理时,往往会遇到各种各样意想不到的问题。 你需要严格控制时间、成本和质量,通过一系列专业的知识、技能和工具,进行不同角色的高效协同调度,提升整体运行效率,从而实现全局目标。 项目管理本身就是一项要求非常高的工作,更别说现在大家都还处于远程协作的工作状态中,远程项目管理更是困难重重。 为了帮助大家解决远程项目管理难题,TGO 鲲鹏会对 ONES 联合创始人兼 CTO & TGO 鲲鹏会会员冯斌在《鲲鹏说》直播栏目中分享的内容进行了全文梳理(有部分内容删减),供大家学习、参考。

获取完整版分享 PPT,请关注“TGO 鲲鹏会”微信公众号回复“远程办公”查收下载链接。

大家好,我是冯斌,ONES 联合创始人兼 CTO,也是 TGO 鲲鹏会深圳分会会员。非常高兴今天能和大家分享关于项目管理相关内容,可以和大家一起聊聊在这段特殊的时期,我们该如何去做远程项目管理。

背景情况介绍

在开始之前,我先介绍一下 ONES 目前的情况:

  • ONES 总部设立于深圳,在北京、上海设有办公室;
  • 疫情爆发前,超过 75% 的成员已经离开工作城市,回家过年;
  • 我们产品研发团队是在 2016 年组建的,已经有超过 4 年的敏捷研发经验;
  • 2019 年 12 月,ONES 完成 B 轮融资,原本我们计划是在 2020 年春节之后继续扩充团队,持续提升产品和服务能力。

然而因为疫情,导致我们无法集中办公,部分成员甚至无法离开所在城市,返回办公室所在城市。

在这样的情况下,疫情对我们造成了以下两个直接影响:

  • 产品研发计划需要调整;
  • 解封、完全复工时间不明朗。

相信有不少公司也遇到相同的问题,那么在这样的情况下,我们该采用什么方式进行应对呢?

疫情对产品研发的影响分析与对应解决方案

过年时,ONES CEO 王颖奇在对全体员工发送的一封内部信中写到:

我们的社会分工决定我们不能冲在一线救死扶伤,我们能做的就是坚守岗位不添乱。以全员生命安全健康为首要目标,尽最大努力维持公司业务的正常运营。

相信从这句话中,大家能看到 ONES 对于疫情影响的处理方式和原则。

对于 ONES 来说,我们将以全员的生命、安全、健康作为首要目标,同时尽最大的努力保证公司正常运营。为了保证公司正常运营,我们做了如下安排:

  • 暂定 2.3-2.23 全员远程办公,正式复工时间视情况确定;
  • 为避免交通工具封闭空间内的交叉感染,建议外地同事错峰返程,并提供路程带薪假期;
  • 在家办公期间,由部门负责人安排每天早 9:00、晚 18:00 两次 Zoom 视频会议沟通工作内容;
  • 出勤情况、日报记录在 ONES Wiki 中,相关项目进度每日同步 ONES Project,周会使用 Zoom 按惯例进行,日常工作沟通使用企业微信完成;
  • 上班时间,全员企业微信和 Zoom 在线。

接下来,我将详细和大家分享 ONES 是如何真正落地对应解决方案的。

ONES 产品研发流程与工具链

首先,我们来看一下 ONES 整个产品研发流程情况。

在没有疫情时,也就是在不需要远程的情况下,ONES 大量借鉴了 Scrum 的实践

在平时,我们整个组织架构会以一个 Scrum Team 的方式进行划分,并由团队中的 PO 决定团队产出的最高价值是什么。同时,PO 与产品经理共同维护 Backlog。

ONES Backlog 界面

迭代前

在迭代前,我们会有一个迭代计划会,通过会议讨论下一步究竟该做什么,以及我们希望做成什么样子。最终,PO 会根据当前业务价值,以及实现成本决定 Backlog 优先级。

当优先级确定后,研发团队会在 Backlog 上进行挑选,一般会选出两周内(通常两周为一个周期)可完成迭代的功能,做一个新的迭代版本。

基本上,我们所有的工程师、PO、产品经理都会参与讨论。每次讨论会控制在 2-3 小时以内;如果超过 3 个小时,那么我们会把问题记录下来,然后针对问题再开另一个会进行讨论。

迭代中

上述是我们在迭代前所做的准备,而在开发过程中,我们会做两件事:

  • 每日站会:方便及时沟通迭代进度与新出现的问题;
  • 持续集成与持续部署环境:每天或随时 Review 可用功能。

迭代结束

在迭代将近结束,或者刚结束时,我们会组织一次迭代演示会

迭代演示会主要目的是,邀请业务方了解新增可用功能,获取反馈意见。通过客户的反馈意见,让我们知道此版本是否应该上线,或者此版本是否达到上线的标准。

在迭代演示会中,可能会产生很多新的想法,那么我们就会把它汇总到刚才提到的 Backlog 当中。

在迭代演示会结束之后,我们会马上组织一次迭代回顾会

迭代回顾会不需要业务方参与,只需要参与的研发团队参加。它的主要目的是,总结大家在项目迭代过程中做得好与不好的地方,以及讨论做得不好的地方,该如何改正。

在迭代回顾会结束之后,才意味着我们当前的迭代周期结束了。

产品研发相关工具

在迭代的过程中,产品研发团队使用的工具是非常重要的,因为它会直接影响到远程办公的能力。目前,ONES 研发团队主要以下这些工具

  • 项目规划:ONES Plan;
  • 项目管理:ONES Project;
  • 产品原型:Axure;
  • UI 设计管理:Zeplin;
  • 代码版本控制:GitHub;
  • CI/CD:Jenkins/Travis-CI
  • 测试用例管理:ONES TestCase;
  • 错误分析:Sentry;
  • 监控:Zabbix/Prometheus;
  • APM:ELK;
  • 数据可视化:Grafana。

除此之外,我们还有一些通用工具

  • SSO:企业微信 / Google Account;
  • 文档管理:ONES Wiki;
  • 会议系统:ZOOM;
  • 团队 IM:企业微信;
  • 办公审核:企业微信;
  • 团队日历:G suite - Google Calendar;
  • CRM:纷享销客;
  • 客服系统:Intercom;
  • 营销数据分析:神策数据。

以上就是我们目前正在使用的一些工具。接下来,我再来分享一些我们选择工具链的思路

  • 在满足业务需要的前提下;
  • 尽量选择现有的企业服务工具;
  • 所有工作,尽可能通过软件工具数字化、结构化,因为远程办公没有数字化相关工具帮助是非常难做到信息同步的;
  • 尽可能自动化,更多的是在持续集成 CI/CD 这部分,因为机器人更高效,它能同时处理非常多的事情,而且性价比也很高;
  • 尽量部署于公网而非内网,很多时候我们将服务放在内网主要是考虑到安全问题,但是内网会让我们忽视内网部署服务的安全问题。同时,依赖于内网容易让我们因为网络问题访问不了一些相关内容,所以尽可能的不属于公网。

ONES 远程项目管理的实践落地情况

从 2 月 3 日起,ONES 已经正式开始远程办公,在此期间,我总结了三个远程协作要点

  • 充分利用工具,将工作流程数字化;
  • 关注项目进度管理、项目资源管理;
  • 建立团队虚拟办公室。

充分利用工具,将工作流程数字化首先,我们需要充分利用工具,将工作流程数字化,因为数字化才可以让我们通过互联网共享信息。

通过观察 ONES 整体的工具链和工作流程可以发现,在还没打算远程办公之前,ONES 已经具备了远程办公的条件了。

关注项目进度管理、项目资源管理

在项目进度方面,其实我们有不同级别的管理方法。

  • Team 级别项目进度管理——迭代看板

首先,我们来看一下 Team 级别。

Team 级别项目进度管理,我们通常使用迭代看板的方式。看板功能相对来说是比较好用的,因为它可以让我们非常直观地看每个项目的进度

  • Team 级别项目进度管理——燃尽图

再来就是燃尽图,其实燃尽图的表现是带有一定风险的。因为在实际工作中,我们通常会偏离原定的虚线,呈现波动的曲线。

绝大部分的情况下,团队都可以通过自己的努力,比如调整优先级,或者通过加班做一个短期冲刺,最终使基线和实际任务数量重合在一起。

因此,燃尽图能够非常快速帮我们去了解当前的迭代速度是否落后于我们计划的进度

  • 业务级别项目进度管理——甘特图

在 ONES,我们每个团队会有 5-7 个人,然后多个团队组成一条业务线,如果在业务级别上进行项目管理,我们更多会关注 3 个月、6 个月,甚至更长周期的项目。

我们通常会用甘特图来规划时间较长的项目,因为甘特图可以直接和项目中的迭代进行联动

  • 业务级别项目进度管理——团队资源

同时,业务级的项目进度管理,我们也会特别关注团队的资源是怎么样的。

我们不希望所有同事太忙,因为太忙的话会影响大家的输出效率;另外也不应该太闲,因为太闲其实是在浪费团队和员工的时间。

因此,我们会通过专门的视图观察团队资源

  • 项目进度管理——报表

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

团队虚拟办公室

最后,我再分享一个远程协作力很重要的一个点——团队虚拟办公室。这是在我们决定开始远程协作时,必须马上准备的一个东西。

团队虚拟办公室的目标是,希望可以模拟团队面对面的工作环境。

我们会以一个 Team 为单位,在开完晨会之后,我们仍然会保留在线状态,大家也必须打开摄像头,然后静音。

为什么我们会这样做呢?

第一,我们希望能在最大程度上营造面对面的工作环境;第二,我们能感受到和我一起工作的小伙伴也是一个工作的状态,同时也能让别人看到我的工作状态。静音更多是为了不让家里很多不可控的声音影响同事。

通过以上 2 点模拟,更容易让人产生一种我坐在工位上,抬头就可以看到我的团队成员也在工作的感觉。

接下来,我们顺理成章就会下一个动作——当我们用 IM 简单沟通解决不了问题以后,我们可以立刻打开麦克风进行讨论。实际上,在工位时,大家可能会从工位站起来,走到某个同事旁边和他讨论。

在讨论完后,我们又会有再下一步的动作——将内容记录到 ONES Project 里,其他非结构化信息将记录到 ONES Wiki 里。

通过这样的方式,基本上能回到我们说的集中办公的一个状态。

总结

最后,给大家总结一下远程办公项目管理一些特别关键的点:

第一,远程办公本质上降低了我们的沟通效率,因此我们需要特别关于项目信息、项目进度的同步对齐上

第二,因为沟通效率降低,可能会直接影响团队成员的工作专注度,所以我们需要模拟一个面对面工作的工作环境,缓解沟通效率下降问题

第三,因为各项效率在下降时,我们会更依赖于整个项目,所以我们需要做到项目全流程数字化,有助于信息的同步共享,帮助团队与决策者快速调整业务计划

第四,当我们能做到以上 3 点时,我们可以感觉到远程工作效率其实没有下降太多,整个迭代和版本发布基本处于比较满意的状态。

因此,当远程工作效率得到保证时,团队成员可以更加从容的选择一个更加稳健的集中办公时间。


  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/SsJet63bca386DYyOmbw
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券