Wiston Royce,瀑布模型的提出人,他提出瀑布模型的本意就是用来批判的,但是现实和他闹了个笑话,多少年了大量的设计师把它奉为圣典。
更加可恶的是,我们的教科书上曾经也把他视为珍宝,这些教育工作者,叫兽砖家们,该醒醒了 。。。:)
理性模型强调在设计的第一阶段就是把需求的内容以完整的设计树来表达,而这是不可能的。
首先,我们的项目的初始阶段并不能真正知道需求的目的是什么
瀑布模型最严重的缺陷在于,我们在最开始往往只有一个模糊不清的目标,不完整的目标,在这种情况下,设计最困难的部分不是把需求空间转换为设计空间 ,而是决定要做什么,也就是需求空间本身。
指望客户对需求的目标有清晰的认识是不现实的,设计师最主要的任务是帮助客户发现他们想要的设计,也就是需求本身。
第二,即时需求很明确,我们也很难知晓设计树的样子,只有一边设计一边探索。
在高新技术领域,很少有设计师拥有足够的知识来绘制该领域的基本设计决策(设计树)。
第三,设计树上的节点(每个子需求或者子子需求。。),都会有多个备选设计,我们需要从中暂定一个
而备选方案会随着需求规模的扩大呈爆炸式增长,是人们思维中的难以承受之重。
第四,有用性函数无法以增量式方式求值
每一个设计因素的有用性函数会和其他的有用性函数都可能有交互,比如设计计算机过程中,体积是越小越好,散热性能是越高越好,而这两个有用性函数是冲突的。 在更加复杂的项目中,此类问题数量巨大,我们无法事先确定。
第五,必要条件极其权重都在持续变化,最初的设计树可能很快就不是合理的设计树
比如我们设计房屋时,最初房子的坚固程度的权重并不重要,一次偶然的地震,这个必要条件被明显提升,这可能就对最初的设计树产生巨大的冲击。
第六,约束条件在持续变化
约束会随着整个过程不断变化,如建筑工人遇到了无法凿穿的岩石层,分析结果表明最初设计使用的芯片的冷却问题成了新问题。
当然并不是所有的约束条件都会更加严格,有时候约束条件也会消弭于无形。
第七,设计空间之外的约束在变化
项目进行过程中,本来任务艰巨的一部份功能因为其他公司开发了现成的工具而变得简单。
所以理性模型只是人们自然而然的一种思维方式,它是理想化的,不现实的,现实世界是复杂的,不要企图在做事之前把事情分得过细,也就是希望得到详尽的设计树,而 这正是理性模型的要旨。朋友,一边设计一边探索吧!
最终结论: 瀑布模型时错误的,有害的,必须发展加以抛弃!