Review of /Are your lights on?/
这周花了三天时间看完了《你的灯还亮着吗?》这本书。希望从中获取的「定义问题」的经验能帮助我在以后定义客户需求的时候能够更加准确,创造出能真正解决问题的产品。
- 问题就是理想状态和现实状态之间的差别
解决问题的关键步骤
书中并没有给出具体的步骤,而且说明的顺序有点混乱,以下是我根据自己的理解总结的:
- 明确地定义问题
- 确定问题的受众
- 找到问题所属的层面
- 确定问题该由谁解决
- 提出解决方案
- 意识到解决方案中存在的问题
- 对 6 引出的新问题重复 1~6 步
- 明确地定义问题
- 如何成为问题解决者、问题发现者
- 本书可以说只讨论了 怎么成为一个优秀的问题解决者 这一问题
- 什么是问题解决者
- 能解决很多问题的人
- 问题解决者的工作是 为别人解决问题
- 对于想成为问题解决者的人来说,入门的关键在于把 单一思维模式切换成多重思维模式
- 即从“能解决一个问题的人”到“能解决很多问题的人”,或者说“问题解决者”。
- 定义问题 vs 解决问题
- 本书认为, 解决问题其实是问题解决这个过程中最容易的那个环节 ,难点都在解决问题之外的部分。
- 本书也就除了解决问题的这些部分做了探讨。
- 至于解决问题的部分,和各个专业领域耦合太深,一本小册子也完全不可能覆盖,最终还是要靠个人的技能水平。
- 其实对于软件开发也是类似的道理,开发出最终能解决问题的软件不是最难的部分。
- 最难的部分
- 在开发之前明确地定义问题。只有问题、需求定义清楚了以后,开发才能正常进行。
- 第二难的部分
- 在开发完成之后的维护和更新,在问题、需求不断变化的情况下让软件适应这些变化(也就是解决新出现问题)。
- 本书认为, 解决问题其实是问题解决这个过程中最容易的那个环节 ,难点都在解决问题之外的部分。
- 如何明确地定义问题
- 对日常生活中自然产生的问题,不可能给出独一无二、完全明确的定义
- 但我们依然要尽可能地明确问题
- 如果我们还没清楚地定义好问题就提出解决方案,可能会出现以下几种我们不想看到的结果:
- 这个解决方案很可能是解决的错误的问题,最终白白浪费了时间和精力
- 大家对问题的理解都不一样,都拿着自己提出的解决方案各执己见,无法就问题本身达成一致,最终迟迟无法解决问题
- 而有些人在已有的定义上绕圈子,生怕定义不准确,结果一直不敢推进到寻找解决方案的阶段
- 为了让我们更好地解决问题,我们要在解决问题之前先问问自己以下几个问题:
- 确定服务对象?
- 首先要弄清楚解决问题是为了让谁满意
- 不同的服务对象会造成解决问题的方法截然不同
- 弄清楚服务对象也能为找到合适的解决方案提供一些线索
- 对每种不同的服务对象,问题的本质是什么?
- 问题就是理想状态和现实状态之间的差别
- 所以要找问题的根源,就要
- 确认服务对象的理想状态
- 确认服务对象的现实状态
- 找到产生差别的地方
- 有没有所有服务对象都能统一的问题定义?
- 如果双方(还有其他相关方吗?)无法就问题本身达成一致,就不可能得出大家都满意的解决方案。
- 所以一个高效的问题解决者一定会致力于让双方碰个面,即使意见不能统一,也至少要让他们面谈一次。
- 确定服务对象?
- 定义问题的几个要点
- 不要把别人的解决方法作为定义问题的方法。
- 别把问题的解决方案误当作问题的定义,当这个解决方案是由你提出的时候尤其如此。
- 如果你解决问题太过神速,别人根本不会相信你真的解决了问题。
- 即使问题已经解决,你也无法确定你的问题定义是正确的。
- 不要仓促下结论,但也不要忽视第一印象。
- 面对问题时真正重要的一点在于,你要知道,
- 问题是永远得不到解答的,但只要你一直在提出问题,就没有关系。
- 从来没有什么东西是「最终的解决方案」。
- 你永远无法确定已经找到的问题定义是正确的,但是永远不要停下寻找正确定义的脚步。
- 每一个解决方案都是下一个问题的来源
- 人的理想状态是很难改变的,我们经常只能通过改变现实状态来解决问题,但这常常会制造出新的问题。
- 因为任何一个问题都是理想状态和现实状态之间的差别,当人们通过改变状态“解决”一个问题的时候,常常会新制造出一个或几个问题来。
- 我们永远都没法避开问题。
- 能指望的最理想状态就是新问题比我们“已经解决”的问题要好对付一些。
- 不要把别人的解决方法作为定义问题的方法。
- 在任何一个问题定义中,都有几百个点有可能被忽略。
- 看看你对问题的理解,如果想不出至少三个可能有出错的地方,你就没有真正理解这个问题。
- 找到问题所属的层面
- 一旦确定问题,人们会先浏览一下,以便从语义层面上给它定位。只要可行,人们会首先把问题置于让自己觉得最舒适的语义层面上。
- 这里的“舒适感”之所以会出现,
- 可能是因为人们知道该如何解决某个层面上的问题。
- 人们可能知道问题的来源、问题出现的背景,
- 或者对于问题的实质有更微妙的感觉,无法用语言表达,但人们知道它是“正确的”。
- 这里的“舒适感”之所以会出现,
- 当你沿着定义问题的道路疲倦前行时,过一会儿就要回头看看,确认自己没有走错路。
- 一旦确定问题,人们会先浏览一下,以便从语义层面上给它定位。只要可行,人们会首先把问题置于让自己觉得最舒适的语义层面上。
- 注意你所表达的含义
- 你永远没法确定在场的每个人对同样的词句会有同样的理解。
一旦你将一个问题描述拟成了文字,做些文字游戏,以确保每个人对问题的理解可以统一。
玩词语游戏的成本远低于得到一个讨厌的解决方案。对于一个待定的问题定义,你有必要把所有的词语游戏都试一遍。
- 改变重读的方式(如上)。
- 词典法
- 对于句子中的每个词,列出词典中的全部词义,然后试着把每个词义应用到原句中。
- 把肯定的换成否定的,反之亦然。
- 把“可能”换成“必须”,“必须”换成“可能”。
- 把“或者”换成“不是…...就是…...”,反之亦然。
- 把“和”换成“或”,反之亦然。
- 选择一个意义清晰的词语,在每一处都用清晰的词义替换掉这个词。
- 对于每个表示“等等”的词,在已有的列举中再加上一个明确的例子。
- 找出旨在说服人的词语或词组,如“明显”、“因此”、“很清楚地”或者“当然”。把每一个这一类的词语或词组换成它所取代的论证过程。
- 试着画出某句话或者某个段落所说的内容。
- 用等式表达本来用语言表达的意思。
- 用语言表达本来用等式表达的意思。
- 试着用语言表达某幅图想说的意思。
- 把“你”换成“我们”。
- 把“我们”换成“你”。
- 把“我们”和“你”换成“双方”。
- 把泛指换成特指,特指换成泛指。
- 把“一些”换成“每一个”。
- 把“每一个”换成“一些”。
- 把“总是”换成“有时”。
- 把“有时”换成“总是”。
- 对日常生活中自然产生的问题,不可能给出独一无二、完全明确的定义
- 确定问题该由谁解决
- 当别人可以妥善解决自己的问题时,不要越俎代庖。
- 如果这是别人的问题,就把它当成是别人的问题。
- 不仅是因为问题相关方对问题了解更深入、感受更真切,也因为在他们自己提出解决方案之后,更愿意参与到执行的过程中去。
- 在社会上,很多问题源自系统的设计者和决策者,他们并未亲身体会过应该由他们“负责任”的问题。
- 如果一个人处于解决问题的位置,却并不受问题困扰,那就采取一些行动使他能亲身体验到问题。
- 为了改变局面,试着把责任归到自己身上——哪怕只有一会儿也行。
- 有时候问题需要引导别人自己去解决
- 建筑师、工程师和其他设计师有一个共同的观点,即他们应该对整个工程负责到底。
- 总工程师采用了“这是他们的问题”这一方法,
- 如果人们真的开着车灯,一个小小的提醒可能比复杂的解决方案更有效。
- 你的灯亮着吗?
- 当别人可以妥善解决自己的问题时,不要越俎代庖。
- 如何意识到解决方案中的问题
- 某些问题最困难的部分就在于发现问题存在。
- 设计者、工程师的工作就是 事先 为别人解决问题,这导致了他们经常制造出不协调的解决方案
- 设计者很少亲身体验自己的设计的后果(不是设计的目标用户,不常亲身体验问题)
- 人类的适应能力非常之强,设计者长期沉浸在自己的设计当中,熟悉这些设计的每一处缺陷,知道用什么办法去避免,也因此适应了这些缺陷,让自己陷入盲区。
- 工程师知道他们自己可能会碰到安全问题,但没能预见到别人也会碰到这样的问题
- 工程师养成了把工具侧着放的习惯。但是他们没有考虑到,其他人也可能接触到这件工具。
- “其他人”和工程师不一样,他们不清楚工具的危险之处在哪里,
- 每当一件工具出了问题,我们总习惯于去指责被它伤害的人,而不是工具的设计者。
- 设计者、工程师的工作就是 事先 为别人解决问题,这导致了他们经常制造出不协调的解决方案
- 问题的关键就在于首先要意识到问题的存在,或者让设计者意识到有问题存在。
- 大多数不协调之处一经发现很容易解决。
- 转换视角来发现不协调之处
- 每转换一次视角,都会发现新的不协调之处。
- 与最初错误地定义了问题的人相比,一个拿到了新的解决方案的人更容易看到哪里不协调。 (因为视角不同)
- 在把一项“解决方案”付诸实践之前从各个视角对其审视一遍
- 借助外国人、盲人、儿童来检验你给出的定义
- 选一件你每天会用到的东西,比如鞋、衬衫、叉子、小轿车的门、牙刷或者上千件类似物品中的一件,给自己安排这样一项训练,
- 以一个从没见过这件东西的外国人的角度来审视它。
- 试着闭上眼睛(或者捂上耳朵,或者屏住呼吸,视具体情况而定),用用看这件物品。
- 想象你身高只有现有水平的四分之一,而且是第一次接触到这件物品。
- 如果你不识字,或者动手能力比较差,又会发生什么呢?
- 某些问题最困难的部分就在于发现问题存在。
- 解决问题过程中的注意事项
- 在大多数情况下,只要知道问题是什么,解决问题就是一件非常不值一提的事情。
- 但大多数人都接受过学校教育,而且是 过量的学校教育 ,因此形成了一种本能,会紧紧抓住看起来像是“问题”的第一个表述,然后尽快“解决”它,因为大家都知道,在考试中,速度很重要。
- 在很多情况下,交流不畅不是困难的根源。对于不了解的事情,或者不想了解的事情,人们无法有效交流。
- 无论表面上表现得如何,在你提供他们所要求的东西之前,他们 极少知道自己想要什么
关于如何解决问题,一条古老的格言说:
人们永远没有足够的时间把它做好,但永远有足够的时间重新来过。
人们永远没有足够的时间去考虑到底是不是想要它,但永远有足够的时间去为之后悔。
- 从最后的情况看, 想要真正解决问题的人并不是很多
- 人们考虑更多的还是自己的利益
- 虽然很多问题必须迅速解决,要当心那些催你的人,在解决过程后期,急了会犯错。
- 要看到解决方案的后果
- 即使真的想得到解决方案,人们可能没有注意到,每种解决方案都伴随着不可避免的额外后果。
- 然而,人们倾向于认为“副作用”是某些特定解决方案带来的结果。“它有可能根本就不会出现。即使出现了,也可以通过调整解决方案来彻底避免。”
- 这个问题的答案可以部分归结为人类的一种倾向——习惯化
- 当一种刺激重复出现时,人类对它的反应逐步递减。
- 习惯化使人们能忽略环境中恒定不变的东西,从而简化自己的生活。
- 道德问题
- 完全投入到问题中的时候,问题解决者还有可能忽视另外一件事情。在为解决问题而惊叹不已的时候, 你可能会忽略自己是不是能在道德上支持某一解决方案。
- 为了忠于自己,必须在接近一个解决方案,甚至是一个问题的定义之前就考虑到道德问题,并抛弃掉感性的因素。
- 在大多数情况下,只要知道问题是什么,解决问题就是一件非常不值一提的事情。