Abstrakt und Konkret

Kürzlich habe ich an einem Crawler-Tool für eine Bild-Website gearbeitet und dabei tiefgehende Erfahrungen gesammelt. Ich habe schnell einen Prototyp erstellt, wollte ihn dann aber universeller einsetzbar machen – also abstrahieren – und merkte, dass ich ständig umschreibe. Ständiges Neuschreiben kostet viel Zeit; die Software scheint Fortschritte zu machen, aber an Funktionen wird nichts hinzugefügt, was etwas frustrierend ist.

Wenn man von Anfang an den optimalen Ansatz geklärt hätte, könnte man manche Umwege sparen. Doch endloses Abstrahieren führt nirgendwohin. Man läuft Gefahr, in die Falle des Over-Engineerings zu tappen: Man arbeitet zwei Wochen und hat am Ende nicht einmal einen funktionstüchtigen Prototypen. In einer Zeit, die auf sofortige Ergebnisse fixiert ist, ist das ein echter Fehler.

Anpassungsfähigkeit und Funktionalität von Software sollten sich gegenseitig und schrittweise entwickeln. Rom wurde nicht an einem Tag erbaut. Ein kleines Ziel jeden Tag – und schließlich wächst daraus ein kräftiger Baum.