远程办公与集中办公

远程办公与集中办公之间并没有简单的二分法,相反,团队有多种不同的分布模式,每种模式都有不同的权衡和适合的有效技术。虽然不可能找到确凿的证据,但我认为大多数团队在集中办公的方式下效率更高。但是,您可以通过使用分布式工作模式来打造更高效的团队,因为它可以让您接触到更广泛的人才库。

2015年10月19日



信息时代最深远的影响之一是能够在不考虑地点的情况下完成如此多的事情。我不再需要去大多数商店、图书馆或旅行社。(我期待着有一天我不必去看牙医。)世界上大多数人都看到了这一点,但对于软件开发人员来说尤其明显,他们通常处于数字化转型的最前沿。

然而,在软件开发方面,许多开发人员并没有利用联网计算机的通信可能性。雅虎最近将所有异地员工召回同一个地点办公,引起了媒体的广泛关注。像Netflix和谷歌这样的领先科技公司强烈希望他们的员工在同一个地点办公。

这样的举动让我们这个行业的其他人指指点点,哈哈大笑。一些最响亮的声音来自像Etsy、Basecamp和Github这样的初创公司,他们的许多员工从未一起在办公室工作过。对于这样的团队来说,远程办公是未来,那些反对它的人站在了历史的对立面。

虽然我在我多年的行业生涯中多次参与关于远程办公的讨论,但我认为没有太多我可以谈论的决定性因素。关于远程办公对软件开发的影响的证据无法以任何有意义的方式收集在一起。

也就是说,我确实与很多团队交谈过,这些谈话让我产生了一些我将在这里分享的初步观点。

远程办公的多种形式

首先要弄清楚的是,集中办公和远程办公之间并没有简单的二分法。有很多不同的类型,每种类型都有自己的优点和缺点。为了便于理解,这里有一些教学性的标志。

单一地点团队是指所有成员都在同一个物理地点集中办公的团队。理想情况下,这意味着你们都在彼此几步之遥的地方,能够快速协作而无需安排任何事情,并且能够轻松地看到其他人在做什么。许多团队喜欢在一个团队房间里这样做,因为它最大限度地提高了沟通的便利性。即使是隔间的出现也会造成障碍——许多敏捷教练都有关于螺丝刀的故事。

多地点团队是指在一个更大的团队中,有两个或多个集中办公的团队位于不同的地点,可能有一些正式的子团队边界和职责。一个很好的例子是开发团队分布在墨尔本和西安。

卫星工作者是指当你的团队大部分成员都在同一个地点办公,但有少数成员远程办公,要么在家办公,要么在另一个办公室办公。

远程优先团队是指每个成员都在不同的地点工作,通常是在家工作,因此所有沟通都通过网络进行。大多数开源项目都是远程优先的,这种经验鼓励了许多初创公司使用它。

远程办公的程度各不相同。人们经常观察到,仅仅将一个团队分成同一栋大楼的两层楼就足以打破集中办公的感觉。增加距离和时区会增加这种远程性,但许多人认为,最大的区别在于你不再离你的合作者只有一步之遥。关键是你发现发送电子邮件比走过去交谈更容易。

大多数人在集中办公时效率更高

与软件开发中的许多主题一样,关于流程的争论不会终止,因为我们无法衡量我们的产出。我不能拿100个软件开发团队来分析远程办公是否以任何量化的方式影响生产力。人们会发表一些轶事性的说法,比如“我觉得在集中办公的团队中效率更高”,但这并不是很好的证据。但尽管这不是很好的证据,但这却是我们唯一的证据。

另一个因素是,还有很多其他因素会使团队运作良好。如果有人说他们在单一地点的团队中效率更高,那可能是因为与其他团队相比,还有其他因素在起作用。减少这个问题的一种方法是特别关注那些改变了分布模式的团队,比如从单一地点拆分为多地点。其他因素仍然会产生影响,特别是因为团队分布的变化通常意味着人们会离开或加入一个团队,但我认为这比比较完全不同的团队能产生更有力的证据。

鉴于此,我(或任何人)所能做的就是倾听很多人的意见,并做出我能做出的最佳判断。我听说了很多关于团队和地点的经验,包括相当多的团队改变了他们的分布模式(尽管我没有听说过很多关于远程优先的经验)。大量的事实让我得出结论,大多数团队在单一地点的模式下效率更高。

原因在于沟通的便利性。虽然(视频)聊天、屏幕共享等工具在很大程度上方便了远程办公,但仍然没有什么比能够转身看到你想交谈的人,然后直接说话更有效。集中办公还引入了大量的带外对话,这改善了人际关系。其结果是一个良性循环,改善了关系和沟通。由于沟通是软件开发的核心部分,因此这对生产力有很大影响。

但请注意,我说的是大多数。人类千差万别,尽管一个共同的特点似乎是人类倾向于认为每个人都一样。所以我很容易相信,有些人远程办公时效率更高。我认为这只是少数人。(这里可能还有一个代际因素,因为年轻人更习惯于远程互动。)

远程团队通常效率更高

因此,如果我们不考虑那些偏向远程办公的少数人,那么单一地点团队更高的生产力是否意味着我们应该支持单一地点模式?事实证明,我们通常不应该这样做。

虽然我广泛听说,一个特定的团队在集中办公时效率更高,但单一地点对你的团队成员构成很大限制。这样的规则意味着你无法雇佣到最适合这份工作的人,你只能雇佣到愿意搬迁的最适合的人。通过让团队远程办公,你可以扩大你的人才范围。一个远程团队的效率可能不如同一个团队集中办公时的效率高,但可能仍然比你能组建的最好的集中办公团队效率更高。

远程办公不仅可以避免永久搬迁的问题,还可以为个人提供更多选择,尤其是在远程优先模式下在家办公时。人们看重的是,它可以很容易地接送孩子上下学,避免了通勤时间和精力的浪费,以及舒适的环境。提供这些会使就业方案更具吸引力。考虑到女性通常承担着照顾孩子的责任,这使得她们更难在办公室工作,因此它也可能有助于提高多样性。

这种效应在各国之间也是一个重要因素。随着离岸外包的流行,大多数人将其视为一种降低成本的方式。在Thoughtworks,我们认为它在寻找最优秀人才方面更为重要。例如,我们的中国办事处在支持澳大利亚的工作方面变得特别有价值,因为那里的人才库规模要大得多。

关注沟通模式

人们的沟通方式是有效进行软件开发的核心。通过引入远程办公(以任何形式),你都在对沟通模式施加限制。特别是,我们必须意识到,集中办公的沟通比在线沟通要丰富得多——至少对大多数人来说是这样。因此,大多数集中办公的人将比远程工作者之间进行更好的沟通,并拥有更好的人际关系。这会导致一系列你需要注意的后果。

多地点团队倾向于对其他地点形成一种“我们和他们”的态度。你可以通过定期互访和大使来减少这种情况。互访是指团队之间的短期互访。虽然这些活动偶尔有利于一些更深入的合作,但通常它们的最大目的是建立人际关系。组织往往会忘记后者的重要性。因此,在进行互访时,要更加重视社会关系的建立(这意味着要为有助于建立关系的活动留出时间)。大使是指在不同地点工作几个月的人。大使可以在很大程度上促进他们临时远程团队和他们通常的在家团队之间的沟通,无论是在远程办公时还是在他们回家后。(例如,Basecamp每年举行两次,每次为期一周的聚会。)

如果你要采用远程优先模式,你就需要全力以赴。所有沟通都应该在线上进行,不要在同一个办公室里设置集中办公的子团队。我甚至听说过一些团队强迫在同一个办公室工作的人在单独的办公室工作,并规定与隔壁程序员的任何沟通都必须在线上进行。尽管如此,远程优先并不意味着只远程办公。远程优先的组织通常每隔几个月就会举行一次面对面的聚会,以帮助解决那些受益于集中办公的棘手问题,并改善人际关系。(例如,Basecamp每年举行两次,每次为期一周的聚会。)

对于多地点团队,请按完全自主的组件划分工作。每个团队都应该是全栈的,并负责将组件从构思一直带到生产。不要按层(前端/后端/数据)或活动(分析/开发/测试)划分。层和活动边界之间都有丰富的沟通。记住康威定律的核心重要性。

