22 March 2013 robert.muehsig Edit

Gestern war Dennis Traub bei der .NET User Group Konstanz/Kreuzlingen zu Gast und hat das spannende Thema CQRS vorgestellt. Ich kann jedem nur empfehlen sich mit dem Konzept näher auseinander zu setzen, allerdings geht es in diesem Blogpost nicht direkt darum.

Während des Vortrags hat Dennis auch das wunderbare Wort “Architektenporno” eingeworfen als es um die Umsetzung des Konzeptes ging (mit Domain Models, Events, etc.) – was durchaus ein treffender Begriff für unsere Branche, die ständig nach neuen Methoden/Herangehensweisen sucht, ist.

Architektenporno?

Jürgen Gutsch (einer der Organisatoren der .NET User Group) hat den Begriff in einem Tweet recht gut zusammengefasst:

“eigentlich ist alles was man als Architekt geil findet und sofort umsetzen will” (natürlich überspitzt formuliert)

Super, oder? Wer kennt das Gefühl nicht? Aber vorher stellen wir uns natürlich ein paar Fragen…

Neue Herangehensweisen, Frameworks und Methode werden ständig entwickelt und das ist auch super (und halte es da wie Norbert Eder). Wenn mir eine neue Herangehensweise (wie CQRS) über den Weg läuft, dann muss ich mir eine ganze Reihe von Frage stellen:

- Was sind die Vorteile davon?

- Was sind die Nachteile?

- Ist es für mein Team eine grosse Umstellung?

- Gibt es Alternativen?

- Gibt es Erfahrungswerte mit diesem Konzept?

- Kann ich das anderen Stackholdern (Betrieb/Kunde/Projekt-Management) erklären?

- Usw…

Je nachdem um was es sich handelt sind die Fragen natürlich anders, spätestens an dieser Stelle sollte man sich aber intensive Gedanken machen.

Aber der wichtigste Punkt – der vermutlich auch am schwersten zu beantworten ist:

Ist diese Vorgehensweise das richtige für mein Projekt oder ist das nur eine Wunschvorstellung die ich im Kopf habe?

image

Wer sich über bestimmte neue Vorgehensweisen/ Frameworks/ … informiert, der kommt häufig zu “Experten-Blogs”, welche natürlich auch meist auf einem sehr hohen Niveau das Thema vorstellen – sprich: Es kann fürchterlich kompliziert wirken (“Alles Event-getrieben und asynchron!”) oder sehr radikal (“Testabdeckung von 100%!”).

Leider wird oft der Kontext (Projekt-/Kunden-/Teamstruktur etc.) nicht genannt in dem dieser Experte arbeitet, sodass man selber schwer absehen kann ob das der richtige Weg für mich überhaupt ist.

Kleines Beispiel: Nur weil “Big Data” mit Hadoop ein riesen Thema ist, würde ich jetzt nicht auf die Idee kommen eine kleine Blogsoftware mit diesem System umzusetzen. Auch wenn mein Architektenherz sagt “Klingt cool – machen!”

Stellt euch also ganz kritisch die Frage ob das wirklich passt. Oder ob man es nicht übertreibt. Nicht jeder baut das nächste Facebook.

Aber: Kenne die Werkzeuge die es gibt!

Falls natürlich jemand am nächsten Facebook arbeitet, dann sollte er die Werkzeuge kennen – daher Augen auf und zur gegebenen Zeit das entsprechende Werkzeug einsetzen – ohne direkt fanatisch eine Richtung zu verfolgen, die sich als nicht passend rausstellt.

PS: Danke nochmal an Dennis für den hervorragenden Vortrag!


blog comments powered by Disqus