Abstract :
The nature and the role of conceptual modeling in information systems development has neither in theory nor in practice been established satisfactorily. There are diverse views on what conceptual modeling is and on how to perform it. In one extreme, there is the view that conceptual modeling is an (optional) activity whose main purpose is to improve communication between the parties involved in the development process. In the other extreme, there is the view (shared by us) that conceptual modeling is an activity that is necessarily performed in all cases, and whose purpose is to define the conceptual schema, that is, the general knowledge a system needs to know to perform its functions. The latter has been captured in what we call the principle of necessity of conceptual Schemas, which states that "To develop an information system it is necessary to define its conceptual schema". Agile development processes have added even more confusion to conceptual modeling. The value of "Working software over comprehensive documentation", stated in the manifesto for agile software development, seems to undermine conceptual Schemas in favor of working code. However, as we explain in the talk, it does not need to be so. In the talk, we present a framework that describes the contents of conceptual Schemas, the form they may take and the roles they play in information systems development. Based on that framework, we review the principle of necessity of conceptual Schemas. We then apply the framework to the particular case of agile development, and discuss the validity of the principle of necessity in that case. The framework is intended to be useful for inspiring future research, and for improving the practice and teaching of conceptual modeling.