开发者关系 像个开发者一样思考

不一定非得同步做决策:远程团队成功的秘诀

2019-08-31
开发者关系

’玻璃心’恐怕是参与开源的最大障碍了,这和人的心理成熟度和日常收到的教养有很大的关系,具有超强同理心的人会很快适应这点,而缺乏这点就会难以接受。互联网所带来的全球式的协作模式,以Linux为代表的开放源代码软件项目的成功印证了这点,所以要理性的克服这一点,尤其是适应远程办公的时候。

概要

减少会议数量,还能增加沟通质量不再是纸上谈兵了,本文为你呈现采用异步方式来进行决策,可以达到想要的效果。

异步决策某种程度上已是一种常见的决策策略了,尤其是对于那些是来自全球各地、分布式的软件团队,异步决策对于这种类型的团队尤其关键。在接下来的叙述中,笔者试图讨论和解释异步决策如何成为远程团队的工具,以及一些有用的原则。

相信大家都非常熟悉同步决策,显而易见的优点就是参与的人能够进行实时的互动。《黑客与画家》一书的作者Paul Grapam写过一篇博客:创客的时刻表,当我们去打断这些创客们正在做的事情的时候,代价是相当昂贵的,当然,对于远程工作的团队来讲,做同步决策是几乎不可能的,相信有过类似经历的人,一定能够意识到想要实现同步会议的痛苦,各种等待、浪费时间、低效、不断确认等等。

与此相反的是,我们得接受现实,使用异步决策来进行沟通,这也是很多大型开放源代码项目中所经常采用的策略,举个经典的例子,在Apache软件基金会(ASF,以下均会这么称),也是笔者活动最为频繁的地方,总是尽可能的减少会议,且团队保持一种有效的方式进行推进,Apache 软件基金会旗下的项目,许多都是每年只召开几次会议(甚至干脆根本就没有会议),但开发团队却能够始终如一地生产高质量的开放源代码软件。

那么异步决策是如何工作的了呢?

必需的工具

中心化的异步沟通渠道

想要实现异步决策,首要解决的问题就是要拥有中心化的沟通渠道。无论采用何种实现,但有一些功能是必须的,如所有团队成员获得的是相同的信息,要支持线索式的讨论,相关的人在一个线索上讨论,同时忽略在同一频道上讨论的其他主题。不知道大家有没有熟悉海洋无线电,它的工作原理就是,最大范围的使用广播来引起特定人群的注意,想要进一步的讨论就要进入相应的子频道。

现在仍然有很多的开放源代码项目在使用邮件列表,来作为沟通的中心化渠道,当然,当下的年轻一代的软件开发人员可能会认为这种方法既陈旧又笨重。邮件列表确实需要一定的克制和纪律才能有效的管理繁忙的、具有较高流量的内容,尤其是涉及到比较有意思的条目,每个线索都要坚持一个主题,并要确保主题不会重复。虽然如此,但是目前为止,能够做到正确使用、且与索引存档相结合,邮件列表仍然是最完美的中心化的异步沟通渠道。

企业团队可能会受益于更现代化的协作工具,这些工具可以更易于使用并提供更强大的多媒体功能。无论使用哪种工具,关键是要创建一个通道,在这个通道中,大量人员可以在各种主题上高效且异步地进行沟通。根据实际观察,想要创建一个内容一致、高度参与的社区,一个繁忙的频道要好过于杂而多的频道

共识构建机制

第二,其实不是一个工具了,而是一种精神上的内容,即达成共识,只有有了共识才能够避免出现僵局,进而推动事情往前发展。谁都以为在众多的人当中做出一致的决策是最理想的情况,当这往往是可望而不可及的,退而求其次,我们希望能够达成共识:“在有决定权的人们之间形成有效的广泛共识”。我们知道要求一致同意,或者是否决决策都会阻碍进程的发展,因此,在ASF,使用否决权的场景是被局限于某些情况下的。ASF 的投票机制经过多年而有效的发展,已经得到了世人的认可,也被人们经常所效仿使用,如果某些团队和ASF较类似的话,如并没有权力较为集中的老板,那么在这样松散耦合的团队中建立共识是非常有帮助的。当然,还有一种情形,那就是当共识没有自然出现时,也是非常有效的办法。

Case 管理系统

共识往往是在项目中心化的沟通渠道中所达成的,这一点我们在前面有所描述,但是对于很复杂的情形而言,可能需要一些第三方的工具来完成,这个工具就是:Case 管理系统,这样的话,大家在中心沟通渠道上用来进行非正式的讨论、头脑风暴诸项,当某些需要决策的内容渐渐浮出水面的时候,就可以引入 Case 管理系统了。

Case 管理系统能够更为准确的组织决策,当较小的团队,决策也相对较少的情况,是没有必要上这么一个系统。但是情况复杂起来的时候,将一些讨论特定决策的细节以及相关信息保存在特定的地方,对于团队是有非常大的帮助的。

其实 Case 管理系统并不一定非得是复杂的软件系统,ASF 使用的就是最简单的 issue 追踪,本来是用于基于 Web 界面的跟踪问题和Bug管理的,每个 Case 均在同一个页面中进行讨论和处理,其中也包含所有的评论,以及所有的操作记录。这么做非常使用追踪决策,以及如此决策所走过的所有路径。例如,一些非紧急或复杂的决策可能需要很长时间才能达成结束,将历史记录放在一个地方是有非常大的益处的。尤其是对于新加入的成员,他们可以通过阅读这些 issue 来了解最近做了那些决定,以及那些决定还在讨论当中,都有谁参与了这些决策,以及每个决策的背后的背景,从而让他们能够快速的融入团队。

成功案例

ASF 董事会有九名成员,他们会在每个月定期的电话会议上做出很多个决策,但是会议不会超过两个小时,之所以能够如此的高效,是因为我们在前期做了非常细致的工作,当然这些工作都是通过异步来做的。这样的好处就是能够让我们将会议的重点放在复杂或者不能确定的事情上,而不是聚焦在那些细枝末节的全部/部分的共识问题上。

其实类似的会议,在软件产业之外也是屡见不鲜的,如瑞士联邦的例行周会,他们的做法非常的类似于ASF。团队亦是采用异步决策的方式来建立共识,从而为会议做好充分的准备。会议议程由一组颜色编码的列表组成,这些列表指出哪些项目可以快速批准,哪些需要更多讨论,哪些项目预计会较为复杂。就是这样的方式,让仅有7个人组成的委员会,能够在每年处理超过5000多个决策,仔细算算,一年也就50多个星期,他们每周仅开几个小时的会而已。这是非常了不起的成绩。

依据我个人的经验,可以负责任的说,异步决策机制是值得投入的,工具是现成的,当然也要靠时间来进行验证。它也可以为团队成员带来快乐工作的益处,而这才是任何事情成功的关键所在。

关于作者

Bertrand Delacretaz 是瑞士巴塞尔 Adobe 研究团队的首席科学家。他倾注了大量时间来倡导和实施开放式开发,以此为他的同事提供更高效,更有趣的地理位置分散,且保持高效的团队。Bertrand 同时还是 Apache软件基金会的活跃成员,他在本文写作时(2017)担任ASF基金会董事,即9名成员之一。

本文由作者 Bertrand Delacretaz 发表在Opensource.com上:Asynchronous decision-making: Helping remote teams succeed

转载请注明:开发者关系 »


Content