也许,软件系统的主要问题不在于技术,而在于社会性因素。
更新历史
- 2017.02.18: 完成初稿
在大多数项目中,社会性的复杂度远比技术上的挑战要难处理得多。而且,不可避免地,我们还要面临一个更加严峻的问题:即便我们意识到社会性因素比技术上的因素重要得多,也从来没有用这样的思维观念管理过团队。
管理人力资源
作为管理者,我们多数人很容易陷入一种典型的失败情境:习惯把人当作固定的模块来管理。
很少有公司会考察新晋管理者在工作中是否展示出相应的能力与良好的心态来胜任管理工作。他们缺乏管理经验,也没有具体的实践。
倘若你发现自己更加关注技术问题而非社会问题,那你就像是一名杂耍演员,在一条昏黑的街道丢失了钥匙,却逡巡至临近的街道去寻找,并美其名曰:『那里的灯光更明亮』。
开发的本质完全迥异于生产。然而,开发管理者的思想却通常被生产环境衍生而来的管理哲学所左右。
错误在所难免
- 对大多数脑力劳动者来说,工作偶尔出错再自然不过,也很健康,没什么危害。但总有教条主义者会把工作中的错误和罪恶联系起来。我们需要采取措施去改变这种态度。
- 营造一个不容许任何失误的氛围会让大家持有戒心。他们不愿去尝试那些有可能变坏的事情。
- 在不允许犯错的规定下,或许平均的技术水平会稳步提高,但团队的社会氛围却会遭受可悲的伤害。
- 相反的做法是鼓励大家犯错(Break things and Move fast)
管理:傻瓜定义
即使向人们施压可以增加短期产出,长远来看还是无效的。最可悲的是,这种管理手段几乎永远都会让生产过剩。你根本不需要使用严格的度量来促使大家工作——大部分人是热爱他们的工作的。
人力商店
正是因为开发经理害怕关键人物会离去,于是强迫自己相信没有所谓的关键人物。
对于盲目尊崇生产世界风格的管理者来说,员工的独特个性是一种持续的困扰。人性化的管理者却能认识到正式这种独特性使得项目团队产生了化学反应,是团队充满活力与高效的源泉。这是需要培养的。
稳定的项目濒临死亡
稳定的生产思维对项目工作尤为有害。我们很容易忘记项目生命周期的最终目标就是要结束自己。一个项目唯一的稳定期就是将死之时。除非你正在一个被取消或将要取消的项目中,所有的项目管理关注点都应该投入到开发的动态调整上。然而在一个新项目中,我们衡量员工的价值却使用了稳定状态下的特征:他们写了多少代码或者产出了多少文档。我们对于每个员工在整个开发中投入的切合度关注甚少。
西班牙理论
历史学家很早之前就抽象出了不同的价值理论:西班牙理论认为世界上的价值总量是定额的,因而财富积累的道路就是学会从大地或者别人的背上去攫取。另一种英国理论则认为,价值是通过智慧和科技创造出来的。
生产效率本应该是让单位时间内的工作产生更高的价值,然而它却常被看作是如何在单位付酬的情况下攫取更多价值。奉行西班牙理论的管理者梦想通过不付薪酬的加班来获得生产效率的提高。
加班就像冲刺,若一开始就冲刺,那纯粹就是浪费时间。让人过度冲刺,只能让大家失去对管理者的尊重。
工作狂
工作狂会做很多不记薪酬的加班。他们的工作时间长得夸张,虽然效率可能在下降。给他们足够的压力,他们会工作到完全丢掉自己的个人生活。为了不那么重要的价值(工作),而牺牲了生命中更重要的价值(家人、爱情、家庭、青春),这种认识让人备受打击。
工作效率:赢得战斗,输掉战争
在获得高生产效率时,一定要考虑可能的人员流失,不然所谓的『提高』可能会因重要人员的流失而被抵消。
压力不会让人工作得更好——只是工作得更快。为了工作快点,他们不得不牺牲产品质量以及自身的工作体验。
飞离卓越的航班
管理人员设定的不可达到的期限威胁着产品的质量,但他们不会这样去思考这一问题——他们自认为给了团队一个有趣的挑战,可以激发他们去追求卓越。
质量,远远不只是最终用户的要求,而是达到高产能的一种方法。价格和质量的对立在日本并不存在;相反,高质量带来成本的降低却是被广泛接受的想法。只有愿为质量倾其所有的人,质量才是免费的。
帕金森定律
帕金森定律指的是工作会自动膨胀,占满一个人可以用的所有时间。但帕金森定律基本不可能运用到你的工作中。只要大家热爱工作,就不可能让一项工作变得遥遥无期,这会推迟获得他们向往的满足感。在不需要降低标准、牺牲质量的时候,他们和你一样,期望工作能快点完成。
软件管理的七个假象
- 有一个你不知道的新窍门可以让产能飙升。
- 没有一个方法能够真正让产能飙升。我们要做的就是让大家能够健康发展:人们愿意全身心参与、去学习、去提高
- 其他管理者正在收获 100%, 200% 乃至更多的增长!
- 技术日新月异,你已经过时啦!
- 软件业的产能每年也就增长 3%~5%
- 改变程序语言会给你带来巨大提升
- 因为库存的缘故,你需要马上让产能翻倍
- 你自动化了其他所有东西;难道不是要你自动化掉你的软件开发人员吗?
- 你的员工在巨大的压力下工作得更好
- 他们根本不会
这就是管理
管理者的作用不是让大家去工作,而是创造环境,让大家可以顺利开展工作。
办公环境
在衡量个体能力差异时都适用的三条经验法则是:
- 能力最强的人与最差的人的产出比大概是 10:1
- 能力最强的人比中间的人的产出高 2.5 倍左右
- 能力靠前一半的人与后一半的产出比大于 2:1
生产效率的非相关因素
- 语言:唯一例外的是汇编语言
- 经验年限:拥有十年编程经验的人并没有超过只有两年经验的人。经验和产出效率完全没有关系,除了在一种语言下少于 6 个月经验的人要差于其他人意外
- 缺陷个数:零缺陷的人通过更精准的工作避免了缺陷对产出效率的惩罚
- 薪酬:薪酬和产出效率的关系很弱
更加安静、私密、不受打扰的工作环境更能提高效率。
在信息处理环境中,采用开放式办公环境设计的根本考虑因素在于:系统的电力分配能力、计算机支持能力及制造商和分销商服务。完全不考虑一个活生生的人要在这样的环境中工作。
当环境中个别的局部需求与总体需求达到完美平衡时,自然或者有机的控制就开始显现。在有机的环境里,每一处都是独特的,同时又都是协作的,没有一个组成部分会显得格格不入,而是形成一个统一的整体。
空间过于封闭或开放,人们都不能有效工作。一个好的工作空间需要找到二者的平衡。
正确的人
现代管理学仍然没有足够重视雇佣和留用正确的人。
管理热力学第二定律:组织力的熵总是增加的。
如果不靠职位的授权来领导,需要做的事情是:
- 主动承担任务
- 明显地胜任工作
- 为任务准备提前做足必要的功课
- 让每个人创造最大的价值
- 实施过程中保持幽默和明显的善意
即使最好的创新也需要一点离经叛道才能产生影响:离经叛道的领导力。创新者自己可以不是一个伟大的领导者,但必须有人是。在这个创新过程中,这种离经叛道的领导力带来的是时间——让一个关键人物不去做产生利润的工作,而去尝试处于萌芽中的想法——同时,为了能够让创新发挥效力,即使再难,也需要对组织进行重组。
大部分技能测试都针对左脑。这是因为一名新员工的任务大部分都依赖左脑。但在接下来的职业生涯中,他们做的事情会很大程度依靠右脑,比如说管理就需要整体思考、启发性判断和基于经验的直觉判断。所以,技能测试可能造成你招进来的人,短期表现良好却无法获得长期成功。
团队磨合需要时间,而在磨合期内,团队的组成不能轻易改变。
离职的隐形成本
员工离职的代价是总人力成本的 20%,但这还只是显式成本。隐性成本其实更高。在离职率高的公司里,员工大多很短视,因为他们知道自己不会在这个地方待很长时间。
最优秀的组织会有意识地去追求成为最佳。这样的共同目标提供了一致的方向、合作的满足感和强大的凝聚力。
高效团队养成
好的工作体验总是伴随着一定的挑战性。在那些能够让大家尽情发挥到自己极限的工作团队里,团队互动就是全部工作。这是大家坚守在一起的原因,所有人都全身心投入工作,克服各种各样的困难。
团队存在的目标不是达成目标,而是让目标一致。
团队自毁『技巧』清单:
- 防御式管理:因为想保证成功而采取的任何防御性措施都只会让事情变得更糟糕,即使短期能够给你一些宽慰,长期看一定没有帮助,相反会成为团队凝聚的毒药
- 官僚主义:无聊的文案写手不可能视自己为追求成功的奋斗者
- 物理分隔:团队的日常交流没有了,也就不可能形成团队文化
- 时间碎片:没有人可以同时是多个有凝聚力团队的一员。紧密协作的有凝聚力团队是排他的
- 牺牲产品质量:团队建立起来的自我认知在决定牺牲质量时就荡然无存了
- 伪造截止日期:对于员工来说唯一的作用就是让他们知道老板是一个帕金森式的机器人,就别想有什么有凝聚力的团队了
- 团伙控制:团队活动的愉悦以及团队互动产生的动力是我们建立互信的基础,但高层往往对此非常无知
内部竞争会直接造成辅导工作异常艰难,甚至根本就不可能。由于辅导是健康团队工作的核心,管理者做的任何增强团队内部竞争的事情都是在进行团队自毁。比如:
- 年度薪酬评审
- 目标管理法
- 表彰个别员工的突出成就
- 跟绩效相关的证书、奖励和奖金
- 任何形式的绩效考核
下面是一个简化了的健康组织构成策略的化学元素清单:
- 建立对质量的执着追求:评价一件不完美的产品『足够好』,就等于敲响了团队融合的丧钟。对质量的执着追求是催生团队形成的最强催化剂。它之所以让团队凝聚起来,是因为它拉远了团队每个人与其余世界的距离。不得不说,其余的世界并不会为质量鸣笛
- 提供诸多满意的闭环:人类自己就是需要不停确认他是否正沿着正确的方向前进。人类团队同样如此。在哲学上,这种确认称之为闭环(Closure)。闭环就是整体的每一部分需要一致满足的『过程』。每个新版本都是一次闭环的机会。团队不停地预热,直到那个时刻到来,团队临近最后凝聚,在成功中达到顶峰
- 建立精英意识:大家都需要一种独特感来体察内心的宁静,从而在宁静之中发酵出团队的凝聚力
- 允许和鼓励差异性:普通的管理者没有安全感,以至于走不出管理的陷阱。一流的管理者知道人们不能被任何合理方法控制。成功管理的核心是让大家齐心协力,然后助推大家到一个连管理者自己都无法让他们停止的点
- 维护和保护成功团队:如果团队已经凝聚,就不要拆散团队
- 提供战略而不是战术方向:在最棒的团队中,不同的个体时不时会展现出领导力,在自己擅长的专业领域带领大家
没有人是永远的领导者,因为这样的领导者不会是团队中平等的一分子,团队里的互动也会由此瓦解。团队的结构是一个网络,而非分层结构。
沃土
项目与团队置身于更大的组织结构提供的环境中。我们称此环境为企业文化。最坏情况下,你需要认识什么是上层强加于你的;最好的情况下,你可能会在某一天能够身居其位,并对其进行改造,以利于下面的团队开展工作。
确定性与非确定性系统
当你对之前全人工的系统进行自动化时,系统会变成确定性的。新系统只能响应制造者设计的那些显式的命令。于是,自我治愈的能力就丧失了。
不要逃避风险
我们需要澄清项目风险是一件好事情,这说明项目是有价值的。真正有价值却几乎没有风向的项目早就绝迹了。如今,重要的项目都需要冒点风险。
神经硬化
随着一个组织的老化,会议时间逐渐增多,到组织弥留阶段,就只剩下开会了。
终极的管理罪恶是浪费大家的时间。
有些组织具备学习能力,有些却未必。有些组织能够学习,却不能学以致用。要理解组织型学习,首先需要知道的是,它并不能和经验的单纯积累画等号。
学习受限于宇哥组织留住员工的能力。如果人员离职率过高,学习便无法维持下去,或者根本无法进行。在这样的组织里,试图改变技能或者引入重新设计的过程都是徒劳之举,甚至有可能使员工离职率更高。
组织型学习的关键问题不在于如何开展学习,而在于在何处开展。成功的学习型组织通常都拥有一支非常强大的中间管理层。为了形成一个重要的学习中心,中层管理者需要相互交流,并在一起高效融洽地工作。这是一个极为罕见的现象。
能够成功构建社区的组织更能留住人。当员工有了足够的社区意识时,他们就不想离开了。你对人力资本的投资由此也得到了回报,进而愿意投资更多,再进而你的员工将会表现得更好,也更喜欢你的公司。这种正面的增强会形成一种良性循环。
快乐地工作
所谓工作,就是要使员工的效率最大化,而这已经足以剥夺他们的快乐了。
最好的管理者就在于有能力找出少数几个关键的苗子,这些苗子既成熟稳重,又视野开阔。找到后,就放手让他们去干。
一个人若是单独行动,那就没办法产生有意义的变化,而且,你也没有必要这样单独行动。当事情的发展超出常态时,你就能轻而易举地让人们意识到这一点。于是,你不再是一个人。所有人都和你在一起。