Little significance is attached by medical informatics workers to the many practical issues which affect the development of clinical decision-support systems. We examine the current state of research in clinical decision-support, the characteristics and motivations of developers, and the perceptions of intended end-users. Factors which adversely affect the success of systems are highlighted and pointers to good practice discussed. We then propose a coherent approach to system development, consisting of requirements analysis, software design, implementation, testing, evaluation and maintenance.