第4章 信息创新系统
软件项目是复杂自适应系统。这是许多软件开发专家和敏捷/精益布道者的共识。然而,驱动这些系统的动力是什么呢?
虽然软件项目涉及的元素很多,但只有人是真正的因子,或说,有生命力的元素。(谈到团队之上的更高级别时,我们可以将团队本身视为因子。)需求、特性、工件、交付物、工具、技术和过程并不是因子,因为它们既不能主动地自行组合、重组,而且也无法发起与项目其他元素的互动。人们具备合适的交互和组织能力还不够,若要让这些能力尽其所用,它们还得有活力。因此,人员激励是管理3.0模型的首要方面,本章绝大部分内容也都和人有关。不过在此之前,我们须得先谈谈组织。
作者首先明确人和团队是软件项目的核心,这个和《人件》想要表达的意思相同吧。前两天把《人件》又拿出来翻了一下,似乎我们正在做的一些事情正是《人件》中反对的。
创新是生存的关键
在任何竞争环境中求生存,创新都是关键。
创新正是复杂性科学的核心概念。研究人员发现,复杂自适应系统会积极地寻求自己在有序与混沌之间的位置,因为当一个系统处于“混沌边缘”的时候,它的创新能力和适应能力是最强的。研究者表示,在物理、生物、心理以及其他系统中,复杂——那个混乱与秩序之间有趣的状态——都是创新的源泉。
根据《组织中的复杂性与创新》和《创新与社会变迁中的复杂性视角》等出版物所言,创新是一种典型的自下而上的现象。它们强调,创新由高层发起,逐级向下传递最终分派给特定的人,专门解决发明新事物这个难题,这样的创新注定会失败。该方法反映的是因果决定论的观点,它试图控制将来发生的事情,这是不奏效的。
复杂性系统方法认为创新是可遇而不可求的,它是水到渠成而自然涌现的结果。然而,得先有涌现所需的土壤,才能期待它的发生。从这个角度来思考,我找到了创新的五个齿轮,我们接下来逐一讨论。
作者为什么用齿轮而不是用单纯的序列来表示,是因为这些一个驱动着另一个吗?
知识
我们都知道,开发人员、设计师、架构师、分析师、测试人员以及其他类型的软件创造者,都是知识工作者。这个词是管理大师德鲁克创造的,他需要借此强调许多工作者的工作都主要是和信息打交道。
郭云老师在给我们培训《卓有成效的管理者》时第一个问题就是明确了,软件企业中所有人员都是知识工作者,不过这个观点并没有得到所有人员的认同。
知识网络中的节点(人脑、互联网、社会群体)即使首先无法完整访问网络,也可以工作,但性能随着连接数量的减少而降低。克罗斯与帕克的研究的除了一模一样的结论,并将其发表在他们的著作《社交网络的潜能》中。他们发现,人们的专业技能并不是最重要的性能指标,真正使其脱颖而出的是他(她)在组织中的人脉。
确保软件团队成员都乐于分享和协作将无比重要。
社区运作还是非常关键的,要形成互动和协作,大家互相鼓励和激励,才有动力继续前进。
软件开发人员将信息转变成创新,这恰恰与格拉斯的《软件工程的事实与谬论》中第22项事实相吻合。
软件工作的80%是智力活动。绝大部分是创造性劳动。文书工作几乎没有。
即使是定制研发工作,做的工作是把之前做过的需求移植一遍,也是创造性活动?答案应该是肯定的,值得思考。
格拉斯的研究结果表明:创造性活动占所有智力活动的16%,这表明在知识转化为创新的过程中,创造力扮演着至关重要的角色。
创造力
创造力是知识向价值转化过程中的关键变数。创造力就是创造新的东西,背离传统方法,对原有信息给出新的解答,发现人所未见的解决方案。(有时,它虽然就是巧妙的新瓶装旧酒,却不太容易看出来。)
有证据证明创造力主要依赖于人们的知识和不同观点的结合,因为它们能促使新的观点涌现出来。没有经验的新手常常觉得创造力像魔法一般不可思议。但实际上,创造力植根于知识的沃土以及日以继夜辛勤的工作与思考。
关于创造力的定义,一个普遍的共识是,创造力是指制造有原创性和有使用价值的事物。
有原创性
软件开发人员认为,在理想世界里,每段代码存在且只存在一次。在它们追寻乌托邦的过程中,它们千方百计杜绝重复的工作。
这里提到DRY原则,不过满足了DRY就能保证是有原创性吗?将历史代码移植后进行重构使得代码结构更好,这段代码是不是就已经有了原创性?
有使用价值
软件开发大规模地提高了全球的生产率水平,商业世界中很可能再也找不出第二个像这样的创造性活动。我曾听人说,软件的商业价值遥遥领先于其他任何创造性产品好几个数量级。
真的吗?这个让身处软件行业的我们信心爆棚啊。
看起来,创造力——制造有原创性且又有使用价值的事物——是软件开发的核心。华莱士和史密斯在1969年出版的《思维的艺术》中,提出了最著名的创造性过程模型。它们给出的五步过程不仅适用于软件开发,同样也适用于其他创造性活动。例如,你负责提升某个网站的性能。这五步的创造性过程可能看上去像下面这样。
1. 准备:定位问题的位置和规模,例如,(某些)查询在数据库服务器上的执行时间。
2. 酝酿:自觉或不自觉地思考性能问题,或在洗澡之时,或在玩牌只是,或是和朋友讨论最新版《蝙蝠侠》电影的时候(兴许这些事同时进行)。
3. 暗示:意识到解决方案应该在于更好的数据模型,而不是之前想到的——更高效的查询或更好的硬件。
4. 顿悟:突然洞察到通过反规范化某些能更快获取数据的数据库表可以实现一个解决方案。
5. 验证:尝试新的解决方案,反复验证和改进直到它达到预期效果。
这就是创造力。人们在需求收集、分析、设计、构造、测试和其他所有软件工程领域中,都在使用这个过程。
看来每天脑子里总想着一件事情,虽然不是处于正念的状态,对当下正在做的事情不能保持觉知,但其实是有创造力的表现?稻盛和夫在《干法》中说的就是这种状态吧,如果不是脑子中一直想着工作,踢翻多少桶松香也不管用啊。
动机
一个结论变得愈发明显:所有管理者首先关注的应该是激励员工以确保它们原因全心全意做事。而这一切,都需要动力。
动机是“目标导向行为的激活或激发。”因此,管理者的成败取决于激活或激励复杂系统中的人员。当然,多数人已经干劲冲天,关键是团队如何满足它们持续激励的需要,而不是将其精力耗尽。管理者的职责就是培育这样的体系,从而持续激励人员。
动机是社会复杂性的典范,非线性,并且常常不可预测。人们无法用单一的图表来定义动机或给动机建一个模型。
马斯洛的需求层次理论使动机看起来像是一个相当简单的层次化以及线性的现象。其实不然,动机比这复杂得多。
关于马斯洛的需求理论,传统的解释是说只有当下层的需求被满足了,才会考虑到上一层的需求。其实还有另外一种解释,是说当上层的需求被满足之后,对下层的需求会相应的减弱。
多样性
基因多样性是生态圈中最重要的原则之一。
复杂系统中的多样性(官方说法是异质性)很重要,因为它带来的诸多收益远远超过(系统内部变化的)付出。科学家发现,多样性可以稳定系统并使其能够抵御环境的变化。多样性有助于生物系统在严苛的环境中生存下来,它增加了灵活性并为创新提供着养分。
多样性也意味着,在复杂系统中,平均值没有用武之地。
迪马可和李斯特在《人件》中把多样性的反模式命名为统一的、可塑的人。他们所只带的是管理者设法将一致性强加给人员和团队的问题。有发现表明,多样性团队的表现常常胜过同质化团队。
我们的基因一直忙于此征彼战,并将我们变成心胸狭隘的人。社会学将其称为同质,即人以群分的趋势。
偏爱志同道合之人是管理者必须避免的陷阱。
人们能给出什么创造性解决方案,极大地受限于其背景。这意味着团队多样性能够显著增强其创造力。然而,这并不是说多样化程度越高就越具有创造性。要想汇聚各家之言形成大格局,就必须有足够的共同点加一些制衡。
《人件》中提到团队成员中有的人担当着催化剂的角色,可能观察不到他/她的明显产出,但是有催化剂参与的所有项目都取得了很大的成功。我们经常习惯于和跟自己差不多的人打交道,因为这样做让自己觉得最舒适,可能我已经掉进这个陷阱中了,要尽快爬出来,多和不同的人沟通。
个性
敏捷与精益为软件开发世界带来了很多奇妙的东西。有时看到那些列出的“敏捷价值”或“精益原则”,我会悲从中来。它们每次不尽相同,但都毫无意义。
看到这里心里一震,作者是什么意思,是说这些敏捷价值观或者精益原则错了吗?
“敏捷宣言”将“信任”作为其十二条原则之一。精益领袖波彭迪克夫妇在它们的七条“精益软件开发”原则中为“尊重”保留了一席之地。精益原则没有提到信任,敏捷原则也没提到尊重。有区别吗?我敢肯定,信任和尊重不是同义词。比如,我相信字典,但无需尊重(字典)。
遗憾的是,还有更多的困惑……贝克的五项“极限编程”价值观包括沟通、简单、反馈、勇气和尊重(注意,信任可不在其中!)。而施瓦伯的Scrum五大价值将其中三个换成“承诺、聚焦和开放”。
如果在这个主题上探究得深一些,你很快就发现信任、尊重、勇气、简单、承诺、聚焦和开放都是人类的美德。它们是我们赖以评价一个人好坏的个性特质。但是这样的特质还有很多,它们可以组成整整一个团,包括改进、坚毅、仁爱、谨慎、贞洁、整洁、合作、好奇、果断、鼓舞、卓越、公正、健壮、灵活、慷慨、诚实、荣誉、幽默、政治、忠诚、非暴力、耐心、豁达、恭敬、责任感、克制、自律、真挚、老练、同情心、坦率、智慧,如此等等。
作者说到这里,算是有点切题了,意思是说美德很多,每个人都有不同的特点,不能期望采用了敏捷和精益之后每个人都有相同的美德,这是和个性相关的。
研究人员发现,创造力是知识、动机和个性的产物。在任何项目团队中,只有适当处理人们的个性和动机,知识才能转化为创新。这就是美德之所以重要的主要原因之一。它们决定人的行为,并对其他人的动机产生巨大的影响。
要处理个性和动机的问题,选择信任或是尊重抑或有限的其他几个美德的方式太过简单。软件项目受益于所有团队成员共有的美德。但如同我们在上一小节中看到的,当团队在个性(和美德)上拥有健康的多样性时,创造力也会受益。这是多么美妙的事情啊!敏捷承认我们都是人。我们既不是圣人,也不是机器。我们不可能在各个方面都尽善尽美。
美德是个性特质。带着这一点,我们回到创造力和创新这一主题,即本章主旨。没有正确的“团队个性”,团队创造力将无从谈起。关注正确的美德如此重要的原因就在于此:美德塑造团队的个性,因而塑造其工作中的创造性。
保持每个人的个性肯定是需要的,不过尽信书则不如无书,西方的文化和东方的文化还是有比较大的差别,西方比较强调个性,害怕和别人一样;东方比较强调集体,害怕和别人不一样,所以团队开会时经常无人说话就比较容易理解了。作者其实也说过,他并不保证书中的内容都有效,但是应该努力尝试。可以大胆尝试一下,不过有些事情完全照搬可能会水土不服。
最后,我们得到了图4.3所示的系统。信息流入系统,知识、创造力、动机、多样性和个性促使人们工作,其成果就是我们所要的……创新。创新对于商业成功至关重要,而且可以看到其构成因素都与人相关。这就是为什么做业务就意味着和人打交道。
需要多多的走出去,和人打交道。
唯有人,才有资格受控
人是软件项目中唯一能够发起交互的元素,也是唯一能够将信息转化为创新的元素。但还有其他原因使人成为本章关注的焦点。这就是阿希比的必要多样性法则:
如果系统想要稳定,其控制机制的状态数必须大于或等于被控制系统的状态数。
简单地说,该法则表明:一个系统要控制另一个系统,必要前提是前者和后者一样复杂或比后者更复杂。
人是任何软件项目中最复杂的元素。他们也因此最有资格掌控自己的项目,因为唯有人(而不是过程)拥有足够的复杂性来处理它们所面对的各种状态。对于任何复杂系统来说,如果想要有所产出,就需要一定程度的控制。
过程、工具和设计都无法超越其主人。没有人,它们毫无用处。
这里说的意思是以复杂应对复杂,因为软件项目是复杂的,所以需要用人这个复杂的因子来应对软件项目,由人来掌控软件项目,而不是让过程来掌控。
由想法到实现
要想成为创新型组织,其管理者和团队成员必须积极培养知识、创造性、动机、多样性和个性。必须从组织层面开始关注可执行的行动,推动这些概念成形并推向市场。
组织层面的关注,我们已经在行动了啊,发起了创新大赛,从中看到了不少好的点子。会越来越好的。
小结
对于许多组织来说,创新关乎生死存亡,我们可以将其分解为五个关键的创新“齿轮”:知识工作者需要有知识才富有生产力;独创而有用的成果需要创造力;雇员动机的重要性在于推动它们真正做值得做的事情;人员的多样性会增强组织的健壮性和灵活性;个性是人接纳若干基本美德的结果。
创新的这五个齿轮各就其位才能激励知识工作者,才能让它们创造出创新的成果和服务。
从信息到创新,需要具备这五个齿轮,不过源头的信息部分作者没有提到,我觉得要补充下,需要有足够的输入信息才能催生创新。比如google的案例,老板对广告算法不满意的想法直接表达出来,其他的创意精英看见了就给出了重新设计的想法,催生了更好的设计方案。
我是有底线的
网友评论