让卫星工作者有效地工作是非常困难的。由于大多数人都在同一个地点办公,大多数沟通将在集中办公的团队内部进行。我几乎从未听说过这种模式,而卫星工作者没有越来越脱离团队。如果他们的工作非常自主,那将减少这个问题。还应该明智地确保卫星工作者定期访问现场团队,至少每月几次。但在大多数情况下,这似乎是最好的临时措施。

远程沟通困难的一个特殊领域是指导初级员工。一些远程优先工作模式的支持者认为,你应该只在远程优先团队中招募有经验的员工。就像很多事情一样,远程指导员工并非不可能,但要困难得多。对于多地点团队,请确保每个地点都有经验丰富的导师来指导新人。避免让初级人员成为卫星工作者。要警惕让初级人员加入远程优先团队,当然,在远程优先团队顺利运作之前,不要尝试这样做,然后只能非常缓慢地增加初级人员。

远程办公与敏捷

我听到一些人争论说,敏捷软件开发与远程办公不相容。那是无稽之谈,至少根据我对敏捷思维的理解是这样的。

当然,敏捷方法鼓励更大程度的集中办公。极限编程将“坐在一起”作为其主要实践之一:“面对面的时间越多,项目就越人性化、效率越高”敏捷宣言指出“传递信息最有效的方法是面对面的交谈。”

但所有这些都只是说明,一个团队在集中办公时通常合作得更好。但这并不能证明通过支持远程工作模式就能获得更好的团队。敏捷宣言的首要价值观是“个体和互动高于流程和工具”,我们应该将其理解为鼓励我们优先考虑让最优秀的人才加入团队,并帮助他们更好地协同工作。(Kent 指出“坐在一起”并不是 XP 的强制要求。)虽然我们认识到面对面的沟通更有效,但这种认识不能凌驾于个体和互动的重要性之上。

结论

我希望现在已经很明显了,没有足够的证据可以对远程工作的效果得出任何强有力的结论。但基于这些不牢靠的基础,以下是我的一些主要想法

  • 永远不要忘记,团队有不同的分布模式,而不仅仅是简单的远程与集中办公的二分法。多站点团队的优势、劣势和有效技术通常与远程优先的工作方式不同。
  • 大多数人在集中办公时效率更高,因为他们之间的沟通更丰富。但不要忘记,有些人似乎在远程优先模式下效率更高。
  • 尽管我认为大多数团队在集中办公时效率更高,但通过采用某种形式的分布式模式,你通常会获得更有效的团队,因为它会拓宽你所能获得的人才库。
  • 在使用远程工作模式时,要注意沟通模式的形成。投资改善沟通,包括差旅和技术。

在我从事软件行业的这段时间里,通过支持远程工作模式来获得更好的团队变得越来越重要,而且我认为它的重要性会继续增长。我感觉到,最优秀的开发人员越来越不愿意接受单一地点工作带来的地点和通勤方面的劣势。随着人们经验越来越丰富,也越来越有价值,这种情况就越来越明显。你可以试着忽视这一点,接受那些愿意为你搬迁的最好的人才,或者你可以探索如何让远程工作模式更有效。我认为,能够使远程工作模式有效的组织将拥有显著且不断增长的竞争优势。


致谢

Bill Kimmel、Fábio Santos、Gayatri Kalyanaraman、Hugo Corbucci、Jie Xiong、Ken McCormack、Kevin Yeung、Kyle Hodgson、Pete Hodgson、Peter Gillard-Moss、Rouan Wilsenach、Sriram Narayan、Tiago Griffo 和 Valerie Roske 对本文的草稿提出了意见。Pete Staples 帮助我绘制了插图。

延伸阅读

远程工作是网络文章和博客中经常出现的一个问题,我并没有试图整理一份建议阅读清单。然而,我建议大家阅读我十年前写的一篇关于使用敏捷方法进行离岸工作的文章,这篇文章是根据我们在印度的经验撰写的。文章中的建议和结论对多站点团队仍然有效,尽管我一直在打算添加一些技术上的调整。

Bjorn Freeman-Benson 曾在集中办公和分布式环境中领导过团队。James Shore 出色地总结了他在从中吸取的教训。我特别想强调他的观点,即远程优先模式不适用于大型团队,对初级开发人员也不太有效。

重大修订

2015 年 10 月 19 日:首次发布