Abstraktion
Manchmal gibt es ganz unerwartete Parallelen im Leben, die einen überraschen. So hat mein Chef bei meinem Bewerbungsgespräch gesagt, dass er die Softwareentwicklung als einen kreativen Prozess betrachtet. Ich habe dem nicht widersprochen, sehe die Schwerpunkte jedoch eher im Verständnisprozess und handwerklichen Fähigkeiten. Nun wurde mir beim Besuch der Feininiger-Ausstellung klar, dass auch Künstler nach diesem Schema arbeiten und man diese Vorgehensweise also durchaus als kreativ bezeichnen kann.
Am Anfang stand bei Lyonel Feininger meist eine Skizze, mit Kohle oder Feder auf Papier festgehalten. Diese beinhaltete überraschend viele Details und vor allem auch verschiedene Ansichten seiner Motive. Während sein Bruder Bilder als Fotographien festhielt, lebte Lyonels Gedächtnis von seiner großen Anzahl an Skizzen, die ihm bis ins hohe Alter ermöglichten, die fernen thüringischen Dörfer zu malen.
Als zweiter Schritt folgten oft mit Tinte und Feder vereinfachte Versionen des Skizzen. Wenige, klare Linien reduzieren die Bilder auf das Wesentliche; großflächig aufgetragene Aquarellfarben unterstützen diese erste Abstraktion, auf dessen Basis verschiedene Vorlagen entstanden, von denen schließlich meist eine in einem Ölgemälde auf Leinwand mündete. Bei den Lithographie-Spätwerken wurde dieser Grundaufbau noch auf die Linien beschränkt, die maximal mögliche Abstraktion war erreicht.
Als ich vor kurzem von Kollegen befragt wurde wann man erkennt, wo eine Abstraktionsebene aufhört und die nächste beginnt, da wurde mir diese Parallele bewusst. Ich hatte nämlich keine passende Antwort parat, genausowenig wie Feininger wusste, wann er die Formen des Motivs weit genug reduziert hatte. Oft sieht man nicht sofort, wie man eine Funktionalität oder Code auseinanderziehen kann. Dies bedeutet jedoch nicht zwangsläufig, dass man die atomare Grundform gefunden hat; andere Techniken und Sichtweisen können den Eindruck ändern. Bis dahin ist die gefundene Lösung aber meist ausreichend.
Das Vorgehen ist also einfach, ohne deterministisch zu sein: Man vereinfacht eine Funktion, indem man nach und nach von den Details abstrahiert, bis am Ende eine nur scheinbar einfache, aber leicht zu erfassende Struktur übrig bleibt. Notwendig ist dabei nur, die Technik der Abstrahierung zu beherrschen, so wie Feininger es auf zeichnerische Art tat, und sicherzustellen, dass nichts Wesentliches bei diesem Prozess verloren geht. Auf die Softwareentwicklung übertragen heißt dies: Testgetrieben vorgehen, um zu garantieren, dass eine einmal umgesetzte Funktion nicht beeinträchtigt wird!