Der Entwickler- Almanach
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Andererseits ist die Hypothesenbildung schwierig, solange es an Wahrnehmungen fehlt. Wer den<br />
Nachthimmel nur mit bloßem Auge betrachtet, der entwickelt andere Hypothesen über die Welt als<br />
derjenige, dem ein Fernrohr oder gar ein Radioteleskop zur Verfügung stehen.<br />
In Ermangelung von Daten oder angesichts von hoher Datenunsicherheit sollte also nicht zu viel Zeit auf<br />
die Hypothesenbildung entfallen. Stattdessen sollte lieber die Wahrnehmung verbessert werden. Mehr<br />
Daten sollten gesammelt, die Qualität der Daten sollte erhöht werden. Dies kann mittels besserer<br />
Wahrnehmungssysteme und vielfältigerer Experimente geschehen.<br />
In der Softwareentwicklung sind nun die Kosten für Experimente, das heißt die Produktion von Code<br />
(Manifestation) und seine Überprüfung (automatisierte Tests, Continuous Integration/Delivery), in den<br />
letzten 25 Jahren sehr stark gesunken. Und es hat sich die Meinung durchgesetzt, dass die<br />
Ausgangsdatenlage (Anforderungen) notorisch schlecht ist.<br />
Konsequenterweise ist das Interesse an Hypothesenbildung stark gesunken. Softwareentwurf ist kein<br />
unverbrüchlicher Schritt mehr im Softwareproduktionsprozess. Moderne Entwicklungsumgebungen mit<br />
Test- und Refaktorisierungswerkzeugen und agiles Vorgehen haben die Frequenz für Experimente stark<br />
erhöht. Experiment vor Spekulation, könnte man sagen. So sehr mancher es sich wünschen mag, ganz<br />
ohne Entwurf kommt die Softwareentwicklung jedoch nicht aus. Er mag weniger explizit und flotter sein<br />
als vor 30 Jahren, nichtsdestotrotz findet er statt. Selbst bei Test-Driven Design (TDD) wird noch<br />
entworfen; ohne eine Entwurfsidee keine Refaktorisierung. Es bleibt also die Frage im Raum, wie denn ein<br />
Entwurf aussieht. Welche Form hat diese Hypothese<br />
Meine Antwort darauf ist: Entwürfe beschreiben Strukturen. Das sind in Beziehung gesetzte Bausteine.<br />
Die stehen jedoch nicht nur einfach so in der Gegend herum, sondern verhalten sich zur Laufzeit; sie<br />
wirken aufeinander. Es sind also dynamische Strukturen oder Systeme. Abbildung 1 zeigt eine Struktur in<br />
ganz abstrakter Weise: Sie sehen Bausteine (zum Beispiel Dreieck, Quader), die in Beziehung stehen. Die<br />
sind explizit (zum Beispiel Pfeil) oder implizit (Anordnung auf dem Blatt). Alle Elemente können<br />
verschieden ausgeprägt sein (zum Beispiel Farbe, Form, Richtung).<br />
Welche Bausteine und Beziehungen es gibt, wie sie in welchem Zusammenhang ausgeprägt sein können,<br />
das gibt eine Entwurfssprache vor. <strong>Der</strong> Entwurfsprozess wählt aus ihr im Hinblick auf die Entwicklung<br />
einer konkreten Hypothese. Wer entwirft, beantwortet durch seine Auswahl die einfache Frage: „Mit