[one_half]Many of today’s engineering systems, such as planes, cranes, cars, bridges, and mobile phones, are beautiful machines that consist of thousands of components that fit and work together as a single entity. Coordinating the design of all those components to ensure that they will fit and that they will work together is a highly complex task. Not surprisingly one can find many horror stories in which companies suffered from major development delays and severe budget overruns.
One of the reasons for these delays and budgets overruns is that documents written in natural language are (still) the primary means of communication
[/one_half]in design projects, especially in the early design phase. Such documents are notoriously ambiguous, incomplete, inconsistent, and out of date. As a consequence, engineers often have to base their (design) decisions upon faulty and incomplete information which regularly yields incompatible component designs. As a result, engineers have to adjust their designs over and over again. This is called rework, which is not only frustrating but is a major source of delays and budget overruns as well.