按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
金斯先生本米打算在日记中记录下管理的成败,但是现在他在想:是不是应该改写
一本关于这些谜题的书。肯定会有很多谜题的
过了一会儿,贝琳达从游泳池里爬上来,走到他身边,围着一条浴巾:“嗨,
老板,怎么了?”
“水滴到我腿上了。”
“对不起。,”
“我被谜题难住了,全是因为你的问题。愿意跟我一起困惑一会儿吗?”
“当然。”贝琳达把浴巾在躺椅旁边铺开,坐在上面,“今天的谜题是什么?”
他苦笑着说:“那可多了,我们就从含糊的规格文档开始吧。我有两个问题:
为什么规格文档会被写成那个样子?还有,为什么从来没有人注意到?除了你。为什
么?为什么我们其他人都相信那的确是系统的规格,如果不能理解,那就是我们的问
题,而不是文档的问题?”
“这个问题比较困难。让我先从比较简单的部分开始吧,我可以回答的部分:
为什么我们这些能力很强的团队没有吹个口哨说:‘这个规范细则在骗人’?如果这
项目管理通俗读物 最后期限 ID2002
148
份规范文档不那么糟糕,我们会叫他们更努力些,以弥补他们的无能。这才是良好
的、专业的态度。但是,这份无线电管理系统规范文档实在太糟了。在文档编写课
程中,这样的文档一定及不了格。为什么他们没有告诉我们这些?”
“对,为什么?”
“如果他们中的某个人正在上文档编写课,他就会毫不犹豫地给这份文档打个
不及格。但是他们觉得自己并不是处在评价的位置上,而是处在竞争的位置上。”
“和规范文档竞争?”
“彼此竞争。我有一种理论,韦伯斯特:我们所有人在内心深处对自己的智力
都有些许怀疑。我想也许整个人类都有这种奇怪的特征:每个人在内心深处都觉得
自己的智力比其他人要低一些,并且用更多的努力来补偿自己的‘缺陷’。当我们
读到像无线电管理系统规范这种复杂的东西时,我们就暗地里认为别人都能理解,
只有自己理解不了。现在,老板进来了,他问道:。你们看得怎么样了?都搞定了吗?’
你手足无措了,该说什么呢?你只好给自己掩饰,说:‘喔,很好.老板。我是说,
当然.它很复杂,当然,但是只要再给我点时间……’。其他的人也都这样说。”
“所以,就没有人会吹那声口哨。”
“我很久以前就知道这个了,韦伯斯特。没人会告诉你这份文档根本没用。人
们也许会抱怨说它写得不够清楚,但是不会告诉你真正需要知道的:那根本不是一
份规范文档,规范文档需要做的事情它一件都没做。它根本什么都没有规定。”
“那么,你怎么能看透呢?难道你心里就没有自我怀疑吗?”
“你是在问一个住在棕榈树下的女人吗?严肃点。当然,我也有小算盘,跟别人
一样。但是,我已经经历太多这样的事了。我知道有些规格文档完全就是垃圾,所
以我学会了看穿这些垃圾。比如说,我有一些很机械的规则。”
“请跟我分享吧,我好想知道你的规则。”
“好,我会告诉你的。按照定义,所谓‘规格’是一份报告书,它描述了系统
——一组既定的反应——怎样对外部的世界作出反应。每个规格都有两个部分:首
先,应该有一组策略表明系统怎样响应事件;其次,需要一组输入和输出,让事件
和响应能衔接起来。不管系统有多么复杂,这第二个部分都非常简单:所有的输入
和输出都是可列举的数据和控制流。它们都应该是可以命名或者编号的。它们也可
项目管理通俗读物 最后期限 ID2002
149
以度量——例如用流中的数据元素数量来度量。而且它们也是可以计数的。”
“你是说如果一个系统真的很复杂,所有的复杂性也都应该在策略中。”
“对。这些策略决定了输人怎样转换成输出,它们可以有任意的复杂度。但是
输入输出始终都只是输入输出。你可能永远都不能理解转换过程,但是如果规格文
档有任何价值.它就必须准确地告诉你系统接口的特性。如果它连最起码的输入输
出数晕都不能提供,那么这份规格文档就及不了格,它根本就不能算一份规格文档。”
“所以,每份规格文档起码都必须有完整的输入输出统计,也许还要有每个输
入输出一个名称和位置。”
“这是起码的。这样的规格文档也许还得不了‘优’,但起码不会像这个无线
电管理系统规格这样毫无用处。”
他沉思了一会儿:“好吧,也许这就能解释无线电管理系统项目的问题了。系
统中的确有极其复杂的转换策略。而规格文档的编写者在试图描述转换策略的时候
陷人了泥潭不能自拔,以至他们忘了做相对简单的部分。在这种情况下,我们可以
得出结论:这个系统太复杂.也许根本就不能详细说明。这就是规格文档失败的原
因。”
“我不这样想,还有些其他的原因,我也会告诉你这方面的理论。但是,首先
我要指出:不管转换策略有多复杂.详细说明系统的绝大部分只需要列举出输入和
输出。我请你想象另一份无线电管理系统规格文档,想象它只有20页。它完整而详
尽地列出了输入和输出,每个输入输出都有名称,定义精确到了数据元素的层次。
在输入输出的意义很重要的地方,会有对信号的描述,也许甚至包括电压、脉冲宽
度等数据。这就是我们的输入输出列表,假设其中有20种输入和30种输出。现在,
在‘转换’部分,我们只写上一句话:‘20种输入和30种输出以某种方式联系在一
起。’这份规格文档怎么样?”、
“贝琳达,这份规格文档糟透了!完全是模糊不清的。”
“在转换策略的描述上,的确。但是在输人输出的描述上,它既清楚又完备。
换句话说,简单的部分做得很完美,只有困难的部分才写得不清楚。”
“那么,你想说明什么?”
“我想说:这样一份规格文档,尽管如此不完善,至少可以让无线电管理系统
项目管理通俗读物 最后期限 ID2002
150
项目正常运转,也许还可以让这个项目免于被起诉。开发者能看到其中的缺陷,他
们会写出自己对于转换策略的设想,并把这些设想提交给系统管理员和项目经理,
得到他们的批准或者改进意见。我所说的这个20页的规格文档是一份直正糟糕的文
档,但是它比联邦航空局的那份文档要好太多了。”
他毫不怀疑这一点。但是听她说了这些,他又有了一个新的问题:“那你说为
什么他们要这样写文档呢?为什么他们要把它弄得那么含糊?”
她大笑起来:“我最后终于找到了答案。一开始的确不容易理解,但是当我掌
握了普遍的规律之后,特定的实例就很容易弄明白了。”
“‘普遍的规律’是……?”
“文档中的含糊意味着没有解决的冲突。”
“冲突?”
“冲突。系统是各个相关人群协商得到的。包括所有者、用户、投资方、开发
者、操作员和管理员。在无线电管理系统这样复杂的系统中,相关的人可能有好几
十种。有时候,他们无法取得共识,这时就会产生冲突。举个例子:假设无线电管
理系统的某个协商者希望变量初始化能由系统操作员直接控制,而另一个人却希望
能集中管理所有变量的初始化。”
“啊,他们就产生冲突了。如果冲突不能解决的话。。。。。。?”
“规格文档就不得不模糊。比如说,文档不能说明系统中是否有方便操作员直
接输入的键盘,也不能明确指出所有的配置变量。每一个清楚的描述都会遭到一个
或几个人的反对,因为要作出清楚的描述,就必须在他们的冲突中做一个选择。”
“规格文档的编写者可以写出清楚的文档,但是……”
“他们就必须表明自己的态度,在冲突的双方中作出选择,然后就会被另一方
生吞掉。”
“这多郁闷啊。他们不去解决冲突,而是用含糊的语言来编写文档。”
“总是这样。现在。只要在规格文档中看到任何不明确的东西。我就会四下寻
找冲突,而且总是能找到。我相信,光想着‘写出明确的描述’之类的是根本没有
用的。需要提高的不是我们的表达能力,而是解决冲突的能力。”
汤普金斯先生望着远方的群山和天空.几颗星星悄悄地升起。他任由自己的思
项目管理通俗读物 最后期限 ID2002
151
绪漫游在天际。
过了一会儿,贝琳达问道:“吃点晚饭怎么样,老板?”
“你先