和Yusiew吃着牛排的时候,又扯出了我的那套歪理斜说。

现代西方资本主义或者说盎格鲁-撒克逊体系的商业传统本质上是基于航海贸易的。航海贸易的特征是,我和你做一次生意,然后这辈子也不会再见到你。因此交易的双方倾向于把合同条款订立得绝对明晰并且严格遵循合同。而中国的商业传统是基于农业贸易的,农业社会的重土安迁使得百年老店和几十年老主顾屡见不鲜。所以中国人做生意把合同看得很淡,更看重良好的关系和长久的共赢。

《十亿消费者》 说中国人没有双赢的传统,显然这不是真的,他只是在一个特殊的时间看到对一切都丧失信任的中国社会。另外某人说读《十亿消费者》读得郁闷,我恰恰相反,读得挺愉快,因为中国是并且仍然是不同的。“不同”与好坏无关,何况西方资本主义的席卷是从马歇尔开始的,何况里根-撒切尔体系正在被置疑──每次走在西安的唐城墙遗址或者北京的元大都遗址,都会冒出这样的想法。

就好像《十亿消费者》说到中国商人对合同的不重视。我赞同他的观察但认为这是中国商业传统的优点而非缺点。一个看重良好关系与长久共赢的商业环境不会太计较一时一事的得失。多付出的会有收获,多攫取的会有报应。这是一个高效率低浪费的体系,但还没有进入这个生态圈的外来者必须经受考验才能享受它的好处。与此同时地域局限性是建立关系与声誉的先决条件,所以80年代的外来者有充分的理由抱怨中国的商业传统。

但,麦克卢汉说,地球村。更要紧的是,这一次我们逃无可逃。我们只能在这个村里做生意。口碑会被留下,一辈子。地球村让人们回归农业社会,也让商业传统一道回归。北美的大师们说,客户合作重于合同谈判。单就这一条而言,中国人比西方人更能理解其中的深意。

(纯吐槽,目的就是为了写一些字。然而,仍然觉得,正襟危坐的文字写得很累。再拜麦克卢汉。)

David Bock在给Neal Ford的 The Productive Programmer 的序里提到这个词:

We spent some time discussing that hyperproductivity and how to bottle it.

另一处提到这个词的是 Paul Virilio的blog

A worker in the textile industry in western France says, “I make the same movement six hundred times an hour. With the old machines, you could have a bit of a break. Now, it’s the computer that controls the assembly line and sets the pace.”

With this level of hyperproductivity, in which a person can no longer keep up with the racing of his digital command tools, we are seeing a new epidemic, following the outbreak of stress. Repetitive Strain Injury, or RSI ─ acute inflammation of the bones and joints ─ is a new professional disease. It can lead to long-term paralysis of the employee’s hands.

但这不是──不仅仅是──身体和压力的问题。这是劳动的异化。这是现代化对人性的侵蚀。

再看一遍 Skip 2 My Lou老视频 。再看一场 Rockets 的比赛。

正确的方式,高效的方式,全无浪费的方式,未必等价于有想象力的方式,美的方式,自己喜爱的方式。这才是资本主义的病根所在。

敏捷的华为

June 21st, 2008

来自华为公司、负责软件质量和流程改进工作的周耀辉在第三届 敏捷中国 技术大会上介绍了 华为实践敏捷的经验

华为是偏重于流程为主的公司,多年之后市场环境不以公司为导向,在市场环境恶劣时候,华为公司发觉以流程为中心的环境很难应对这些要求,这是引入敏捷的原因。从2004年开始研究,在2007年步伐加快了,2007年下半年全面展开研究,今年年初开始全面进入试点阶段。

我曾经多次跟华为内外的朋友说到,华为的大问题有两点。第一是信息闭塞,公司内大部分员工不知道外面的世界(尤其是技术世界)在发生什么因此不知道很多已经被证明的最佳实践,公司外大部分人不知道华为里面是什么样子而导致华为被妖魔化。第二是基层员工极度缺乏决策权,大批只有执行力而没有微观决策权的员工使得持续改进难以成为整个组织的主旋律。

敏捷是改变这两个大问题的契机吗?看起来很像。一些好的现象已经开始出现。例如今天的演讲。一个华为的朋友说,在这种技术社区分享自己的经验,对于华为来说是第一次。

在保持执行力的基础上,给员工获取更多相关信息的渠道,使之具备足够的能力和空间进行微观决策,在全组织范围展开持续改进,并更加开放地与整个社区分享经验与收获。这样的一个华为,会是什么样子?

我说,它会是中国最好、最具吸引力的一家IT企业。

郭晓拍片 也挺上镜的,虽说有些紧张。

“精益思想就好比是做一批桌子,与其上午做好所有的桌子腿,中午做好所有的桌面,晚上组装,做流水线最后组装,不如以最快的速度出一批完整的桌子交付用户先使用” ─ Thoughtworks中国区总经理郭晓谈精益敏捷开发思想论方法

重构?重写?

May 23rd, 2008

InfoQ: 争论:是否应该避免架构重写?

Joel认为在许多案例中做出需要重写软件的判断带有一定的主观性,其往往是由重用代码时遇到困难造成的。…即使旧的代码集就架构而言真的很糟糕,也应该努力清理代码、重构、修改接口,而不是进行全面的重写。

一种常见的担心是重构需要的成本不比重写来得小。第一,这是真的。基于一些真实的大规模重构得到的经验,重构遗留系统和重写需要的开发工作量基本上正好相等。不过第二,如果选择重构而不重写,可以确保原来的功能不被破坏。其实真实的担心往往并不是成本,而是效果:如果重构做到一半做不下去了再开始重写,那才是最坏的情况。所以真正解决这个问题需要切实可行的重构策略和手段,例如我在 这篇文章 里介绍的方法。

