在超市结帐的时候,收银员都会给我们打一张小票。有时候同样的商品我们会买两三件,打印在小票上面,有时候只有1行记录,数量是3(“听装百事可乐 x3”),但也有时候有3行记录,数量都是1(“听装百事可乐 x1” 重复3行)。这个现象很有意思,為什麼不统一呢?而且据我观察,后一种情况明显更多。分明是前一种做法更节省纸张,为什么更少采用呢?
我曾经设想,是因为收银的机器性能太差,内存很少,只能维护简单的数组结构,不能维护集合,也不能每添加一样商品就去重新扫描一次数组做修改。但是继续观察就会发现,这个说法站不住脚——现代的收银机性能足够很好了,甚至手机的性能都在突飞猛进。那么这么做的原因到底在哪里呢?就在我百思不得其解之际,一个偶然的机会解开了我的疑惑。
Continue reading 软件开发的硬约束
元旦和朋友讨论,说起我自己的观点,小米确实很懂互联网,成功地找到了互联网时代的成长办法,而且成功地包装了一条“互联网思维”的路,把大家引入歧途——反正,很多人由此知道了“互联网思维”,也错误地理解了“互联网思维”。
那么真正的,或者说我认定的“互联网思维”是什么?在我看来,精髓就在“互联”二字上。把原来不相干或者看来不相干的事物联系起来,得到不一样的效果。这到底是怎么回事?用文雅的话说,是“失之东隅,收之桑榆”;用通俗的话说,是“堤内损失堤外补”。
Continue reading 失之东隅,收之桑榆
很多初上管理岗位的人都听过这样一条教诲:“公开表扬,私下批评”。而且,很多有管理经验的人也是这么做的。理由很简单:公开表扬能给人鼓励,催人继续,私下批评给人留了面子,减少副作用。但是,它真的是一条应当时刻遵守的行为规则吗?
不妨看两个例子:某人表现不好,主管与他谈话之后有了一点改进的苗头,做事能“及格”了,看来应该鼓励,所以主管公开表扬,可是其它人明明做了更大贡献,却没有得到表扬;某人搞砸了工作,造成整个团队加班为他补救,然而主管只是私下批评,所以有人觉得不公平,这是主管在有意袒护。
很明显,这两个例子里的“公开表扬,私下批评”并不是合适的做法,反而造成了新的矛盾。那么,问题究竟出在哪里呢?表扬和批评,到底应该在什么情况下公开进行,什么情况下私下进行呢?
Continue reading 公开表扬,私下批评?
最近几年不再混战在纯互联网领域,接触了很多与实体有关,尤其是外贸电商行业的生意。见识开阔了不少,也经历了很多,同时也有困惑和思考。在这里我尝试谈谈自己现在想明白的几个问题,有些只与具体的生意有关,有些则与行业有关,虽然比较杂乱,但希望对大家有参考作用。如果大家有意见,也欢迎讨论。
Continue reading 近来想明白的几个问题
众所周知,日本车在全世界都是很受欢迎的。究其开端,很多人会想到20世纪70年代的石油危机,认为是油价高涨,为尺寸小、油耗低的日本车打开了市场。这固然可以解释一部分原因,但另一方面,为何日本车能够持续受到欢迎,为何日本车能摆脱“价廉质差”的形象,既有优惠的价格又有优异的品质(缺陷率常年很低)。这一切,都与日本汽车厂商所采用的“精益生产”,尤其是丰田开创的“丰田生产方式”(Toyota Product System, TPS)有很大的关联。最近因为与供应链打交道很多,我花了些时间学习这种生产方式。有趣的是,我发现,它的价值不只限于汽车行业,甚至不只限于制造业,对其它许多行业(包括软件行业)。所以下面我讲讲丰田生产方式给我的启示。
Continue reading 丰田生产方式的启发
“扁平化”大有泛滥之势,似乎一说起企业(公司)的结构,就必提扁平化。按照流行的说法,“扁平化”的好处很多:平等、轻巧、简捷、高效。由其反衬,传统的公司管理结构一无是处,只剩下笨重、麻烦、低效。但是,企业管理这门学问分明诞生在“扁平化”之前许多年,在“扁平化”还没流行之时,企业管理已经取得过相当的成就。那么,“扁平化”到底是何方神器,何以能够横扫四方呢?
依我看,要了解这个问题,首先要了解企业为何需要管理。要了解这个问题,又必须了解企业为何会存在。好在,经济学家科斯曾经有两篇著名的论文《企业的性质》和《社会成本问题》,提供了非常精妙的解答。
Continue reading 对盲目扁平化说No
“社交网络”或者“社会化”是当下非常热门的概念,由此也诞生了许多“社会化”的应用,比如“社会化问答”、“社会化阅读”、“社会化求职”,看起来既光鲜又高级。但是,“社会化”的应用真的能造福所有参与者吗?
互联网促进了信息的自由流动,社交网络对人之间的互动信息进行组织和沉淀。在互联网上我们可以和千里之外的朋友及时沟通,也不在受到作息时间和时区的限制。社交网络保存了这些沟通和互动,让它们可以被检索,被传播,被分享。这的确让无数人欢欣鼓舞,也让无数人沉醉其中。但如果认为社交网络的价值仅仅如此,未免太过简单。
Continue reading 我眼里的社交网络
不知从什么时侯起,“互联网思维”成了热门的名词,不管什么东西,一旦沾上“互联网思维”,就瞬间变得金光闪闪。无数人手握“互联网思维”,雄心勃勃地要改造各种行业,大有大跃进时“向三山五岳要粮”的气慨。然而仔细想想就不难发现,“互联网思维”的最初鼓吹者,只是在事后按照“互联网思维”的路子去解释自己的成功经历,正如同我党用《东方红》来解释从整部革命史一样。其它鼓吹乃至信奉互联网思维的人,我还真没听说有几个在“互联网思维”的指引下取得了成功。所谓“互联网思维”,在我眼里更象一出傲慢的闹剧。
我曾经说过,互联网最大的价值是加速了信息的有效流动,因此大大降低了许多活动的成本,省略很多中间环节(当然,这些中间环节主要作用是传递信息)。一旦深入到现实世界,互联网还是要受到现实世界的制约,要尊重传统积累的智慧。那种以为有了“互联网思维”就可以横扫一切的傲慢,是断然要不得的。
Continue reading 互联网思维,傲慢的闹剧
一晃六年,《技术领导之路》要再版重印了。回想刚刚开始翻译这本书时,我还忙碌在程序开发的一线,对领导技术团队并没有太多经验;如今,也能差强人意地带领技术团队支撑年销售额数亿的业务。一路走来跌跌撞撞,所幸没有中途倒下。思考其中的原因,除去运气,除去身边同事朋友的支持,翻译《技术领导之路》也是不容忽视的因素。
很多人都知道,“职场童年”非常重要,一个人最初工作的几年,在什么样的环境里,得到过什么样的锻炼,很可能决定了他整个职业生涯的走向。同样的道理,“领导力童年”也很重要,一个人对领导力的最初接触和认知,也会深深影响他对于“领导”和“领导力”的观点,甚至领导作风。所以,在我还忙于一线开发的时候,通过翻译《技术领导之路》,“生吞活剥”了一整套关于领导力的学说,基本“塑造”了我关于领导力的认知,深深影响了我作为技术领导的管理风格和价值取向,因此也对很多问题有了自己的判断——前段时间和另一位掌管公司技术的朋友聊天,说起那种“执行力超至上”的领导风格,我们都认为,尽管或许能出结果,但不是好的领导风格。
Continue reading 我所理解的技术领导力
算起来,我从互联网开发投身企业开发已经有四年多时间了。刚刚进入企业开发领域时心里很是忐忑,虽然也读过《企业应用架构模式》之类的书,到底没有做过正经的“企业开发”,好在业务不算太复杂,所以更多是借着之前互联网开发的老底子解决问题。而且,这么做确实能解决问题,只是心里还不太放心,总觉得这不是名正言顺的“企业开发”,以后会有问题。
谈到传统的企业开发,大家通常想到的是“为明确目标(通常由甲方设定)而开发的紧耦合固定系统”,主要元素包括重型框架、长发布周期、严格的限制、海量的文档、对商用软件的倚重等等。谈到互联网开发,大家通常想到的是“为不明确或多变目标而开发的松散多变系统”,主要元素包括轻量类库、迅速迭代、不断试错、简单交流、开源/免费软件的广泛使用。传统上,企业开发和互联网开发俨然两派,你觉得我是杂乱无章的恣意胡闹,我觉得你是傻大笨粗的因循守旧,好在双方“井水不犯河水”,也相安无事。
企业开发和互联网开发的这种区别,让我在以互联网开发的方式应对企业开发任务时,始终有挥之不去的担忧。然而工作得越久,事实却不断证明这种担忧是多余的,或者至少不必高估“企业开发”的正统性。而且,有越来越多的迹象让我相信,企业开发的互联网转向,即在企业开发中越来越多地采用互联网开发的方法,是未来的趋势。按照我的总结,原因大致有以下几点。
Continue reading 企业开发的互联网转型