Instructional designers and teachers, at all levels of education and training, try to put in common, to share and to reuse the practices affecting their pedagogical design and expertise. However, the instructional environment, and in particular the design and development of educational systems, can benefit from similar knowledge sharing, especially because of the difficulty, length and cost of this development process. In this paper, we aim to show how building educational systems can be more effective and beneficial using a frameworkoriented approach. To do so, we describe different levels of abstraction in the design and the development of an Intelligent Tutoring System (ITS). We first recall what an ITS is, showing its advantages and drawbacks, and identifying different knowledge types. To tackle the limitations of the ITS construction, we then propose to build a framework, including guidelines and tools to ease its development. We finally show that a collaborative framework-oriented approach is indeed feasible, describing how to build such a framework. We thus try to promote reusability and extensibility in many aspects of the design and development of ITSs.