A Comparative Overview of the Evolution of Software Development Models (pp. 163-172)

Matkovic, P., Tumbas, P.
Information system (IS) development began as early as 1940. Up to the 1960s, IS development was based on IT pioneers’ individual knowledge, so that this period is referred to as pioneer era, and some sources even use the term heroic age. The emergence of software crisis also saw the first forms of organised and systematised software development. Systematizing and organising the development efforts was concretised through a multitude of methodologies which appeared in the meantime, and were used for determining the structure, as well as planning and monitoring development procedures. Academic and professional literature offers a multitude of definitions of the term methodology. Most definitions explain this term as a set of clear rules and principles for the application of methods and/or procedures, with the aim of resolving various problems. More specifically, in the software development area, methodologies can be viewed as a set of rules and principles for using methods and/or procedures applied when conducting development activities by pre-defined roles in the software development process, with the use of input artifacts, aimed at obtaining output artifacts as the constituent elements of the future software. Methodologies are built on theoretical foundations, and are all based on one or more development models. In this paper, the term model refers to a systematic and logical description of a development process, without detailed elaboration of activities, performers, inputs and outputs. The paper provides an evolutional overview of development models, with their comparisons, and considers the expected avenues of future development.