天天读书网(www.book.d78i.com)整理――代序一也许你是一名普通的程序员或者一个底层的职员,你的工作就是保质保量地完成上级交给你的任务,你有时会困惑为什么你努力的工作始终得不到上级的赏识和提拔。也许你是一名软件开发小组的负责人或者领导着数十名员工的经理人,你的工作就是按部就班地将你接到的任务分成小块之后分排给你的下属,我猜你一定常常会头痛于上级变化无常的要求和下级死鱼一般的反馈。也许你站在了系统分析和首席设计师的位置,或者你是麾下聚集了一大批精兵强将的企业家,你一定会为你的那些莫名其妙的下属不明就里的行为搞得头昏脑胀,你会在一个人的时候大声地抱怨:真搞不明白这帮家伙脑子里在想些什么!那么,你知道自己在考虑的是什么?自己在做的又是什么吗?或者说,你的所做究竟是解决了什么问题?解决了谁的问题?是否真正解决了她的问题?或者说,你的所想究竟是基于什么需求?满足了谁的愿望?是否真正达到了人们的需要?面对诸如此类的追问,你会有什么样的回答呢?二在这一刻,您,作为我的一个读者;我,有理由相信您的判断,相信您是一个希望解决真正问题的人,相信您并不甘于碌碌,相信您有能力也愿意去理解这一本书的初衷;如此,就让我们开始这一段并不漫长的阅读。这原本是一本写给计算机程序员们的通俗书,原作者温伯格宣称,写作它的目的是为了帮助程序员们搞清楚自己所面临的问题的真正所在,以便能够找到一种最为合适的方法来解决它们。本书在1982 年发行了它的初版,令人吃惊的是,它出版之后立刻成为了风靡一时的杰作。“问题的真正所在”成为了当时最流行的术语;而在问题解决领域也迅速被人们奉为经典。把本书一次又一次推上排行榜首的读者们发现,书中所指出的问题大多是他们所困惑的。是什么,让这本薄薄的小册子具有如此的魔力?又是什么,让身为软件界泰斗巨葩的老先生倾力写作这样的通俗小品?从本书的一些介绍中,我们看到书中似乎在真切地关注诸如:人们如何思考?人们在遇到棘手的难题时会怎么思考并处理?对于某一个特定的问题,人们会用什么样的角度去思考?等等之类的问题。然而这些,都不是这本书中能给你解决的问题,甚至可以说,这本书不能给你解决任何问题。三在我们幼年的时候,我们对世界充满了憧憬;在我们青年的时候,我们心中满怀着理想;在我们壮年的时候,我们认为自己已经坚定地将地球踩在脚下;而在我们老年的时候,我们发现突然间有了足够的时间来后悔以前所作的一切。我们在世间生存,各各寻找自己的生存方式。但这世间并不常常如愿,我们的生活被各种各样的小节所纠缠,我们的事业被各行各业的敌友所阻拦,我们的爱情因对方瞬息万变的要求而蹒跚。然后,我们忙碌于柴米油盐酱醋茶,我们奔波于甲乙丙丁你我他,我们搞不清爱人从何处收集了那么多泪花。是的,我们彷徨,苦闷;在被人问及我们自己的需要的时候,我们苦笑。不识庐山真面目,只缘身在此山中。如果我们无法跳出作为个人的境地,还停留在不断地接受问题、不断地“发现问题”、不断地“解决问题”的怪圈中,我们永远无法知道自己“需要什么”和“正在干些什么”。面对变化多端的世界,面对错综复杂的问题,我们一筹莫展,一脚踏进焦油坑不知前路茫茫。一位少年去拜访智者。他问:我如何才能快乐地解决我所遇到的问题呢?智者告诉他四句话:把自己当成别人;把别人当成自己;把别人当成别人;把自己当成自己。智者的话道出了看待事物的最重要的立场问题。而这,正是本书首先提出的主题:1)动手去解决问题之前,好好想想问题的来源;2)如何站在各个角度来看待面临的问题,以能够知道其真正所在;如何去尝试那个最能解决真正问题的方法,并且时刻保持警惕心;3)为什么不要把人们的解决方法误认为是问题的定义,更不要把某个问题的解决方法误认为是问题的定义,特别是这个解决方法是你自己所使用的;4)永远都不要肯定自己已经有了一个正确的定义,即使是在问题好像已经解决之后。四可能很多人会问:“那么这本书最终将给我带来什么?它能帮助我解决什么问题?”如前所述,现在我们努力寻找问题的真正所在,我们可能已经列出了一系列的可能的问题定义,我们总该开始解决问题了吧。结论并不乐观,本书认为:5)每一种解决方法都会带来新的问题;6)问题最难以处理的部分恰恰是去意识到它们的存在;7)在理解问题之前,至少要做好准备接受三种可能的出错情况;8)或许还可以改变问题的表述来获得不同的解决方法;9)当你沉迷于寻找问题定义和解决方法时,不要忘记随时都回头看看,看看自己是不是已经迷路了..五随着对问题的逐步深入,我们发现世界并不如原来所想那么确定。那么,我们是否已经迷路了?本书的两位作者都是ACM 的资深教师,他们的职业生涯中从来没有停止过与“计算机程序员”的对话。以往,在人们的眼中,计算机需要处理的问题就是一个有着明确的定义的问题,通过泾渭分明的“0”和“1”的种种组合、运算,最终给出明确的答复。随着经验的增长,作者发现“如果在对技术的使用和构建过程中没有赋予足够的人文方面的重视,技术将毫无价值,甚至是危险的(technology is worthless - even dangerous - if we don't pay attentionto the human aspects of both its use and its construction )”。与世界上的其他动物相比,人类恐怕是最为多变的了;可惜的是,我们所遇到的绝大多数问题都离不开这种多变的动物,甚至往往都是源自于这种动物。他们不止多变,还多疑、自私、自以为是。在这个时候,大师提醒我们:10)当别人能够很好地解决自己问题的时候,千万不要越俎代庖;11)如果某人能够解决这个问题,但是他本人却并不会遇到这一问题时,那么你首先要做的就是让他也感受到这一问题;12)不管看上去如何,人们很少知道他们要什么,直到你给了他们所需要的东西;13)甚至,事实上,并没有多少人真的希望他们的问题被解决。六如果说这是一册教科书,那一定是我太偏爱了故事;如果说这是一束小品文,那一定是我太沉迷于思考;如果说这是程序员解决问题的指南,那一定是我忽略了问题的普遍性;如果说这将改变你的生活,那一定是你洞察了其中的奥秘。诚如作者所说,“问题其实就是你的期望和你的感受之间的差别,而且不管看上去如何,人们很少知道他们要什么..直到..你给了他们所需要的东西”。那么,读者朋友,你是否为此感到了差别?你是否已经找到你所需要的东西?七或者,您在这一刻已然豁然,这世间并不存在解决一切问题的奥义,将希望寄托在某种思想和方法仅仅是欺骗自己的麻醉剂;那么,作者会说:在出门的时候,您家的灯亮着么?或者,您在这一刻决然行动,解决问题之路终归需要我们自己的步履,在这里惶惶而谈无疑是浪费智者的生命;那么,也许,书中的某一个故事,将给您一段生活的经历。在我的孩提时代,有一个美好而遥远的遐想,我想这人间的一切,必然有它存在的道理,总有一天,我会找到这种道理,于是我就通晓了世界。随着年龄的增长,我学到和发现了越来越多的规律和定理,却常常在纷繁的事务中迷失自我,我的世界逐渐走向真实,儿时的梦想成为了永不能实现的乌托邦。于是我不再寄希望于那些虚无缥缈的新发明和新技术,只想默默地投身于传统的产业,希望用经验和汗水来成就一方事业。于是作者也并不寄希望于能通过这个小册子给您带来问题解决的飞跃,只是轻轻地提醒您一声:真正的问题所在可能并不是您现在的所想,换个角度分析,或许您已经找到了问题的真谛。章柏幸于清华园2003 年4 月序篇问题:没有人会阅读序言解决方法:把序言称为第一章解决方法带来的新问题:第一章是单调沉闷的再次解决:把第一章扔了,再把第二章称为第一章第一篇:问题是什么?1 一个问题纽约市金融区的心脏地带矗立着一座闪亮耀眼的73 层大楼,这就是被人称为建筑学杰作的雷龙塔。然而,遗憾的是,尽管雷龙塔还没有被完全住满,房客们已经发现大楼的电梯不够用。甚至于有一些房客放出话来,如果电梯服务还不能很快得到改善的话,他们就会搬出大楼。下面列出了大楼的一些事实:1) 租赁大楼的大部分办公室在工作日的早上9 点到下午5 点之间办公。2) 几乎所有使用大楼的人们都与金融界有着某种方式的联系。3) 所有住户比较均匀地分布在大楼的73 层,电梯交通也一样。4) 房东为了把剩余房间租出去,已经在广告上做了大量的投资。5) 在金融区这个封闭的小圈子里,所有不好的消息传播得像闪电一样快在这种情况下,我们能够做些什么?也许,你的脑海中会立刻跳出一些想法,比如说:1) 给电梯提速。2) 翻修大楼的主要通路,以增加电梯数量。3) 在大楼主要通路之外附加电梯。4) 说服房客使用不同的作息时间,分散上下班高峰期。5) 把住户分散到不同的楼层,以降低整幢建筑的交通负担。6) 限制进入大楼的人数。7) 把现有的电梯更换成2 层或者3 层的大座舱。8) 在每一层提供更多的服务措施以降低楼层之间的交通。9) 对各层的特殊情况重新规划电梯,并根据需要做专门的安排。顺着我们急于解决问题的性子,我们直接就去寻找解决方法,而且似乎“已经”找到了。不过,在给出答案之前先问几个问题也许更明智。这是什么类别的问题?谁有问题?问题是什么?或者,在这个当口,究竟什么是一个问题?考虑“这是谁的问题?”时,其目的可能是:1) 确定谁是顾客— 就是说,谁必须被取悦?2) 搜集一些有用的线索,以找到合适的解决方案。注意到我们的第一个解决方案列表,你会发现尽管每个解决方法都不相同,但是有一点却是一致的――就是电梯使用者是拥有问题的人。假设我们去听取房东第欧根尼·梁龙(Diogenes Diplodocus,Diplodocus 原意为梁龙,是恐龙的一种,我们在后面不妨称他为梁龙先生,译者注)的观点。把他当作我们的顾客,我们可能会得到一个迥然不同的列表,比如说:1) 增加房租,只需要更少的房客就可以支付抵押贷款(建造大楼时所支出的)。2) 设法说服房客,告诉他们正因为雷龙塔是一个极好极方便的工作地点,所以才会有大楼目前的电梯状况。3) 设计步行时间,并科学评估每一条路线所能消耗的卡路里,以此说服房客,让他们相信需要更多的锻炼--所以应该更多地走楼梯而不是乘坐电梯。4) 把大楼烧了,以收取火灾保险。5) 控告建造大楼的建筑公司。6) 怂恿房客偷取隔壁大楼的电梯使用时间。这两个列表,尽管不一定完全排斥,但是我们确实能够看出一些倾向上的差别。为了避免因为这些倾向而作出草率的决定,我们就要在提出解决方案之前仔细考虑一个问题:问题是什么?那些没有经验的问题解决者们,几乎无一例外,都是去匆忙的寻找解决办法,而不是先给要解决的问题下定义。即使是有经验的问题解决者们,在社会压力要求他匆忙决定的时候,也很容易屈服。这样,他们会找到得到很多解决办法,但未必适合手头这个问题。当一个人努力让别人接受他赞成的解决方法的时候,总是指责别人太顽固,而不是说对方的观点其实是可以替代的。然而,并不是每一个解决问题的组织的奠基人都忽视定义的重要性。有些人很可悲,他们无休无止的在各种候选定义之间犹豫不决,永远不能聚集足够的勇气去解决问题,因为他们不愿承担定义失误的风险。事实上,我们不可能给自然的、日常的问题作出一个唯一的、只有一种结果的、完全清晰明确的定义。另一方面,如果对问题没有一定的常识,那么解决办法几乎毫无疑问不是针对这一被误解的问题。通常,它就变成那个声音最高或者口才最好的人所认为的问题的解决方案了。或者,是那个最有钱的人的认为的问题了。对于一个准问题解决者来说,他所面临的问题就是为别人解决他们的问题;而开始其工作的最好办法是从内心深处把齿轮从单数变成复数(即:从一开始考虑问题就想得比较全面,译者注),从而把自己由一个问题的解决者转变为一个问题们的解决者,或者您要是觉得拗口的话,我们可以称之为多问题的解决者。为了实现这一内心深处的转变,准问题解决者应该在游戏一开始的时候,就努力去回答这个问题:谁有问题?然后,再对回答这一问题的每个不同的人群,问:您的问题的本质是什么?2 信差彼得发起了一个请愿从办公室里的员工的角度看,雷龙塔的问题可以陈述成:我怎样才能用最短的时间、最轻松地走完我每天的例行路线?而对于房东梁龙先生,问题也许可以概括成:我怎样才能摆脱所有这些可恨而无聊的抱怨?如果这两拨儿人(还有别的么?)不能坐在一起谈谈,就不可能得到一个互相都满意的解决方案。尽管前景并不乐观,作为一个有效的问题解决者,他必须致力于促成一次会面??就算思想上不能达成一致,至少也应该作点儿行动。为了引起房东对“这个问题”的重视,Finicky Financial Fiduciary(简称3F 公司)的信差彼得·彼根霍勒(Peter Pigeonhole )发起了一个请愿。利用他信差的职业,他在3F公司就得到了一个足够给人留下深刻印象的签名单。再加上他和别的公司的信差的联系,他得到了更多的签名。彼得需要很多的签名,因为请愿书是梁龙先生不愿意看到的东西。在梁龙先生看来,他的问题是尽量去减少抱怨。如果抱怨永远不被统计出来,而仅仅是对着空气嘟嘟囔囔的埋怨,他也许可以通过不理睬来解决他的问题。鬼知道呢?这也许只是一个无中生有的问题!于是,尽管面对这请愿书上的24 个签名,他无动于衷;更确切地说,他在装着请愿书的信封上签上收件人拒收,然后退了回去。梁龙先生这种试图通过拒收信件让一个信差失去信心的做法,有点像通过摇晃俄国国旗来挫败某个金融巨头。房东的解决办法唯一的作用就是激怒了房客们。为了报复,他们的行动升级了。(现在他们有了一个办法!)一大帮代表们打电话给梁龙先生,但是梁龙先生还是使用他的老办法?? 假装不理睬。他的秘书则以“梁龙先生不在”为由给这些代表来了一个闭门羹。如果梁龙先生以为这个手段可以挫败那些请愿者,他将很悲哀的发现他低估了那些信差坚持要改善他们预定工作线路的决心了。请愿组对战术进行了一定的讨论,决定到梁龙先生的斯卡斯代尔庄园(Scarsdale Estate )去拜访他。为了帮助他们传达信息,他们带了4 个警戒拦桩,3 个臭味弹和2 个侨民职工。直到梁龙太太对着梁龙先生大喊大叫时,这不再是一个无中生有的问题了。在和一个员工代表团进行了简短的会晤之后,梁龙先生同意雇佣一个顾问公司来研究这一问题。作为回应,员工们撤除了警戒拦桩,这首先解决了梁龙先生太太的问题。时间一天天过去。员工们没有看到任何改善?? 甚至连顾问的影子都没看到。难道你不觉得应该会有一些头剪短发、身穿行服的人站在你旁边拿着活页夹问问题么?至少,梁龙先生应该雇佣他的侄子穿一件套头羊毛衫,拿个计算器四处晃晃。经过调查,彼得发现房东根本没有雇佣任何顾问公司。再也无法忍受每天拜访斯卡斯代尔庄园的员工们想出了一个新战术。利用他们作为信差的特权,这些抗议活动的领袖们散布流言说:如果电梯状况不尽快改善,美国劳工联合会(American Congress of Labor ,简称ACL)将把雷龙塔中所有的办公室职员联合起来。到目前为止,租赁大楼的公司的管理层并不十分关心电梯状况。他们来得早走得晚,或者来得晚走得早。秘书为他们拿来咖啡,厨师为他们准备午餐,而信差则四处分发信件和其他东西。另外,尽管男士和女士的洗手间在不同的楼层,每一层都有一个小的、上锁的、安排的很好的休息室,它们严格地属于男性管理人员。(雷龙塔中没有女性管理人员)。关于ACL 要组织员工的流言一起,它像管理者后背上的痉挛一样迅速传播开来。眨眼之间,这个问题中出现了三个派别,并且第三派(租赁大楼的公司管理者)开始向第二派(房东)展开他们特有的劝说攻势。直到刚才,两派都不愿意同意对方的定义,他们甚至都不听对方说什么。但是,现在,我们会发现一些进展的迹象。当一派开始为另一派感到头痛的时候,我们知道问题找到它的解决方法了。印第安人对于这种解决问题的技巧有一个专门的说法,叫做“穿上另一个人的软皮鞋走路”。尤其是当这双皮鞋是用湿的生牛皮做成,并且慢慢的在另一个人的脚上变干,直到达到充分的共鸣。在这个当口,我们还是很难说这个问题会怎样得到它的解决方法。也许房客的律师会取消租赁的租约或契约,也许房东会赔本卖出整栋楼并且[或者]从第73 层上跳下去。这样的解决办法也许会产生新的问题,但是现在有一点是肯定的:前面的问题从这世界上消失了。从各种可能的后果中,让我们假设所有有关的派别都有足够冷静的头脑并且试图表现得理智一些。房东和律师们走到一起来确定问题的性质。由于员工们一再威胁ACL 将干预此事,在最后一刻,他们勉强承认了某一位员工代表。在一些打着正义旗号的故作姿态之后,所有的派别都意识到为了解决问题,还需要更多的信息。梁龙先生已经从理智上抛开了先前的所有抱怨,但是他先前关于员工们都是天生的抱怨者的印象太强烈了,以至于他不能够建立别的任何印象。管理者事实上考虑这个问题并没有很久,也不是很详细。对他们来说,这是本来一个无关紧要的问题,只不过现在真的成了一个问题,因为他们天生地憎恨以任何形式的组织起来的员工。员工这一边现在是如此地沉溺于“打败狗娘养的房东”的渴望,甚至于差点忘记了自己的初衷?? 改善电梯服务。撇开繁杂的细节不谈,我们可以认为所有派别对以下几点达成共识:(1).. 房东不高兴,因为总是受到骚扰。(2).. 公司不高兴,因为它们的员工不高兴,并且员工们威胁说要联合起来。(3).. 员工也不高兴,因为房东如此无视他们的请求,以及那个破烂的电梯服务。如此看来,现在至少有三个问题。而从另一个角度看,这个问题看上去仍然是三重的:(1).. 我们怎样确定“什么错了?”(2).. 是什么错了?(3).. 对于这一问题,我们应该做什么?问题的第一部分很快就解决了。彼得被任命去调查“什么错了”。他会用一种所有派别都能接受的方式来定义这个问题。为了完成这个任务,3F 公司放了他1 个月的假。这是对他主动承担责任的奖励?? 现在,这是他的问题了。如果你在彼得的软皮鞋里,你会怎么做?3 你的问题是什么?你有没有遇到过这种情况:有一天你发现事情不是按你预想的方式进行,并且你发现你自己在说:“伙计,我有问题了!”?大多数人遇到过,而且有些人几乎每天遇到。他们感觉到的困难其实是事物实际存在的方式和“它们的方式”?? 按照某个人的观点,它们应该的存在方式?? 之间的差别。用“伙计,我有问题了!”来描述这种状况最自然不过了,因为问题的出现恰好就差这么一丁点儿:问题其实就是你期望的东西和你体验的东西之间的差别如果你从这本书中抬起头来并且环顾一下四周,你也许会发现数十个甚至数百个“期望的东西和体验到的东西之间的差别”。那么,让我们来做一个试验吧。假设你刚刚享用了一顿美味大餐,坐在你最舒服的椅子上,然后恰好翻到这本书的这一页。你沉浸在幸福的感觉里,连一个“问题”都想不出来,更甭说几百个了。不过如果你稍微调整一下你的感受,机会就出现了,你也许会发现以下这些体验和期望之间的差距:体验期望椅子旧了。新的名牌椅子。孩子们太吵了。安静的孩子们。脚被皮鞋夹得很疼。舒适的软皮鞋。