There are two serious schools of thought. One says that software development is a creative work – one hundred percent. The other school of thought says that software development can be engineering. While creative work is completely dependent on the individual, engineering work is much less dependent on the individual, for both quantity and quality of output. Which one is right? My view is that both schools of thought are right but they have their places.
Especially in system software development and development of software in new and emerging fields is largely creative. Development of business applications is largely engineering.
When you come to think of it, is there any activity of human endeavor that so completely devoid of creativity? I say not. If any activity is so completely devoid of creativity, it would have been entrusted to a machine. Engineering activity has but a smaller component of creativity and every creative activity has a smaller component of engineering in it.
I wish that this is recognized by the proponents of “software is completely creative” theory. BTW, most of them are academics. In any discussion on application of engineering methods and tools, these people become aggressive and denounce any attempt at bringing discipline to the field of software development. Result? Higher cost of software for the public.
Till next post. Ciao
Eric Rayburn commented
I found this article very informative. It is important to know the difference software development and engineering. From the many projects that I have been involved in I needed to understand the differences. I now have a new prespective