Knowledge engineering

Expert systems were first developed in artificial intelligence laboratories as an attempt to understand complex human decision making.

The Stanford heuristic programming project led by Edward Feigenbaum was one of the leaders in defining and developing the first expert systems.

Researchers just sat down with domain experts and started programming, often developing the required tools (e.g. inference engines) at the same time as the applications themselves.

These firms already had well tested conventional waterfall methodologies (e.g. Method/1 for Andersen) that they trained all their staff in and that were virtually always used to develop software for their clients.

These issues led to the second approach to knowledge engineering: the development of custom methodologies specifically designed to build expert systems.