Agile Development of Diagnostic Knowledge Systems

Paperback / softback
The success of diagnostic knowledge systems has been proved over the last decades. Nowadays, intelligent systems are embedded in machines within various domains or are used in interaction with a user for solving problems. However, the development of a knowledge system is still a critical issue. Similarly to projects dealing with customized software at a highly innovative level a precise specification often cannot be given in advance. Moreover, necessary requirements of the knowledge system cannot be defined until the project has been started or are changing during the development phase. This thesis motivates that classical, document-centered approaches cannot be applied in such a setting. We introduce an agile process model for developing diagnostic knowledge systems, mainly inspired by the ideas of the eXtreme Programming methodology known in software engineering. The engineering process is supported at a primary level by the introduction of knowledge containers, that define an organized view of knowledge contained in the system. The actual knowledge is acquired and formalized right from start, and the integration to runnable knowledge systems is done continuously in order to allow for an early and concrete feedback. The validity and maintainability of the collected knowledge is ensured by appropriate test methods and restructuring techniques, respectively. Additionally, we propose learning methods to support the knowledge acquisition process sufficiently. The process model and its activities are evaluated in two real life applications: in a medical and in an environmental project the benefits of the agile development are clearly demonstrated.