181213 组合的问题

想要把东西组合到一起的时候,总是问题多多。
想要把人组合到一起,更是困难重重。
有时候会想,要是所有事情都一个人做就轻松了,没有了沟通成本,没有了磨合开销。
但是一个人的力量终究是有限的,就算能做到一个很高的程度,要继续发展,还是得引入协作。
所以终究要面对组合的问题,并努力克服组合的问题。

既然一个人的时候高效,想要让组合高效,就是要尽量让组合像一个人那样运转。记录下现在想到的几个点:

  • 规则,或者说约定。程序设计中喜欢用的一个说法叫做“约定优于配置”,但某种意义上说约定和配置是相通的,因为它们都是为了统一、规范。比如ESLint、Prettier、Editorconfig这些工具,它们都需要配置文件,但这个配置文件是为了实现大家在代码风格上的统一和规范,只不过是把它显式地表达了出来。Ruby on Rails里面很多的语法糖,用名词单复数、大小写来进行很多区分,这是一种约定,但其实也可以看成一个隐形的配置。规则或约定在一开始就需要制定,但可以也应该在反复迭代中逐步完善,以适应形势的变化和新增的需求。
  • 优化沟通。增加了人之后,沟通成本是呈现出几何级数的上升的。首先就是要避免重复沟通,同一个问题跟不同的人/群组重复沟通,主要问题有两点:一是费时费力,二是容易造成理解偏差和信息壁垒。要避免重复沟通,需要做到高度透明。不要把一件事放在小圈子里或者私聊里说,要说就要在集体的群组里。另外,要保证历史消息对新人可见,历史消息是一笔财富,但如果对新人不可见,就相当于宝玉蒙尘,明珠暗投。这也是为什么微信群聊不适合作为讨论工作的地方的原因之一。第二是要避免无效沟通。什么叫无效沟通?一种是大家都没想好,没准备,那自然沟通交流时言之无物,只能大而化之,笼而统之。另一种是大家没有一个开放的心态,都固执己见,不能够包容他人的想法,那这样的交流也是毫无意义的。这一点上来说,异步交流会有比同步交流更好的效果。因为同步交流,必须立即作出回应,很多时候并不能充分思考,只能给出一个模糊的答复,而在异步交流中,每个人的答复都是自己经过思考,甚至是反复修改之后作出的,自然更有内容。同时,异步交流也能够让大家有更加平和的心态去面对他人的不同意见,或者反对和批评。
  • 互相尊重,但不附和。我们想要让一个多人的组合像一个人那样运转,就有必要思考一个人是如何工作的。人应该如何正确看待和审视自己的工作?既不狂妄自大,认为“老子天下第一”,也不妄自菲薄,觉得自己什么都不会。每个人都有自己的长处,每个人也都会犯下错误。如果每个人都能用看待自己的方式去看待组合中的其他人,尊重他人做的好的地方,同时也不避讳指出他人的不足和问题,整个组合的效率会有很大的提升。

你可能感兴趣的:(181213 组合的问题)