开源协作成功的基石:用异步的方式做出决定
用微信工作,绑架了所有人的生活和时间。一场疫情过后,这种现象更为凸显,各种超过百人的大群,公司群、部门群、小组群,这些还不够,还有各类项目群、各类沟通群、各类策划群。许多人都讨厌这种状态,却不知道其背后的道理以及如果去改变这种状态。
“决定”的产生
在工作中,我们无时无刻需要进行沟通,这些沟通其实都是为了一个目的:做出决定!决定产生后,各项工作就可以按部就班地开展。所以,我们可以先来看看每一个决定都是如何产生的。
通常一个决定的产生需要经过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管理系统”。所有的程序员都遵循着开源协作的研发理念,形成了一个面向代码的异步决定循环。
最后
其实,异步决定已经长期存在于开源软件的研发过程中,它是开源软件协作研发的一个基础理论。开源软件的繁荣,不仅是因为长期以来对开源软件研发所使用的数字化工具的探索,更得益于所有的开源软件研发工程师形成的一种异步决定的工程师文化,用程序员的方式来沟通、思考、创造。
文章来自公众号金科优源汇,作者阿山。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Pineloader 为 Linux 智能机提供了多启动支持
PinePhone近期收到了一个新的引导程序,该引导程序允许多个 Linux 操作系统在设备上引导。换句话说,所谓的 Pineloader 是一个多引导程序,它实质上允许用户在启动 PinePhone 时选择他们想要运行的操作系统。 开发人员Danct12在 Twitter 上发布的照片显示了 Pineloader 的运行情况,用户可以从 PinePhone 的四种不同操作系统中进行选择,分别是UbuntuTouch、postmarketOS、Sailfish OS 和 Huong Tram Linux。 由于在此引导选择界面中不支持触摸操作,所以用户可以通过音量加减按钮来选择操作系统,然后通过电源按钮确认选择。可以说,Pineloader 算是为其它基于 Linux 的项目打开了大门 。 不过就目前而言,手机上的 Linux 世界似乎仍然主要针对高级用户,并且在它想要成为 Android 和 iOS 的替代产品的话,仍需要一段时间的改进。幸运的是,所有的事情似乎都在朝着正确的方向发展。 消息来源:SOFTPEDIA
- 下一篇
5G需要怎样的网络切片?
即将开播:5月14日,Jenkins在K8S下的三种部署流程和实战演示 网络切片,大家应该都很熟悉了。 就是根据不同行业应用对网络带宽、时延、安全性、可靠性、地理覆盖范围等SLA需求,从端到端网络基础设施上按需 “切”出多个相互隔离的、安全的、SLA可保障的逻辑网络。 网络切片改变了过去“一刀切”和“尽力而为”的网络模式,通过专用、隔离和SLA可保障的“切片”为各行各业提供差异化服务,从而推动车联网、智能工厂、无人机等海量垂直行业应用,使能全社会数字化转型。 这与城市的交通道路有些相似,以前是没有实线隔离的,各种车辆互相抢道,交通拥挤不堪。现在根据不同的车辆、运营方式进行分流隔离,比如设置BRT快速公交通道,非机动车专用通道等,从而大幅提升了交通效率。 有了网络切片,网络从原来的“管道”转变为“融合行业服务的网络基础设施”,运营商的商业模式也将从原来向消费者“卖流量”扩展为向各行各业“卖网络能力”、“卖服务”,从而可实现网络价值最大化,增加收入来源。 无切片,不2B。毫无疑问,网络切片是5G最具创新的技术之一。 但面对庞大而复杂的网络基础设施,运营商该怎样“切片”呢?如何“下刀”? 像...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8编译安装MySQL8.0.19
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路