Kreativität

Softwareentwicklung und Kreativität

Wir Menschen besitzen die wunderbare Fähigkeit des kreativen Denkens.

Zu was uns Kreativität befähigt:

  • Ideen finden
  • Gestalten
  • Kombinieren
  • Bestehendes verändern
  • Probleme lösen

Ohne den Besitz dieser Fähigkeiten, würde es heute auch keine Informationstechnologie geben. In den meisten Stellenausschreibungen der Softwareentwicklung wird konkret nach besonders kreativen Menschen gesucht. Diese Gabe wird verlangt aber wenig gefördert, weil ganz einfach das Verständnis hierzu fehlt. Kreativität muss daher zukünftig in Softwarefirmen thematisiert werden.

Software zu entwickeln, die nachhaltig all die an sie geforderten Aufgaben mit Bravour erledigt, verlangt einen sehr starken Einsatz von kreativem Denken. Es ist eine Ressource und Gabe, mit der wir behutsam umgehen müssen. Denn sie ist nicht immer gleich stark verfügbar und bei falschem Umgang schnell verbraucht. Um diese Fähigkeit stärker nutzen zu können, müssen wir sie besser verstehen, mit Beachten pflegen und fördern.

Kreativität und ihre Verfügbarkeit

Die Kraft der Kreativität schwankt und ist nicht immer auf Abruf verfügbar.

Faktoren die zur Stärke des Kreativseins beitragen:

  • Körperliche sowie seelische Verfassung
  • Tageszeit
  • Umgebung (Geräuschkulisse, Lichtverhältnisse, Temperaturen, Gerüche, Farben)

Kreativität ist, wie unsere Muskelkraft auch, als eine Ressource anzusehen. Wir verbrauchen sie, wenn wir zu sie zu lange strapazieren ohne dabei auf ihre nötige Erholung zu achten. Entspannung nach großem kreativem Einsatz ist absolut notwendig, um diese Ressource wieder herstellen zu können.
Erst in einem friedlichen, angenehmen und freien Raum kann sich die Kreativität richtig entfalten. Es ist auch die Aufgabe eines Teamleiters, für diesen freien Raum zu sorgen. Wenn sie den Einsatz von Kreativität ihrer Mitarbeiter schätzen und nutzen möchten, müssen sie Probleme von ihren Entwicklern fern halten und für eine angenehme Umgebung sorgen.

Bildliche Vorstellungskraft darstellen

Sehr Kreative Menschen denken verstärkt in Bildern. Bilder, die nur in den Gedanken existieren, lassen sich allerdings nicht ohne Übung für die Außenwelt definieren und darstellen, weil sie „leben“. Sie sind dynamisch.
Ein Schaubild in Form einer Datei oder auf einem Blatt Papier hingegen ist starr und unveränderbar. Es bedarf daher ein wenig Training, die lebendigen inneren Bilder nach außen darstellen zu können.

Wenn ich gedanklich durch meine Software gleite, bewegen sich die einzelnen Bereiche und Objekte pausenlos umher. Größe, Form und Aussehen können sich gefühlt in Bruchteilen einer Sekunde ändern, je nachdem wie es die Aufgabe gerade verlangt. Nur durch stetiges trainieren, gelang es mir diese Bilder so einzufangen, dass sie auch auf einem Blatt Papier Sinn ergeben. Übung macht hier also sehr viel Sinn.

Objektorientierte Sprachen

Mit dem Einzug der objektorientierten Sprachen, ist kreatives Entwickeln um ein Vielfaches angenehmer geworden. Objekte dieser Sprachen, haben einen klar definierten Raum, Funktionen und Eigenschaften, wie auch die Objekte der realen Welt. Auch dessen Zusammenspiel untereinander kann, wie die Kommunikation realer Objekte, dargestellt werden.
Mit dieser Art der Programmierung ist es möglich, Objekte aus der realen Welt direkt in die der Digitalen zu übertragen.

Das bedeutet im Umkehrschluss, dass direkt mit Objekten der realen Welt, vollkommen losgelöst von der Techniken, frei gestaltet und entworfen werden kann. Erst danach müssen sie in den Programmcode überführt werden. Dieses lässt natürlich sehr viel Raum für kreatives Denken und Arbeiten zu, da wir uns gerade beim Entwurf nicht um technische Gegebenheiten kümmern müssen.
Viele Softwareentwickler, die längere Zeit mit objektorientierten Sprachen gearbeitet haben, sehen ihren Code in genau diesen realen Bildern. Sie sehen selten den reinen Code, beziehungsweise den Text der dort steht. Der Code ist bekanntlich 2D dargestellt, wird aber von ihren Gehirnen sofort in 3D umgesetzt und gibt der Software eine Räumlichkeit, eine Realität, mit der dann viel besser umgegangen werden kann.

Als Dozent kommt mir immer wieder die Idee, eine Software anhand eines realen 3d-Modelles darzustellen, damit auch Ungeschulte ein besseres Verständnis für die räumliche Darstellung bekommen. Leider fehlt mir bis heute die Zeit, ein solches Konstrukt zu entwerfen.

Kreativität und Wissen

Ein fundiertes Wissen ist nötig, um der Kreativität überhaupt einen sinnvollen Raum geben zu können. Allerdings engt ein zu dogmatischer Blick auf unser Wissen, unsere Kreativität stark ein. Bei dem Entwickeln von Software muss unser Wissen so weit es geht in den Hintergrund gestellt werden.

Unser Wissen gehört zu jederzeit kritisch hinterfragt. Ansonsten arbeiten wir womöglich mit Informationen, die gar nicht wahr sind und zusätzlich lassen wir uns zu wenig Freiraum für Neues. Was „wissen“ wir den schon wirklich?
Unserer Wissenschaft wird heutzutage ein viel zu hoher Stellenwert zugesprochen. Ihre Theorien sind doch meistens nur eine Zeit lang gültig, bevor sie dann wieder von jemandem überprüft und umgeworfen werden. Noch dazu verfügen wir über Theorien, die auf Theorien aufbauen, ohne dabei jemals ausprobiert oder angewendet worden zu sein. Trauen Sie sich wissenschaftliche Theorien zu hinterfragen und gegebenenfalls auch anzuzweifeln. Lösen Sie sich beim kreativen Denken von all Ihrem Wissen, soweit es nur geht.

Die Phantasie sollte über Allem schweben, entscheiden sollten wir mit unserem Bauchgefühl, welches unser Wissen dabei sanft betrachten darf.