透明思考


Transparent Thoughts


  1. 生于忧患,死于安乐

    最近在读这本《What Matters Now》。其中“Adaptivity Matters”这一段看得我如芒在背。直接把几段有感触的话抄过来。

    在一个动态的经济体中,有任何理由该关心某家公司是死是活吗?或者换个问题,组织的长寿对于股东、员工、顾客或是整个社会有任何实在的价值吗?如果你相信自由市场的力量,你的答案很可能是“不”。
    当一个组织死亡时,通常都是自杀。那些做过(和没有做)的决定使组织不再适应明天的世界。
    随着企业的成长,它的注意力会从创新转到改进,从探索新世界转到榨取现有价值。纪律、聚焦、对齐等词汇会走到舞台中央。年复一年的改善催生效率极高、极度优化的商业体系,资产、技能和流程变得更加专用。大刀阔斧的改变被渐进的小修小补取代。所有这些,从效率的角度来看都很好,但它们会扼杀适应性。
    视而不见,找理由,掩盖,终于不得不直面。面对组织出现的问题,管理者们总是重复这样的行为模式,就像面对家庭问题时一样。
    为了度过动荡时期,组织必须变得更加无组织无管理——更少的结构,更少的层级,更少的规矩。
    只有两件事可以让我们抛弃积习:一场灾难,残酷无情地暴露我们的短视;或是一个如此吸引人、如此跳脱现实的使命,迫使我们重新思考所有即成的实践。
    面对加速变化的世界,大企业所能做的最好的抉择就是:把大一统的业务拆分成更小、更独立的单元,给每个小单元有挑战性的成长目标,激进地将资源重新配置到快速成长的领域,关闭成长放缓的单元,迫使每个小单元想尽办法寻找新的差异点。
    说到底,究竟是什么让一家企业具有(或不具有)适应性?需要关注三种不同形式的灵活性:思想灵活性,策略灵活性,以及结构灵活性。


  2. 如何写(看起来牛逼的)IT文章

    最近在《程序员》杂志发表了一篇文章:敏捷零售,讲零售行业IT的一些新挑战和新动向。文章发出来,似乎反响还不错。其实写这种高观点的文章,我也刚开始尝试。把最近写几篇文章的心得分享出来,欢迎指正。

    ThoughtWorks的同事们写东西,技术上的硬东西总是很足的,但经常太聚焦于技术,忘了关注目标读者到底想看到什么。要写一篇看起来牛逼的文章,目标读者就要指向IT和业务的结合部:CIO/CTO什么的,这些人感兴趣的东西,最终会成为技术工作者关注的东西。那么这些位于结合部的读者,什么信息会触动他们呢?答案是:来自业务世界的压力与变化。当来自IT之外的压力迫使IT做出改变时,就是IT从业者最需要帮助时。

    你要问了:可是我对这些行业也不熟悉,我怎么知道他们的业务压力是什么呢?这就是关键点(也是让文章看起来牛逼的点)所在:当你从大趋势、宏观经济的角度来看行业,其实很多行业的IT没有那么多所谓的“行业特色”,因为软件就是软件,软件有它自己的规律。比如现在的大趋势是什么?我在过去一年中演讲和写作几个不同的主题,首先讲到的都是同一个大趋势:消费互联网。智能手机让消费者随时在线,于是所有企业都有了立即联接消费者的可能性,于是所有企业都需要直面消费者的数字渠道。拿着这个趋势扫一圈,通信、金融、旅游、房地产、制造业、教育、医疗……都在给他们各自的IT提同样的挑战,是不是?所以文章的第一部分你知道该怎么写了:讲宏观趋势,以及宏观趋势在行业里投射出的现象。

    抓到了宏观趋势,接下来就该分析宏观趋势对行业提出的要求——顾客想要的,就是CEO想给的,也就是CIO/CTO被逼着做的。现在这个世界越来越明显地朝着精益的方向去了,顾客想要的,发挥点想象力,无非都是:更便捷的服务、更低廉的价格、更愉悦的体验、更丰富的信息……所以文章的第二部分就可以讲讲,在宏观趋势的影响下,顾客想要IT给他们提供哪些以前没有的东西。(这个时候作为技术宅的你如果每天看的新闻还算有点品位的话,应该已经感到驾轻就熟了吧。)

    下一部分的子标题永远都可以叫做“IT正在成为……的阻力”,不管你谈论的是哪个行业。啊啊,这是技术宅最喜欢写的部分:挑毛病。IT的毛病实在太多了,对应着前面分析的“顾客想要的”,一条一条来挑,为什么现在的IT不能满足。比如说顾客想要更个性化的体验,现在的IT能力就没法知道顾客到底是什么样的脾气怎么给他个性化?诸如此类。这部分技术宅应该很有把握写出来让读者如芒在背吧。

    再然后就是解决方案了,“技术上的硬东西”到这个时候才粉墨登场。这个时候拿着解决方案,我们就不再是空口喊“持续交付就是好啊就是好啊就是好”,而是对着前面一部分列的毛病,一条条讲怎么解决这些挑战了。“你那IT团队都已经成为阻力了还不好好听我给你开药方”什么的,这才是专业技术人士应该有的范儿啊。

    简单总结:宏观趋势 = 顾客的诉求 = IT的短板 = 解决方案。再加一个虎头一个豹尾,一篇看起来牛逼的文章就搞定。

    P.S. 下面是我构思《敏捷零售》这篇文章时第一个版本的大纲,供各位参考。

    Retail Agility


  3. 成都Rails Girls活动后记

    刚过去的星期天,我们在ThoughtWorks成都办公室组织了一次Rails Girls的活动。5位来自高校和非IT企业、对编程充满热情的女生来到办公室,5位ThoughtWorks的程序员扮演教练角色,教她们用Rails开发一个真正的网站。

    说实话一天的时间非常短。2008年我们帮乡村教育促进会做东西,8个颇有经验的程序员,做了整整两天的codejam才做出一个比较完整的系统。这次来的女孩呢,主要是高校在读学生,还有一位来自物流行业的编程爱好者,只有一位曾经听说过Rails。但就是这样的一支团队、这样短的时间,同学们还是做出了一个网站的雏形,真的令人印象深刻。

    因为女孩们对Rails、MVC甚至Web都不太熟悉,我们先花了一点时间讲些基础:HTTP是怎么工作的,什么是REST,什么是MVC,等等。(感兴趣的同学可以直接去看这个文档)然后我们用scaffold生成了一个最最简单的blog应用。对于初学者来说,开始编程最大的障碍其实是恐惧。只要看到自己也能做出一个可以工作的东西,消除了神秘感和恐惧感,接下来就容易多了。

    然后由扮演BA的RR同学讲解需求。我们的目标是帮Tech Lady做一个体面的网站,可以发布活动信息神马的。真正的编程其实从下午才开始,三个迭代,每个迭代90分钟,然后我们就得到了这个网站

    是的,它并不华丽,它仍然简陋。但是别忘了,这是五个从没用过Rails的女孩,用一个小时学习,然后在教练的指导下,用半天时间做出来并且部署到互联网上的。看着这个网站,就让我忍不住想大喊一声:谁说女生不适合编程?!

    这就是我们组织Rails Girls(以及TechLady)想要说的话。我们这个行业已经树立了一种自我增强的偏见:人们说“女生不适合编程”,所以他们不愿招聘女性程序员;女生听说公司不喜欢招女性程序员,所以她们不学编程;这种偏见甚至已经蔓延到了教育体系,连高校的老师都会暗示“女生不适合编程”,更多的女生干脆就不选择IT相关的专业;于是偏见完成了自我增强的循环:你看,我们招聘不到优秀的女性程序员吧,都说了女生不适合编程吧?

    我们想说,这统统都是错的!没有任何证据表明女性的逻辑能力、计算能力在统计意义上显著低于男性,倒是有很多证据表明女性的人际交往、理解他人、细致耐心等——对于现代商业软件开发至关重要的——能力在统计意义上显著优于男性。女性本应该在IT世界扮演比现在重要得多的角色。女性角色的缺失,是现代企业的巨大损失,是必须被改变的。通过RailsGirls和Tech Lady这样的活动,我们想要向IT行业、教育体系乃至这个社会说:女性在科技领域同样优秀。只要喜欢,只要努力,就可以成为好程序员,和你的性别无关!

    P.S. 留给下一次RailsGirls的组织者:持续交付相关的基础设施,例如持续集成服务器、部署环境之类的,可以先做好准备。女孩们在这么短的时间里学Rails就相当不容易了,还要学这些基础设施的事情,有点过载。

    P.P.S. 从微博上看到了一些有趣的评论。虽然恰好是在11月11日,其实这5个一对一的教练(我和RR不算)有4个是已婚的。虽然我也会跟自己说“不回帖的人都是支持我的”,但还是忍不住想说一句:不仁者见不仁。如果你对女性的认知就只是“潜在的女朋友”,那活该你年年都有光棍节过。


  4. 其实你不孤单

    如果吸引你的是这个标题,那么也许你会失望,因为在我这个正面阳光积极向上的博客里肯定不会讲感情故事。这仍然是一篇商业读书会的作业,讲的是在枯燥刻板得毫无生气的商业世界里如何鼓励自己坚持做一点有意义的事、与众不同的事。

    (商业读书会第35期:Accelerate!|HBR

    这篇文章讲,层级结构是一种有效的“操作系统”,它使责任和权力有效地分发到需要的位置,使一个组织有效地协作完成大规模的工作。层级结构的问题在于,它不能应对快速变化,因为信息的上传和指令的下达需要较长的时间,并且层级中的管理者(尤其是中层管理者)倾向于风险规避从而抵抗变化(以及一切不在他KPI里面的新鲜事)。所以需要在层级之外引入跨团队的网络结构来促成变化。

    而对我而言层级结构最大的问题在于它让我(几乎)永远没办法跟我最想在一起工作的人在一起工作。那些跟我年龄相仿水平相当又在同一个战壕里挨过炮弹因此惺惺相惜的战友,层级结构有效地保证了他们一定会被放在跟我相似的位置上带领跟我平行的另一支团队,而我就只能跟那么一两个有着类似或更高seniority的人在一块小空间里相依为命。被越来越多的杂事把视野变得越来越窄,这才是让我最烦层级结构的原因。

    这篇文章里讲的网络结构是一个很好地解决这种中年困闷的办法。经常有机会对着一堆和你相似并且仍然有着更高追求的人互相吐槽,才会感到(1)我的想法并不奇怪/愚蠢/疯狂因为有这样一群人赞赏甚至有同样的想法;(2)这帮人想得比我还多干得比我还拼所以我要继续加油啊啊啊~(这就是所谓动力吧?)

    我有四个这样网络的例子:

    • 我八月在亚特兰大一起上课的一帮同学们。上这个课给我的最大收获就是很开心地看到一些平时总是光鲜亮丽的同事原来也有跟我类似的困扰,一下子就觉得心情舒畅了很多。(喂,心理阴暗吗?)
    • ThoughtWorks的3C(China ConsultantCouncil)。每每看见3C邮件列表里的吐槽都会感到很欢乐啊。(不过最近吐槽略少,组里略沉闷。)
    • 成都的一帮有工作经验的新TWer。从互相不认识的状态走过半年,现在开始慢慢有些跨团队的交流和碰撞了。
    • 上次OpenParty的时候“重庆大侠”提到他的一群本科毕业工作一年左右的同学,互相保持联系互相勉励互相监督互相支持,让大家都相信自己的理想仍然值得去追求。

    所以,不管是处在哪个阶段,知道有和自己相似的一群人,有着相似的苦恼和相似的追求,仍然在为理想奋斗,立刻就会感到自己并不孤单,就能让自己感到安慰和鼓励。即使还没有开始做什么实际的事,这样的网络也是弥足珍贵的。


  5. 是为团队

    到青城后山封闭开了两天会之后,取得的成果先放到一边不谈,给我最大的一个收获是:感到这个团队产生了难以名状的化学作用。前所未有地,这个团队让我感到,自己是在一个如此可靠如此值得珍惜的团队中工作。

    DSC_8011

    回顾的时候,我第一时间想到的就是YQ的变化。作为销售总监的YQ积极地参与到关于企业文化的讨论当中,而且完全掌握了八叉提出的相当复杂的框架,让我感到非常惊讶。虽然仍旧是非常目标驱动并且仍旧在晚上喝酒聊资本主义的末日时早早离席,YQ已经不再对一切与签单不直接相关的话题嗤之以鼻,变成耐心而且认真地倾听关于企业文化、关于软件卓越的辩论。

    还有财务总监AJ。从前的“bean counter”在会上提出“business partner”的概念,时时都在提财务对业务的支持。

    还有负责国内市场的SG。从前总是话到嘴边留一半,最多“很强烈地暗示”,这次讲话尖锐直接了很多。

    大概还有我自己。虽然我一直管Jessie叫姐姐,其实不管她在负责HR还是某项目还是北京,我知道她一直不喜欢我。这次Jessie说,胡凯米高八叉和熊这些人,“已经不讨厌了”。

    最近我经常在邮件里说“要信任队友”。这种信任,我以前曾经描述,“如果SG很着急地打个电话要我取消手上的项目,我就会毫不犹豫去做”。这种相信队友会掩护我所以随时可以把后背交给他们的感觉,在这个团队中现在时时都能感受到,真的很幸福。

    细想一下,这种信任其实很少个人情感(至少在我而言)。在我看来,队友信任的基础是三件事:

    1. 智力的认同。相信我说的话队友能听懂,相信队友如果做了判断一定是明智的判断,相信队友在处理任何难题的时候不会处理得比我差。
    2. 目标的一致。在长期的、涉及价值观的大问题上,期望达到同样的目标而没有根本性的分歧。例如三个支柱已经成为这个团队毫无争议的共同价值判断基础。
    3. 风格的熟悉。知道队友擅长什么、反感什么,并且知道队友对我有同样的了解。

    最后,也许是最重要的,时间和空间。就是需要有足够长的时间来认同、来熟悉、来达成一致。就是需要有足够大的空间来让大家在争吵之余互相赞赏而不是时时踩到互相的脚。我和Jessie、八叉(当然还有老师)已经是7年同事,AJ、YQ、胡凯和米高6年;现在我们分散在4个不同的城市,常常一个月见不到一次。偶尔见面,即使吵架也觉得脑力的碰撞令人愉悦。

    (我建议老师写篇文章讲讲这支团队,这是我为这篇文章贡献的点子。请各位队友一起监督老师。)


  6. 五十本书。八百万种死法。

    今年的第50本书终于还是在这个该死的长得看不到头的鬼假期里读完了。这个鬼假期里我读完了4本书,还不包括《科幻世界》译文版的一个关于狼人的长篇。一个关于狼人和爱情的玄幻故事居然会有大团圆的结局,这个世界是怎么了?

    八百万种死法》以某种特别的方式戳到了我的点,所以我给了它五个星。首先,虽然我不酗酒,但是那种要戒除某事时的焦虑我能感同身受。当你对抗着身体的习惯强迫自己“不要想某事”,你就有效地让这件某事充满整个大脑,然后你就会觉得这个世界是如此的拧巴如此的操蛋。

    另一个点是唤起了我的存在主义同感。简单地说,我的人生观建立在三个基本事实之上。第一,人是会死的。(所以不管你怎么洒脱怎么淡定,你都有一个终极约束。你玩不过热力学第二定律,熵会找上你。)第二,人是孤独的。(我们的大脑进行着如此快速且从不止息的计算,同时我们用每秒十几字节的速率压缩空气产生纵波来传递信息,而且我们永远无法感受另一个人的感受。)第三,人是无关紧要的。(不管你做了什么或者没有做什么,你上班还是不上班,你伤心还是不伤心,别人不在意,世界不在意。天地不仁,以万物为刍狗。)

    你居住在这个城市,你能提供的唯一意义就是成为八百万种死法中的一种,极度的渺小和无意义,而且很可能是一种很没创造力的死法。

    所以,不管你想什么做什么,你早晚会死,而且没有人真的关心你或者真的理解你到底想什么做什么,而且你到底想什么做什么其实根本就无所谓不影响任何事。这三个基本事实的推论:人是自由的。你可以做你想做的任何事,反正你什么都不会影响,也没有人真的在意。那还装模做样的干什么?做自己想做的事去吧,趁着还没死。

    (总算把鬼假期熬到了头。好吧有这么几天读书的时间也还不错。)


  7. 100天改变自己

    每次的Leadership DevelopmentProgramme都会要我做一个叫做“From-To”的练习,大概就是什么方面是现在做得还不够满意需要在未来做出改变的。然而我发现每次在分析的时候能找到要改进的方向,过了半年一年以后回来看,又发现取得的成绩不知道是不是真的跟当初的改进计划有关。

    瞬变》这本书说,人的改变就像骑大象:骑手看到了应该去往的方向,笨重懒惰的大象却总是在原地踏步。为了改变自己的行为,仅仅找到方向是不够的,你得让大象到那里去。

    这本书里还说,为了改变自己的行为,有一个基本框架:

    • 给骑象人提供方向。
    • 让大象动起来。
    • 形成具体的路径。

    我曾经用过的另一个——行之有效的——自我改善的方法是“每天一小时”,核心思想是每天花一个小时,一个月之内就能学会一样东西或者完成一件事情或者养成一个习惯。至少它对我是行之有效的:我已经学了口琴、非洲手鼓和游泳,读了图灵的论文,还养成了读商业和管理主题的习惯。但它的问题是周期太短,对于反馈较慢的、涉及其他人的行为改变,很难在一个月内看到效果,因为这不光是自己花时间的事情。

    所以这次我要尝试的是“100天的改变”。从自己的“登月梦想”*开始,找出自己要在100天之内朝着“登月”的方向取得怎样的进展——不是模糊的、大致的目标,而是清晰的、可以度量的目标。然后以两周为一个迭代周期,不断进行PDCA的循环。

    在这个方法中,“登月”和“100天目标”提供方向、两周的迭代形成具体路径,而“让大象动起来”的部分,则是靠旁人的监督来达成。为了获得旁人的监督,就要首先把自己的“100天的改变”公开出来。

    以下就是我的“100天的改变”

    • 登月梦想:FROM problem solver TO enabler
    • 时间:Date.today + 100.days = Fri, 04 Jan 2013
    • 目标:帮助5个人实现各自的“100天的改变”

    欢迎所有同事来帮助监督和完善这个框架。

    ×肯尼迪总统关于登月的演说当中,我最爱的一段:

    “We choose to go to the moon. We choose to go to the moon in thisdecade and do the other things, not because they are easy, but becausethey are hard, because that goal will serve to organize and measurethe best of our energies and skills, because that challenge is onethat we are willing to accept, one we are unwilling to postpone, andone which we intend to win, and the others, too.”


  8. Tddium:有史以来最棒的Rails持续集成

    作为CruiseControl.rb的主要开发者之一,说这话很不容易,但我必须承认,自从昨天晚上在开放课堂的code jam上用了一把,我就已经深深爱上它了。“科技都这么发达了还自己搭什么CI啊⋯⋯”我昨天就是这样感叹的。

    (打个广告:开放课堂ThoughtWorks教育大发现一起开发的在线学习分享平台。欢迎建议欢迎贡献~)

    说回正题⋯⋯如果你(像我一样)恰好也有那么几个Rails做的网站放在GitHub上,那么毫无疑问你应该试试Tddium。简单的几步配置,持续集成就毫无问题地运行起来了。最令人愉快的是,绝大多数操作都有命令行可用,连“查看构建结果”都可以说“tddium web”⋯⋯

    而且支持多种数据库。而且支持Selenium。更多的东西我还在继续探索中。最便宜的一个plan是$15每月。

    公益项目往往会使用更多新鲜技术,这不是偶然的。新技术(尤其是开源世界的新技术)的首要目标就是提高效率降低成本,而资源捉襟见肘的公益项目最需要提高效率降低成本——这两句话对于大企业来说经常只是一个漂亮的口号,而对于非营利组织来说就是生死存亡的差别。所以,Rubyon Rails、PhoneGap、OpenStack⋯⋯各种新鲜技术在公益项目中得到更大胆的应用。

    对技术有热情的话,就别把自己局限在每天8小时给大公司打工的框框里。参与公益项目,就会有像“遇到Tddium”这样的惊喜出现。


  9. 人力资源这件事:不确定性下的判断

    认知偏见(Cognitive Bias)是近年来很热门的一个主题,这个主题与其他学科的交叉催生了很多本畅销书,例如《怪诞行为学》、《别做正常的傻瓜》、《程序员的思维修炼》等等。其实如果你读了丹尼尔-卡尼曼最初的论文《不确定性下的判断:启发法和偏见》,你就会发现,这些畅销书只能算这篇短文的一个注脚。

    做了若干的招聘和人员培养,我们也可以给卡尼曼的论文加上再一个注脚。我们可以看看,人力资源工作中存在哪些常见的认知偏见。下面列出几个我想到的例子,也许还有更多。

    因例子的可提取性导致偏见

    你是否有过这样的面试经历:一个候选人,尽管笔试成绩并不理想,但在面试中表现活跃有热情。在对比几个候选人时,几个面试官谈论得更多的,是这个候选人“有潜力”、“值得培养”。

    你很可能正在被偏见引导:面试官们谈论的,是脑子里最容易立即提取到的例子,而不是最能代表人员能力的因素。回顾我们公司的招聘效果,我们发现笔试成绩低于某一水平的候选人被录用之后,淘汰比例较高、表现出优异绩效的比例较低——显然他们每一个都曾经在面试中表现出亮点。

    我不是在建议拒绝录用笔试成绩偏低的候选人甚至干脆取消面试,只是当我们被某个候选人的活跃表现吸引时,我们要想到:最容易提取的例子未必是最具相关性的。

    对可预测性不敏感

    当我们谈论一个候选人的潜力,我们有多少时候是真的在谈论“他在未来的可能性”?如果对“当前的能力”和“未来的能力”分别做个排名,两个列表之间会有多大的区别?

    我们的大脑不善于预测未来。我们常常只是把“现在的证据”误认为是“对未来的预测”。我们对候选人未来的能力做了很多假设,但没有认真去验证这些假设。

    效度错觉

    尽管我们真的不善于预测未来,但我们却很善于对自己的预测能力感到自信。我们的大脑会挑选候选人与心目中“理想同事”的相似特征,以此判断这个候选人会不会成为“下一个明星”。尽管没有任何历史数据现实这种预测的有效性(甚至一致性,因为每个人脑中的“理想同事”很可能不一样),但我们下一次仍然会这样去判断,并且感到这种判断方式有效。

    误解回归性

    对于新员工,你是否觉得表扬不如批评有用?每次你表扬他们一个出色的表现,他们回头就给你惹点麻烦出来;而每次你批评一个糟糕的表现,他们就会做出改进。所以你越来越喜欢批评人,在新人眼里的形象也变得越来越严厉。

    你的形象倒是其次,关键在于大部分这些变化跟你的表扬或是批评根本没关系——那些只是正常的回归均值效应:高于平均水平的表现和低于平均水平的表现都是异常情况,很快就会回归到平均水平。所以,出色的表现很可能跟随着一个没那么出色的表现,糟糕的表现也很可能跟随着一个没那么糟糕的表现。


  10. 所谓领导这件事

    整理这一周学到的东西:领导者做什么,如何成为领导者,等等。

    从管理者到领导者的转变不是自然而然的。管理者专精、分析、贡献、解决问题,领导者全面、整合、架构、定义问题。管理处理的是复杂性,领导处理的是变化。管理讲的是计划与预算,领导讲的是设置方向。管理是组织与分派,领导是将人与战略对齐。管理提供控制,领导提供动力。

    DSC_7325

    现代领导者都会遇到个人生活的挑战。与其讲“平衡”,不如讲“生活债”,有助于更清晰地认识工作与生活之间的关系。

    领导者的四个行为陷阱:没有明确设定期望;容许下属无视整体目标;容许内部专家和外部顾问没有结果度量;容许下属在改进之前无尽的准备。——所以领导者需要重视结果。

    领导者有一些性格属性:稳重,外向,开放,可靠,深思熟虑。然而每种属性又需要平衡有度。过犹不及。

    人们之所以追随领导者,不仅因为视野、能量、权力和战略,还因为他们也是普通人,他们也有弱点。领导者需要敏感,在硬数据之外感受到团队的氛围。树立激动人心的愿景之后,给以恰到好处的资源支持,不要太多。而且领导者需要自己的与众不同之处。对领导者的要求,是性格、技能、价值观三者的综合。

    最后,正如Trevor说的,“It’s OK to be a leader.”