Towards Knowledge Evolution in Software Engineering: An Epistemological Approach

Towards Knowledge Evolution in Software Engineering: An Epistemological Approach

Yves Wautelet, Christophe Schinckus, Manuel Kolp
DOI: 10.4018/978-1-4666-1562-5.ch002
(Individual Chapters)
No Current Special Offers


This article presents an epistemological reading of knowledge evolution in software engineering (SE) both within a software project and into SE theoretical frameworks principally modeling languages and software development life cycles (SDLC). The article envisages SE as an artificial science and notably points to the use of iterative development as a more adequate framework for the enterprise applications. Iterative development has become popular in SE since it allows a more efficient knowledge acquisition process especially in user intensive applications by continuous organizational modeling and requirements acquisition, early implementation and testing, modularity,… SE is by nature a human activity: analysts, designers, developers and other project managers confront their visions of the software system they are building with users’ requirements. The study of software projects’ actors and stakeholders using Simon’s bounded rationality points to the use of an iterative development life cycle. The later, indeed, allows to better apprehend their rationality. Popper’s knowledge growth principle could at first seem suited for the analysis of the knowledge evolution in the SE field. However, this epistemology is better adapted to purely hard sciences as physics than to SE which also takes roots in human activities and by the way in social sciences. Consequently, we will nuance the vision using Lakatosian epistemology notably using his falsification principle criticism on SE as an evolving science. Finally the authors will point to adaptive rationality for a lecture of SE theorists and researchers’ rationality.
Chapter Preview

Problem Statement

This section presents the research context i.e. software engineering and more particularly software development life cycles; the research approach, i.e. the framework developed for applying different epistemologies at different level of a defined software development system. It then turns to the epistemological trends where the application of the particular epistemologies are justified and finally point to the main contributions of the article.

Complete Chapter List

Search this Book: