Why software development is so conservative?

Sergiy Yevtushenko - Jan 9 '20 - - Dev Community

It might sound unexpected, but software development is extremely conservative and slow to accept new ideas. Few examples:

Agile Methods

A thing which can be considered a prototype of traditional agile team was introduced almost 50 years ago - it was Chief Programmer Team. In 1974 Ernest Edmonds published a paper “A process for the development of software for non-technical users as an adaptive system,” (General Systems, vol. 19, pp. 215–217, 1974) which describes iterative approach to software development - the core of Agile Methods.

Wider acceptance of these methods began another 30 years later, but even today you can see "scrum experience ... is a plus" in job descriptions, meaning that it's something relatively new for the hiring company.

OOP

The whole software development history is a fight with complexity. And most complexity in software appears from internal dependencies. One of the first and most successful attempts to fight this complexity was introduction of structural programming. Basically it introduced encapsulation for the code - every function/method is considered a black box with defined interface. From this point of view OOP is a natural extension of structural programming - it adds encapsulation to data. Due to this no one should be surprised that OOP did born in about the same time frame as structural programming - around second half of 60's.

Wide switching to OOP started somewhere in 90's and there are still areas (bare metal embedded software development) where many developers consider OOP as bad and harmful.


List above contains only most prominent examples which show how actually conservative software development is. The only thing which I still don't understand - why...

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player