重构人月神话:理想模型以及变化应对

作者: 公子睿Sking | 来源:发表于2015-09-30 16:02 被阅读306次

    弗朗西斯·培根在《学术的进展》里提到:将对一门艺术的领悟联系并应用到另一门艺术中,历经若干次这样的经历而有所悟,脑海里自然就孕育出了新思想。

    换言之,在各种领域里,无论是艺术设计还是工程设计,是存在着对于设计流程、设计方式都广泛适用的属性和经验。故此,我们也应该能从各个领域和行业里得出一种进行设计的理想模型。

    借鉴于悠久的建筑历史,Brooks在《The Design of Design》勾勒出工程师进行思维设计的一种理性模型。

    在这个理想的思维模型之下,进行设计首要的是确定目标,比如要建造一间可以用来做什么的房子,要开发一个用于做什么的工程项目。

    然后是必要条件:目标工程需要具备什么样的特性,如房子的大小、扛震能力,项目有什么样的功能等。

    效用:对于每个要达成的特性,无可避免地存在着类似”边际价值递减“的状况,故此要确定我们需要足够好的东西,但何谓之足够好?房子有窗户是必要的,但是需要多大?太小了满足不了要求,太大显现是浪费,那么这个中间点在哪里?同样地,在各个领域的设计和执行里面,包括”数量“,”速度“等相关的效用,需要确定如何才算足够。

    约束:约束的考虑在于资源本身的限制,根据成本来确定执行的目标。尽管在某些地方可以设计出非常好的东西,但超出资源的情况,这种设计是无意义的。

    决策树:在明确各种目标和条件之后,对每一项设计进行判读和决策,最终形成一个要怎么做,不要怎么做的设计方案。

    这就是Brooks得出的理想模型。

    一言以蔽之,总结一下这个理想模型,其实就是确立目标,明确达成目标所需要具备的条件已经受到的限制和约束,在这些状况之下进行一个做什么不做的什么的分析和决策。那么,这就是一个行之有效的设计过程吗?在回答这个问题之前,先来具体化一下我们的场景:作为一名执行人员(或者管理人员),你被任命带领一个团队去实施客户的需求,这个客户希望你的团队来帮他建造一座房子,并且给出了房子的大小以及房子的特性(比如要有多少个窗户,多少个灯,多少间房子等),也告诉了你他可以承担的支出,你据此跟你的团队进行设计,确定房子要怎么布局等各种分析和决策问题。

    但是问题出现了,当客户看到你建造出来的房子时发现并不是他想要的那种,可能是他没有表达好,也可能是你的团队没有理解好,沟通与理解上的差异使得实际与需求并不符合。客户在看到实物之后才发现自己需要的不是这样的,极有可能是客户站在你做好的窗户面前,才觉得他不需这样的窗户,即便他之前是已经明确告诉你他需要有一个窗户在这里,在初始阶段其实客户也还没弄清楚自己真正需要一个什么样的东西。设计中最困难的部分是决定要设计什么。

    客户的要求改变了,他不需要这样的窗户,要求你换一下。于是你发现更大的问题出现,因为窗户的变更使得原来的设计不适用,这可能不单单是一个窗户的问题,包括这个房子的其他结构都需要改变,原本的设计需要重新推倒。

    你可能还会更加悲观地发现,这个需求的变更,使得之前的约束条件也发生变法,不但使得设计需要变更从而需要更多的时间去实施,花费也大大超出了预算。

    在理想的模型之下,我们要做的东西是很明确的,但在实际上,变化是经常发生的;约束条件是事先知道的,但真实的情况是我们不可能考虑到所有的情况,尤其是约束条件也可能在某个不确定的情况发生变化(比如政府突然出台政策使得地价更高,超过了客户的预算。或者某种地域的原因,对建筑面积有限制)。

    也就是,理想的情况是没有变化,而变化却是实际的情况。

    变化带来的一个问题是需要做的东西更多,因此需要的时间变长了,这可以通过增加人力来解决吗?正如《人月神话》里所讨论的,如果不能很好地分割成各个小的目标,增加人员于事无补。事实上,由于需要花费时间向新加入来的人员进行沟通传达,加上新人也会因为不熟悉而产生问题,简单地增加人员效果是恰得其反。

    变化带来的另一个问题是需要推翻之前所做的,重新进行设计和决策。

    对既定目标进行全面的设计,并在之后完善的执行这个设计,只在很小的项目或者那些已经做过很多次、具备足够经验的项目上面才是可行的。

    为了能够应对变化,就需要放弃企图事先能够做出完善设计的想法。

    螺旋模型相对于瀑布模型(类型理想模型),对于需求和设计,采取的是渐进式的方法,在不断地迭代之下去推进项目的进程。

    敏捷的思想,同样是不进行前期的全面设计,采用快速的去构建的方式来处理,一但有变,马上变更,而不固守旧设计(或者是根本没有旧设计这么一回事)。

    理想模型的困境是在变化发生的情况下,需要付出巨大的成本来去解决。而对理想模型进行改变的螺旋模型以及敏捷的思想,都是一些企图最小化变法带来的问题。而之所有会有不断的变化,更为根本的问题,是在于没能完善地确定目标,在实施之前,需求方其实并不清晰自己的所需,以及对各种条件的把握不足,故此也就不能掌控约束。

    重新回到培根的话,我们能否借鉴和学习各种范本来确切地知道当我们需要达成某个目标的时候具体需要做的是什么?我们能否借鉴和学习各种范本,在这些经验之下切确地知道面临的各种东西,得到完善的设计方案?

    这种Design of Design能够找到吗?它会是银弹吗?

    相关文章

      网友评论

        本文标题:重构人月神话:理想模型以及变化应对

        本文链接:https://www.haomeiwen.com/subject/qdxgcttx.html