有很多这样的案例:面对着一堆遗留代码,人们说“那就既往不咎从头来过吧”。但事实证明从头设计一个优雅的架构于是软件就可以在将来的五年十年中保持良好的扩展性这样美好的愿望从来就没有实现过。因为,软件技术的发展是很快的,代码质量的腐化是很快的。良好的扩展性只有靠持续不断强力有效的质量保证才能做到。至于起点,重构还是重写,影响并不大──如果不介意重写的大风险的话。

场上核心

May 12th, 2008

昨天去打球…确实老了,要活动好一阵才能找回感觉。不过热身好以后还是足够欺负一帮本科生小弟弟的。现在打球越来越平和了,把球吊给中锋,看着他坐吃内线就好了。就算自己一球也不投进,传传球,只要自己这队能赢就行。

InfoQ: 老资格、尊重、威信和敏捷团队

两个讨论组的其他大部分成员都同意:一个人多年的经验并不一定能为他带来威信和尊重。威信和尊重来自于他的行动表现。Ajay Danait补充说 ,真正的领导者不会因为没有赋予权威而退缩,他们会通过建立共识来建立自己的威信。

其实没有威信又如何呢,如果这支队伍一直在赢?

而且不会有那么轻松的事。本科生小弟弟们慌乱的时候,我还得投进几个球─很高兴我还有体力连续投进4球。不过说实话,如果这是一种“建立威信”的行动,我宁可不要威信─一边叉腰喘着大气一边这样的想着。

无利不起早

May 6th, 2008

早说过 ,王洋同志突然那么热心的要 解读精益 ,一定是为了混口饭吃。果然吧,不幸而言中。挂个好羊头,卖的是这块 狗肉

CSDP 英文为Certified Software Development Professional,即“被认证的软件开发人员”。CSDP认证体系由IEEE-CS于2002年创建,是对全世界范围的软件工程师在知识领域、工作经验及职业道德等方面的资质认证程序。它不仅是一个对软件从业人员的专业评测体系,而且还蕴涵了软件开发与管理的诸多标准,熟悉和掌握这些软件工程国际标准对于我国软件企业走向国际市场具有重要意义。

我这个人偏偏记性比较好。IEEE-CS的SWBOK无疾而终这才几年呢?现在又改头换面来认证软件开发人员了。真是把戏人人会变各有奥妙不同啊。(刚才坐在旁边的销售总监扫了一眼我的标题说:“谁不是无利不起早呢?”嗯嗯,这话说得很对。)

大词大家说

April 30th, 2008

看起来“敏捷”就快过热过气了。就好像前一阵跟 胖子李剑 等人半开玩笑半认真说的,用不了多久所有人都会说自己其实一开始就是敏捷的,再然后就是“听说你搞敏捷了?”“你才搞敏捷呢,你们全家都敏捷!”这样的对骂。有人在InfoQ上回帖说的,国足出线以后保米派气势汹汹的想找倒米派算帐,结果发现找不着了,所有人都是保米派。

勇敢的预测一下,下一个被玩烂的大词是“精益”。比如说看看曾经那么勇敢那么不顾一切然则还是不得不混口饭吃的 王洋同志 说些什么:

随着软件工程思想在我国软件产业界的普及,《4S主义》­——标准化、专业化、系统化、简单化必将深入到每一个软件开发企业的技术管理者心中,软件产业研发必将进入到《4S主义》。

我经常说,要是不知道什么是精益什么是敏捷,没有关系,这个东西很容易了解。你走京通快速路,远通桥南边,到一汽丰田的4S店去看看,就能有些最基本的了解。你最起码去看看,也省得说出“标准化、专业化、系统化、简单化”这些能把大野耐一给气得炸尸的精益解读来。

好的解读也是有的。IT168的一篇文章 说得有点意思:

所以精益思想强调,首先正确设计你的流程,然后再去找合适的工具让这个流程开动起来。不管是软件开发用到工作工具,还是别的工具,只要能够支持这个流程,就是合适的工具。

标准化,huh?

今天还看了一篇有意思的blog,童继龙写的 防窜货管理的杀手锏 。虽然说 公司的市场活动 还是得认真的去做,不过大词说多了觉得累得慌,看看人家怎么解决实际问题挺好玩的。

http://blog.csdn.net/gigix/archive/2008/04/04/2249120.aspx

本文以ThoughtWorks中国公司与客户合作的咨询项目为背景,为读者介绍如何在一个大型遗留系统的基础上组织和运作重构项目,从而切实有效地改善系统质量。

eMAN是客户的一个核心业务平台。该产品采用了典型的C/S结构,负责处理大量请求和计算的后台部分采用C++开发,负责响应用户操作和处理业务逻辑的前台部分采用Java开发;此外该产品还计划在新版本中提供基于Web的前台,这部分也采用Java开发。

ThoughtWorks为该产品的开发团队提供咨询时,eMAN产品已经发布了十多个版本,最新版本代码量超过40万行,其中15万行是Java代码。一次又一次的赶工给它留下了大量的“技术债”:系统缺乏测试,代码质量低劣,“copy & paste”的痕迹比比皆是,维护和新功能开发举步维艰。我们这个咨询项目的主要目标之一就是为这个产品找出重构的办法。

在实施敏捷的过程中感到孤独了吗?

还有更多敏捷视频