反思软件开发:人为因素(上)
欧雷 发表于
本文内容(分上、下篇)实际上跟软件生产没什么关系,虽然在生产中方法论、工具等很重要,但更重要的是组织和人的问题,然而这类问题并不局限于软件生产。
工具带来的提效只适用于无需智慧的机械性低价值重复劳动上,工具带来的效率提升是次要的,最先应该解决的是组织和人的效率问题——这是件非常难的事情。
这个话题很大,在此仅仅阐述我对此粗浅的理解。
个人的局限
之所以有组织的存在,是因为个人的能力是有限的,靠个人可以做成事,但都是些小事,要做大点的事就得依赖他人——
「能力」是指「擅长的事」,也就是「技能」。
绝大部分人只能擅长一两件事并在那方面成为所谓的「专家」,因为技能是需要长期训练、练习才能达到「擅长」的程度,要做成一件大点的事需要有不同「能力」的人合作,光靠一个人不太行。
「能力」是指「精力」、「时间」和「效率」的总和。
要做成一件事需要固定的工作量,并且往往要在某个时间期限之内做完才有效,也就是「窗口期」——过了这个村就没这店了。
最小工作量固定,deadline 已知,接下来就是资源调配问题了。
一般来说,除非有绝对的把握,否则一个人很可能无法完成,因为人们总是低估一件事的复杂性,即便看起来是很简单的一件事——
侯世达定律:做事所花费的时间总是比你预期的要长,即使你的预期中考虑了侯世达定律。
除去事情自带的复杂度,参与其中的人本身就有很多不确定因素——姨妈了,要陪产,家里有事,心情不好,诸如此类。
意识形态
组织中人的思想和认知是影响整体效率的重中之重,企业所谓的基因、文化和价值观等就是这个组织意识形态的体现。
以人为本
组织是由人构成的系统,要想正常且高效地运转,就要控制好作为构成要素的每个人——理解「人」,了解他们,用好他们。
作为一起做某事的一份子,他们虽然是资源,但他们是「人」,而不是「工具」和「牲口」,理应被尊重,被理解,被照顾,被用心对待——组织需要人文关怀。
除了组织的创建者(们),其他人加入的原因无非是为了生活和在想要发展的方向上锻炼自己。这些人的基本诉求,组织的领导者们应当重视起来,给予他们与能力及创造的价值相匹配的回报,而非想方设法地去在各方面进行压榨。
除了组织的创建者(们),其他人都是打工的,即使有层级之别,但相互之间依然是平等的。别被自己的头衔和手里那点儿「权力」所迷惑,掉进官僚主义的陷阱,不然自己可能一时爽了,但影响了整个组织的氛围,降低组织效率。
纵然组织可以是一个无情冰冷的机器,但若构成组织的每个人都感受到了组织的温暖,他们会抱着更为积极的态度去工作,从而使整个组织拥有良好的氛围,进而提升组织效率,毕竟人是有感情的。
人是构成组织这个系统的要素,人心则是影响组织效率的最重要的因素。
愚蠢的组织会为了创建者(们)的利益用尽手段去压榨;聪明的组织即使牺牲点创建者(们)的利益也要尽可能对其他人公平;而「精明」的组织则会保护占据核心地位的领导层,其他人就是螺丝钉,不行就换。
为什么把「精明」加上引号?因为看起来聪明,实则愚蠢——助长官僚主义之风,制造阶级矛盾,不把占据组织大多数的民众的利益当回事。
合作共赢
人是自私的,做事会优先满足自己的利益,由人构成的组织更是如此,这都无可厚非。但是,如果只想着满足自己的利益,甚至故意去损害他人的利益,那么自己的道路会越走越窄,很难做成大事。
因此,无论是个人与个人之间,个人与组织之间,还是组织与组织之间,要想做成事或使所处组织变得高效,需要有合作意识。
合作的前提是参与者之间要有共同的「大目标」——各自「小目标」的交点,也就是利益结合点。如果一件事对参与者中的一个或几个人来说收效甚微,那他们不会选择合作。
鉴于此,我认为所谓的「合作意识」主要是指两方面:一是了解个人的局限,知道要与他人构成组织协同工作才能做成大事;二是懂得与他人分享共同取得的成果,尽量去满足合作者的利益,有时甚至要为了自己更大的潜在利益而牺牲眼前利益。
人与人之间的绝大部分关系实质上都是合作关系,无论是员工与企业、婚姻还是朋友等,应该努力共赢,将各自的利益最大化,而非剥削、压榨这类零和博弈。
小结
组织是由个人所构成,虽然组织的意识与智慧凌驾于个人之上,但不能忽视并忘记个人的意志与需求,这相当于否定组织的根本。
组织是由个人所构成,因而组织的实际运作会像人一样由其思想、意识形态所决定——本篇内容着重讲述意识形态的主要方面,下篇将说明该如何行动。