Software as an Engineering Discipline.


The past few decades have seen Software emerge as a full fledged discipline.
The earlist history is traced by some to Ada Lovelace, who supposedly wrote the first algorithm for Charles Babbage’s computing engine. Later efforts involving digital computers included people from various disciplines writing machine language programs that were run in batch mode on these rather exclusive and expensive machines.
With the emergence of higher level languages and the proliferation of larger, more complex machines albeit inexpensive machines, programming or software development emerged as a separate area of expertise.

In recent decades, efforts such as the SEI’s CMM model and other such initiatives have tended to treat software development as an engineering process. Some people on the other hand, tend to treat it as akin to creative exercise – more an ‘art’ than a ‘science’. The debate continues...