Softwareentwicklung

Softwaredevlopment / Softwareengineering / Die Kunst der Softwareentwicklung

Was bedeuet es, Software zu programmieren? Kann Software ingenieurmässig erstellt werden oder handelt es sich um einen so kreativen Prozess, dass wir im engeren Sinn des Wortlauts von der "Kunst" der Softwareentwicklung sprechen müssen?

Ich bin der Meinung, dass Software nicht ingenieurmässig erstellt werden kann, zumindest wenn man den gesamten Prozess der Software-Entwicklung betrachtet. Die frühen Phasen der Softwareentwicklung (insbesondere die Analyse) lassen sich nicht detailliert vorgeben; es gibt keine Regelwerke hierzu, welche 1:1 angewendet werden könnten

Aber trotz der sehr kreativen Aspekte, welche den Softwareentwicklungsprozess begleiten, glaube ich auch nicht, dass wirklich von einer "Kunst" gesprochen werden kann. Denn Softwareentwicklung fordert häufig auch ein sehr diszipliniertes, geregeltes Vorgehen, wenn wirklich gute Software erstellt werden soll.

So habe ich mich für den Begriff Softwareentwicklung/Softwaredevelopment entschieden. Und das Wort "Entwicklung" sollte auch genau so verstanden werden: Software wird nicht nur entwickelt - sie entwickelt sich auch (im Lauf der Softwareentwicklung). Es ist nicht möglich ein Programm beim ersten Anlauf korrekt und vollständig zu schreiben. Ein inerativer Prozess ist notwendig, in welchem die Software Stück um Stück wächst.
Dies widerspiegelt sich z.B. auch im RUP (Rational Unified Process).


Wenn ich also auf den weiteren Seiten dieses Internet-Auftritts von Softwareengineering, Softwarebau oder der Kunst der Softwareentwicklung spreche, verwende ich dies nur zur Auflockerung des Textes, und meine eigentlich immer Softwareentwicklung.