解决问题的工程

    此前我说过,工程师花费了大量的时间,有时候几乎是他们全部的时间去解决问题。为什么非得如此呢?教师教学、法官断案,那么工程师为什么不专司工程?为什么他们要花费那么多的时间去解决问题?

    在我们看来,运气不好可能是一种解释,例如747遭遇到的那个不可预见的挫折。无法满足不同利益集团的利益也是一个原因。技术挫折或人的原因当然很重要,但是它们并不是最主要的,工程之所以和解决问题紧密相连,有着更系统的原因。

    正如我所定义的,标准工程与已知技术有关。这使得每个设计实际上都是已知技术的新版本或新案例(JT9D就是喷气式发动机的一个新版本)。但是一个新案例或一项新设计只有在技术的某个方面需要变得不同的时候才会被需要(如果不进行新设计的话,设计中已完成的部分将被迫放弃,建构过程也将停止)。新的设计可能是需要达到一个新的功效水平(例如,JT9D);或者是需要一个不同的物理环境;或者有了更好的零件和材料的选择;还有可能是市场发生了变化,因而需要某个技术的新版本。总之,无论哪种情形,一个新设计只有在必须的情况下才会被实施。

    这意味着一个新项目总会抛出一些新问题。完整的回应(即完成的项目)通常就是一种解决方案,也就是需要在具体的理念指导下对集成件进行恰当地组合以完成这个给定的任务。我们可以说,一个完整的设计就是对特定工程问题的特定解决。

    想要全面解决问题,就一定会遇上许多新情况,因为每个层级上的集成件的选择都需要重新考虑,并重新做出相互和谐的设计。某些集成件或模块当然可以单独进行修改,但是总的来说,当一个现存技术正在建构成一个新的版本的时候,每个层级,每个层级的每个模块都需要重新加以考虑。如果它不能和其他部分或预期的希望相匹配的话,必然要被重新设计。而这里的每一项设计又都会抛出它们自己的问题。所以我们可以更准确地说,一个完整的设计是针对一系列问题的一系列解决。

    这么说并不意味着每个解决结果都能令人满意。不良的解决结果可能引起持续不断的问题。波音737就曾因方向舵失灵(专业术语叫“异常”)问题而备受困扰,这个问题曾引起过一次坠毁。工程师们用了很长时间去理解和解决这个问题。设计问题在技术的一个生命周期中常常不能够被彻底地解决,从莱特兄弟的飞行器到现代F–35喷气式战斗机,为飞机提供合适的控制系统一直都是一个难题。由计算机控制的自动驾驶现在成为一种解决办法,但是这种解决方法本身还处于完善当中,需要和应用它的新机型共同进步。