【探索需求对话2】反复无常的东西不是真正的需求
2004-08-03 11:34
441 查看
探索需求对话
潘加宇 熊妍妍 / 翻译整理 本文刊登在2004年6月《程序员》杂志上,版权所有,未经许可,禁止任何形式的转载,违者必究! 2004年3月19日,温伯格先生应邀在UMLChina通过远程音频与开发人员做了一次有关“探索需求”的交流,很多开发人员都受益颇多。为此,我们翻译整理了这次交流实录,从中我们可以体会到大师的思想。反复无常的东西不是真正的需求
如何说服客户放弃不切实际的需求?[/i][/b] 又一个很好的问题!这就是我刚刚说的。最好的办法是我称为“橙汁测试”的方法。你可以在我的《咨询的秘密》一书中找到这个方法,那本书中说得更详细。基本的思想是:告诉客户,我们能满足他们的需求,但是这需要成本。如果你没有告诉他们所需的成本,他们当然不会知道那些需求是不切实际的。但是,判断需求是否不切实际并非工程师的责任,因为工程师不知道花多少钱才值得他们去做,他们只知道满足需求需要花多少钱。 这里有一个麻烦。我不知道在中国是怎样一个情况,但在美国,有时有这种情况,像一些政府机构,客户实际上并不为软件开发付费。软件开发商只是被告知要为这些客户开发软件,但他们与客户之间并没有金钱交易。这种情况下,想办法让客户放弃不切实际的需求是极度困难的,因为他们开发软件看起来并不需要花钱。这种情况下,你必须找出另一种类型的成本。而大多数情况下,最好的方法是时间。所以,我们可以跟客户这样说:“我们能按照你的要求这样做,但这样可能要使你的项目延期两年,或三个月。”客户会说,“噢,我不能等这么久。”然后他们就会放弃。接下来你就可以和他们协商别的事情了。 另一种方法就是告诉你的客户,因为需求的变化,一些重要的功能性或特性会因此而改变。所以你可以这样对客户说,“如果我们这样做,系统就会变慢,需要三倍的时间来响应。” 如果客户不能容忍一个慢的系统,就可能会放弃他们最初不切实际的需求。 或者你可以这么说,“我们能做,但如果我们做了这个,就不能做别的事情了,你看到底怎么办?”。他们会选择放弃其中一些要求,使需求变得更加切合实际。但要记住这重要的一点:工程师不能判断什么是切合实际的,你只能告诉客户需求的成本,他们会比较看看成本是否值得,然后做出决定。在我的《质量·软件·管理》系列书中,你可以学到这些知识。 这里,有两种图会对你有所帮助。一种图是需求的成本是多少,另一种图是需求的价值值多少。如果你能为客户建立这两种图,说服他们就容易多了。 通常客户会自己选择一些产品,但可能这些产品不能满足项目的需求,怎么办?[/i][/b] 你可以用我刚才推荐的方法。通常,产品的花费,或者说购买产品的花费不只是产品本身而已,还有大笔的培训花费,如果产品本身有缺陷,还需要维护的费用,或者它会导致数据库崩溃也是一种花费。上面所说的这些都差不多是一个意思。所以你真的需要向客户提出,他们所作的选择会导致什么样的结果。但最后还是由他们拍板,你最多能告诉他们这种情况很糟糕,极端糟糕。有时你需要这样说,“我不知道怎么做。”他们很可能会因为你不知道怎么做而找别人来做,或者也有可能他们找到其他人告诉你怎么做,这样你兴许会乐意去做。没有人能让你创建一个你不知道怎么做的系统。 如何判断客户有没有告诉我们他们真正的需求?[/i][/b] 这涉及到很多个问题。我不敢肯定你问的含义。 情况可以是你的客户只是不知道他们真正的需求是什么。他们确实不知道你能帮他们什么。这是一种情况。另一种情况是他们确实知道,但他们并没有告诉你。他们在对你说谎或他们隐藏了某些东西。这些情况各自都不同,每个案例中的迹象也不同。 如果你的客户并不了解他们的需求是什么,那么你就会常常看到他们反复无常。这个时候你可以通过问问题来使事情更加精确。这是某些人所寻求的形式化过程的一部分。我给你举个例子。 可能最常见的例子就是我们发现某个人说,“我们需要一个快速的系统。”看,我们不知道“快”意味着什么。这个“快”和他们头脑中已有的某些速度有关。对某些人来说快的系统,对另外一些人却是慢的。所以,你必须找出更清楚的事实。你可能需要测试它,因为他们可能不知道。一个好的解决办法是,你可以做一个系统原型,然后改变速度,这样他们可以看到和感受快一些和慢一些的结果。这样你就可以发现真正的需求。 我如何把“探索需求”应用在日常生活中或用来帮助别人?[/i][/b] 这里,我想举一些例子,关于我自己是怎样在日常生活中应用“探索需求”的一些原则的。有一些很有意思的事情。我和我太太,已经结婚42年,哦43年了,对美国人来说这可是一段不短的时间。我们在一起非常幸福,但我们,跟大多数婚姻一样,也有一些问题。其中一个持续了数年的问题是,我们决定看场电影,然后一个想看这部电影,而另一个想看另外一部。决定我们要看哪部真是太难了,所以我们开始学会如何了解彼此的需求,来看我们有多想看这部或那部电影,以及我们能为那部或这部电影作出多少妥协。所以我会说,自从我们学会了这种方法后,婚姻幸福多了。 好的,当我和别人交换某物的时候,或者,如果我在买衣服……我以前浪费了很多钱,来买一些衣服,我不喜欢的,或穿起来不合适的。这些年来,我学会了,用那些和判断软件需求同样的技术,来得出自己的需求。所以好多了,我知道了什么是我真正喜欢的和需要的,它也为我节约了不少金钱。 我讲了两个方面,一个给了我幸福的婚姻,另一个帮我省下了不少钱。而且这也同样帮助我照顾我的子女,孙子孙女们。我想这些是生活中真正重要的几个方面。相关文章推荐
- 【探索需求对话3】沟通,了解什么是自己、是客户真正想要的东西
- 你的灯还亮着吗-发现问题的真正所在-探索需求
- 【探索需求对话1】CMM只是一种标准,UML只是一种记录需求的工具
- 大哥你需求里说只要工作流引擎组件,怎么真正需要的东西这么.悲剧了,客户需求无止境
- 大哥你需求里说只要工作流引擎组件[行政审批流程组件],怎么真正需要的东西这么....悲剧了,客户需求无止境.........
- 真正的民宿,不是旅館,是生活
- (转) 一个卑鄙女大学生和一个真正中国女人的对话
- Const速记——啥东西不总结只转发就不是你的
- 展讯真正对手不是联发科
- 优秀的程序员总是使得自己看起来是多余的,他们能让系统在缺少他们的情况下仍能不停的工作、生产有价值的东西。只有最开明的公司老板才能真正认识到这种人的真正价值。
- 你不是真正的快乐---纪念即将完结的青春和陪伴我的阿星和星仔和星爷
- 一名真正的Web程序员应该懂得那些方面的知识,应该注意学习哪些东西
- 探索Java应用程序安全需求
- 《探索需求--设计前的质量》阅读笔记三
- 《探索需求-设计前的质量》阅读笔记二
- 虚拟化,令微软害怕的不是VMware 真正对手还是开源(转)
- 真正有本事的人不是控制阶段能力强,而是让风险根本不会发生
- 一个大专生的自白——为了一个功能不睡不吃的也要搞定,然后就是实践中的理解,不是单纯的去完成某个东西
- 惹毛程序员的十件事!需求变更居然不是排第一!
- 探索新东西的方法