Ziel der Softwareentwicklung sollte es immer sein, etwas Neues zu schaffen. Dies muß nicht eine noch nie dagewesene Idee sein, sondern kann auch die Variation von etwas bekannten sein. Wenn aber etwas zum zweiten Mal gemacht wird, ohne neue Aspekte hinzuzufügen, so gibt es prinzipiell keinen Grund, nicht das Original zu benutzen und alle weitere Arbeit ist nur Zeit- (und Geld-)verschwendung.
Gleichzeitig ist die Softwareentwicklung auch eine sehr strikte Anwendung von Logik. In dieser Dualität zwischen Kunst und Mathematik ist die Softwareentwicklung der Architektur sehr ähnlich. Es ist daher kein Zufall, daß die für die Softwareentwicklung sehr fruchtbare Diskussion über Entwurfsmuster ihren Ausgang in einem Buch über Architekturmuster nahm.
Im Unterschied zur Architektur ist aber ein komplett aufgearbeiteter Entwurf bereits praktisch identisch mit dem Ergebnis. Wenn jedes Detail einer Software ausgearbeitet ist, muß ich nur noch kompilieren. Es werden nicht mehr große Mengen von Handwerkern bebraucht, die die Umsetzung von der Pläne in ein physisch existentes Gebäude durchführen.
In den Frühzeiten der Informatik war das mal anders. Damals war es recht mühselig, Lochkarten anzufertigen, diese zum Operator zu bringen, den Ausdruck des Ergebnisses abzuholen und dann die Lochkarten zu korrigieren. Damals wurden die Programme häufig von Experten auf Papier entworfen und dann von sogenannten Kodierern in verarbeitbare Lockkartenstapel umgesetzt. Bei den heutigen Entwicklungsumgebungen aber ist dieser Zwischenschritt überflüssig.
Wenn doch noch bei der Entwicklung langweilige Routineaufgaben anfallen, die man Hilfskräften übertragen könnte, machen wir etwas falsch. Dann ist entweder der Entwurf redundant oder wir benutzen die uns zur Verfügung stehenden Werkzeuge nicht richtig.
Keine Kommentare:
Kommentar veröffentlichen