IT资讯 开源协作成功的基石:用异步的方式做出决定

andy · 2020-05-13 19:30:06 · 热度: 70

用微信工作,绑架了所有人的生活和时间。一场疫情过后,这种现象更为凸显,各种超过百人的大群,公司群、部门群、小组群,这些还不够,还有各类项目群、各类沟通群、各类策划群。许多人都讨厌这种状态,却不知道其背后的道理以及如果去改变这种状态。

“决定”的产生

在工作中,我们无时无刻需要进行沟通,这些沟通其实都是为了一个目的:做出决定!决定产生后,各项工作就可以按部就班地开展。所以,我们可以先来看看每一个决定都是如何产生的。

通常一个决定的产生需要经过4个阶段:头脑风暴,通常针对具体问题,需要根据经验进行头脑风暴,给出各种可能的方案;生成选项,针对头脑风暴的结果,梳理出可能的选项;得到共识,面对可能的选项,需要对其进行筛选和排序,形成一个所有人都认可的排序;做出决定,根据一定的规则最后产生决定。

事实上,“决定”制定的每个环节,都不用要求所有的成员同步(同时出现在同一物理地点)进行。这些环节都可以通过异步(不用同时出现在同一物理地点)的手段来解决,也就是说决定的产生可以异步进行

异步决定(Async Decision Making

要产生一个异步决定,需要有三个基本要素:共享的所有人可见的信道一个具备“case管理能力”的系统、共同的行为守则。接下来让我们来看看ASF是如何使用这三个要素来帮助异步决定的达成。Apache的共享信道采用的是所有人可以订阅的Mailing List,case管理系统采用的是Issue管理,具体地,在头脑风暴时,所有人可以通过邮件列表发表自己的想法,头脑风暴结束后,有人将这些内容梳理成选项放在Issue管理系统里,接下来所有人针对形成的选项进行投票,最后按照既定的投票规则。当所有人都按照这个规则活动的时候,一个异步决定就这样生成了。

可以看到,整个决定产生的过程相比于所有人在同一时间,同一地点一起开会,来的慢。但是我们要考虑的是,在一个较短时间内,多人产生的会议决定是大家都信服并且愿意追从的决定吗?异步决定的好处在于成员不会被过多无用的会议把工作时间人为切片,并且有更多对问题本身独立思考的空间。这样做出的决定往往更能够让成员真心实意地接受。异步决定看上去费时费力,但是它却正是开源软件研发协作如此成功和繁荣的基石。异步决定的特点正适合于分散在不同时间、空间的分布式组织来很好地进行决策的制定。

问题所在

讲到这里或许你应该知道用微信工作的问题所在了,微信是一个所有人都共享的信道,可以让所有人看到消息,但是它缺乏一个“case管理系统”的能力。如果说一个决定的产生是从发散到收敛的过程的话,那么微信作为一个决定产生的工具,它只有发散的能力,并且其社交属性还能将发散的特点无限放大。比如在聊到一个具体问题的时候,下一句可能是中午吃什么。无限地发散而没有收敛的能力,让你在用微信工作时显得疲于奔命,绑架了你所有的时间。

解决之道

按照异步决定产生的原理,我们更倾向于去选择同时具备上述三个基本要素的 工具 和协作机制,在软件研发方面,看板系统和GitXX系统都是很好的例子。

1.看板系统

看板系统(详见另外一篇文章提出:“看板是第一要义”)是一个我们近期工作中异步决定产生的一个良好的案例。看板本身就是一个大家都可见的信道,因为所有人都可以往板上贴东西,可以改变板的状态。同时,看板上的事项,以及对事项的评论,形成了一个非常好的“case管理系统”。当做所有人遵从着尽快让事项从看板的一侧移动到另一侧这个共同理念的时候,这个团队协作的异步决定基础就已经形成。

2.GitXX

另外一个我们每天都遇到的例子就是GitXX(GitHub,GitLab,Gitee)的使用,GitXX是在git之上增加了代码评论和互动的功能,并且联动了Iusse Tracker。代码是团队可见的,所以对于代码的评论和互动就是一个大家都可见的信道,在评论功能中,又能够跟具体的Issue进行联动,对于每个Issue的跟踪,就形成了一个“case管理系统”。所有的 程序员 都遵循着开源协作的研发理念,形成了一个面向代码的异步决定循环。

最后

其实,异步决定已经长期存在于开源软件的研发过程中,它是开源软件协作研发的一个基础理论。开源软件的繁荣,不仅是因为长期以来对开源软件研发所使用的数字化工具的探索,更得益于所有的开源软件研发工程师形成的一种异步决定的工程师文化,用程序员的方式来沟通、思考、创造。

文章来自公众号金科优源汇,作者阿山。

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册