4 逃跑的雇工
作者:章柏幸
12若是雇工,不是牧人,羊也不是他自己的,他看见狼来,就撇下羊逃走。狼抓住羊,赶散了羊群。
13雇工逃走,因他是雇工,并不顾念羊。
人往往如此;当你了解、学会、掌握、熟练了一种工具之后,就很难接受别的类似工具;而对于那些本质上并不类似的工具,人们也会自然地产生排斥心理,会说,“你的功能我们的工具一样可以实现。”
有头脑的人,是不会仅仅局限于一两种工具的,因为他们知道,每一种工具都有它的针对性和局限性。古话“术业有专攻”也是这个道理。那么,为了很好地搞定我们的项目(产品)开发,我们一样需要有专门的工具和技术;针对于需求分析中的某些关键点,我们还需要对之进行更深入的研究。目前市面上有很多很多的项目管理的工具、方法以及软件,是否只要使用好它们我们就能一路顺风了呢?
我们认为,掌握各种各样的工具是很不错的主意;而且,如果你想很好地做好需求工作,最好能很好地把握直接的提问、面对面的观察和谈判技巧。但是,出于对工具局限性的担心,我不得不提醒读者再次注意人类思想的复杂性和含混性。我们常常会看到一些理想主义的需求分析员编制各种各样的表格和调查问卷,然后根据表格里面的文字和数据来撰写他们的需求规格说明书;这一节就是要说明这种死板的方法是不能够完全正确地获得需求的。
【尽心尽责】
《探索需求》一书中提出探索过程是对决策树从根节点到叶子节点的一次遍历,我在这里做一个简单的解释,在后面我们将作一个简单的拓广。
数学模型是一种对现实世界的抽象。比如,现实生活中的树从树根开始,在阳光的照耀下,按照主干、分支、细枝、树叶这么一级一级地成长。由于数学家和程序员的工具的局限性,即我们的打印纸和书写习惯都是从左到右和从上到下的,于是我们得到的树的数学模型变成了树根在上,叶子在下的样子了。这个样子虽然很难看,但我相信读者已经都能够接受这种模型的,理由是我们从中学到大学已经对这种符号系统接受了一些培训,这一点反过来说明了我们在第1章《贼和强盗》中关于符号系统和映射需要培训的论点。
决策树模型是对线性决策理论的一种数学模型,我们借来作为对直接提问方式的辅助工具:它的根节点是对问题的第一个模糊的描述。每一个节点表示一次提问或决策,而到达的叶子节点则是最后的解决方案。很显然,一棵正常的树不会一根枝丫长到底;同样,我们的直接提问也不可能一帆风顺。每一个分枝的地方,都会出现多种分岔的选择,而每一种选择,都意味着放弃了另一个更为广阔的含混空间。
理想主义者认为只要每一个选择都由用户判断,每一个决策都经过用户签字,那么他们的决策树很快就能安全抵达叶子节点。(这种想法是要不得的,但这是后话,暂时不提。)我们暂且认同每个判断的正确性和明确性,这于是给我们的决策带来了严重的压力,每一个分枝的地方都会有明确的用户配合吗?这是天真的想法。我们不可避免会加入我们自己的“经验”,实际上是我们的假设。
首先需要说明的是,决策的次序非常重要。比如,如果客户想要一辆绿色自行车,那么如果给他一辆橙色自行车可能会比一个绿色卡车来得比较容易接受。因此,问题“它是什么颜色的?”和问题“它是自行车还是卡车?”相比较而言应该问得较晚。次序的重要性还体现在它能够减少我们为错误决策减少修复误差。
如果您学过信息理论,那么我们就可以量化这种问题次序的价值。解决方案是一种逆天而行的行为,它试图通过人类的智慧,在局部地区实现反热力学第二定律的走向。
我们的信息度量是这样的:最初,含混的问题具有无穷多种可能性,其信息量为零,其含混性为无穷大,其信息熵也为无穷大。每一个问题的回答,都能够减少可能性,降低含混性,提高信息量,降低信息熵。针对每一个问题的重要程度,我们可以通过经验或是客户联席会议来确定其量化的加权值,该加权值就是这个问题的价值,也可以看做是问题的信息量。根据最优编码定理,我们可以得到每一个问题对应的Huffman码值,这一Huffman码值的长度就是我们应该对该问题的重视程度的度量。
下表列出了一个典型的设计案例中的直接问题问答,根据客户对10个问题的回答,读者心里是否已经对需要解决的问题有了一个方案了呢?
序号
问题
回答
1
需要我们干什么?
设计一个运输设备
2
有什么时间限制?
在18个月之内完成
3
运输什么东西?
人
4
每次可以运输多少人?
每次一个
5
动力来源是什么?
乘客自己提供动力
6
在什么样的表面上运输?
它应该在很硬的平坦地表上提供运输
7
人应该被运输到多远?
超过2千米。
8
设备的行进速度?
至少每小时能行进400米。
9
故障率方面的指标怎样?
每三千里的里程最多有一次故障。
故障发生时不能危及乘客的生命安全。
10
大概要多少成本?
分摊到每次使用的成本不超过200元。
【迷途羔羊】
经超过1000名专业系统设计者证实,上表中的对话是一个优秀的问题系列。我们很快可以作出我们需要产品的可能选择:
1、 溜冰鞋。
2、 自行车。
3、 三轮车。
本来我们是很愿意想到电瓶车的,但是由于问题5的答案让我们放弃了这种安全绿色而快捷的交通工具。因此我们选择了自行车作为备选。
本来我们也是很愿意想到滑翔机的,但是由于问题6的答案让我们放弃了这种天空中翱翔的念头。
很显然,上述三种选择都能够满足上述10个条件,我们注意到这三种运输设备都有一个共同点,那就是都有轮子。为了保证我们的设计能够被客户接受,我们把设计人员分成两组:小轮子组和大轮子组。两组设计人员都完成了创意精彩的解决方案。
小轮子组递交了一种多功能溜溜鞋,它可以采用便捷的即插即用技术,溜溜鞋的底部安装了一个牢固的插槽,它可以装上冰刀、滚轮以及撬板等多种标准接口附加配件。设计人员还公布了溜溜鞋标准插槽接入标准方案,拟在业界推广。另外,额外的销栓装置能够大大降低故障率。大轮子组递交了一个紧凑的、不重的、可折叠的三轮车,它可以放在步行者的旅行包中带走。
下面是我们在客户那里展示样品时的场景:
两个客户来观看我们的样品,他们对我们的创造赞不绝口,尤其是那个三轮车的轻便性。可是,其中一个问道:“请诸位解释一下这种设备如何在艾格尔上的北坡用于救援登山者。”
我们呆在那里了。你是否也呆在那里了?
客户解释说:
在他们的脑海里那是一个登山者救援设备,他们两人分别是梅隆镇和比斯镇的镇长,由于两镇的经济主要依赖于旅游和特殊登山。为了保持旅游业的增长并确保登山的回头客,村庄的正式导游必须去救助那些被困在山坡上的登山者。然而,随着人们对生命的重视,导游们越来越不愿意为救助粗心的登山者而冒生命危险了,因此他们的队伍越来越小。镇长们认为,除非有一个解决方案出现,否则村庄的经济将会受到威胁。
因此,镇长们需要一个营救设备,这样他们就能让所有登山者都可以尝试去攀登垂直高度为1500米高山峰北面。登山者不论在什么时候因为恶劣的天气、精疲力竭、受伤、害怕或是供给不足等原因必须返回时,这个设备就可以投入使用,以着陆到硬的平坦地面上。这一设备可以在任何村庄租用,每次租用缴纳一定押金,租用费用为每次400元,这样每次租用村庄就能获得大约200元的毛利;当然,是用于挽救生命的。
很显然,我们迷路已经很远很远了。
我们不妨回头看看我们的道路,客户很客观很配合地回答了我们的直接提问,而我们在构建决策树、探索解决方案时给方案添加了大量的假设。例如:
1. 有轮子的。
2. 在硬的表面运输的水平运输装置。
3. 不会飞的。
4. 这种设备是紧凑的。
5. 设备的高轻便性。
6. 产品的销量很大,因此单位生产成本很小。
或许我们可以记住:
仅凭经验,并不能说明我们就能很好地把握“知识”与“需求”之间的关系。
【恶在人间】
前面的例子似乎有点刁难,但它能够很好地模拟那些喜欢在一个小房间里面设计项目中的含混性;这种情况往往会在刚从理想主义象牙塔里面出来的人们中发生。许多实际案例中,含混性程度并不那么明显,但是分布之广却有过之而无不及。
有一次,我们在对一个在线银行系统的需求规格说明书的复审中,光在第8页就发现了121个地方可以被不同的复审者用至少2种方法解释的含混点。这仅仅是886页需求规格说明书中的一页。我们可以估计一下,这种需求中含混点大概会有886*121=107206个。如果我们的设计人员遵从这份需求来进行设计,那么这些含混点都需要它们通过猜测来决策。那么,我们每次猜中正确含义的概率又有多少呢?
――温伯格&高斯
我们说,我们需要一些额外的工具和技巧来降低含混性;这是因为“我们常人并不擅长于发现我们已经忽略的东西”。这种心理学上的观察结果实际上严重地困扰了我们这些设计者。例如说,我们无法用肉眼看到X射线,我们无法用自己的耳朵听到超声波,我们无法步行漫游世界。
自然,我们不会因此为上述不足感到不安;那么,我们为什么要为自己未能够发现那些自然忽略的内容而内疚呢?正是因为上述不足,人们发明了各种各样的工具来获得成功;同样地,我们不妨也可以接受这些用于需求分析中降低含混性的工具和技术了。
这些工具和技术,我们可以在《探索需求》中找到;当然,如果我们愿意的话,不妨关注一下这个系列文章的续集。
【诫条】
1、 分歧无处不在,设计者最容易自以为是地认为他们心目中的解决方案就是客户想要的,而实际上这往往给客户强加了很多假设。即使我们发现我们的解决方案远超过客户所知,千万不要过度自满,要么去说服他们,要么去寻找能接受你的方案的新客户。
2、 直接提问时,可以使用决策树。但是千万注意对每一个问题的回答进行一次口头的和书面的确认,即把客户的回答写出来给他们看,这可以锻炼你的文字表达力,也是降低含混性的技巧。
3、 有责任的需求工作者接受我们的思想,但是他们开展工作的困难不止来自于客户,也会来自于他们的那些守旧的同事。我们必须说服这些人,最好的方法就是举一些你们共有的失败的例子。不过千万注意不要让对方难堪。
4、 理解并接受自己的局限性,同样也理解并接受客户和同事的局限性。