würth|software

Ist Softwareentwicklung kompliziert?

Karin Jung/Pixelio

Ist Softwareentwicklung kompliziert?

Eine kurze Antwort

Ja, Softwareentwicklung ist kompliziert.

Eine ausführliche Antwort

Das Komplizierte liegt in der Natur der Sache.

Angenommen, Sie wollen einen Geschaftsprozess beschleunigen, verbessern und transparenter gestalten.

Sie schildern diesen Geschaftsprozess einem Softwarehersteller. Und der beginnt, Fragen zu stellen, und immer noch mehr Fragen....
Sie stellen erstaunt fest, dass die Aufgabe viel komplexer und komplizierter ist, als Sie zunächst angenommen haben.

Das ist ein bekanntes Phänomen. Eine allgemein anerkannte soziologische Erkenntnis besagt, dass wir von der Komplexität unseres Alltags abstrahieren müssen. Andernfalls würden wir überwältigt werden von der Fülle der Details. Wir bewegen uns also immer mit einem Filter durch das Leben. Unwichtiges bzw. Selbstverständliches blenden wir aus. (Zum Nachlesen: Berger, P. L. / Luckmann, T., Die gesellschaftliche Konstruktion der Wirklichkeit, Eine Theorie der Wissenssoziologie, Frankfurt 1980)

All die vielen 'Nebensächlichkeiten', von denen Sie bei der Formulierung der Aufgabe abstrahiert haben, müssen dem Softwareentwickler aber bekannt sein, damit das Programm am Ende so funktioniert, wie Sie sich das wünschen.

Wenn Software komplexe Sachverhalte abbilden soll, wie verhält es sich dann mit der Komplexität des Programmierens und wie mit der Komplexität des Programmcodes?
Die Antwort wird immer so lauten: Das Programmieren ist eine komplizierte Angelegenheit und der Programmcode ist meist sehr komplex. (Und zwar sehr viel komplexer als man sich das gemeinhin vorstellt.)

Es ist dann die Aufgabe und die Kunst des Programmierers, das Programm so zu gestalten, dass es klar und sinnvoll strukturiert und auch für andere Programmierer pflegbar ist. Dabei helfen Ausbildung, Erfahrung, Weiterbildung und Standards. Und wenn es richtig gut werden soll ist Kreativität entscheidend.

Edsger Wybe Dijkstra, ein niederländisches Urgestein der Programmierung, hat das so beschrieben:
'The art of programming is the art of organizing complexity, of mastering multitude and avoiding its bastard chaos as effectively as possible'.