Freitag, 19. Dezember 2008

[OOP 2009] Software by Big Bang

Sie sind Softwareentwickler und meinen, die Finanzkrise könnte Ihren Job gefährden?

Dann sind Sie leider bereits einem grossen Irrtum zum Opfer gefallen. Der wahre Feind des Softwareentwicklers ist der latente Trend zu "Software by Big Bang". Statt Personenjahre über Personenjahre in aufwändige Eigenentwicklung zu stecken, nutzen Sie besser die Möglichkeiten der Automatisierung! Ein Knopfdruck genügt und die generierte Anwendung steht bereit. Warum "Urknall"? Wenn es möglich ist, aus dem Nichts alles zu schaffen, dürfte sich dies doch für unsere Disziplin nicht als unmöglich erweisen. Ist nicht, genau genommen, alles bereits mit dem Urknall inittiert worden, selbst das vorliegende Posting und auch Ihre Software? Wir alle und unsere Leistungen repräsentieren also eher Kollateralschäden als kreative Schöpfungen.

Die Devise muss demzufolge heissen, mit der Welle zu schwimmen und nicht gegen sie. Ganz nach  dem Motto "Generierst Du schon oder entwickelst Du noch?"

Die Lösung auf alle Probleme - und hier bitte in Ihrer Fantasie die Fanfaren erklingen lassen - heisst MDD (in Worten "Model Driven Development") in Kombination mit DSL (in Worten "Domain Specific Language").

Das Rezept für ein sorgenfreies Informatikerleben lautet also: Man nehme eine Prise Metamodellierung, erzeuge unter ständigem Umrühren einen Anforderungsteig, lege das Ganze in den Cookie Generator und schon ist alles angerichtet - natürlich im doppeldeutigen Sinne.

Im richtigen Leben funktioniert das alles nicht so glatt, weil das Problem zwei Seiten hat. Zum einen ist der Ansatz nur für gut durchdrungene, kleine Domänen sinnvoll. Dass es durchaus schwierig sein kann, eine gemeinsame DSL zu definieren, dürfte jeder bestätigen, der das in einer Beziehung schon einmal versucht hat. Zum anderen muss man sich irgendwann die Frage stellen, wer denn den Generator baut, in dem letztendlich die ganze Komplexität steckt. Da bekommt das Sprichwort vom "unter den Teppich kehren" eine ganz neue Wendung.  Man sollte also auf dem Teppich bleiben und die Erwartungshaltung so mancher Entwickler oder Entscheidungsträger zügeln. 

Gab es da nicht schon andere "silver bullets" ähnlichen Kalibers. Komponenten, Services, 4GL, UML, .... Jede Technologie wurde zunächst zum Allheilmittel stilisiert, um sich dann wenig später einen kräftigen Kater einzufangen.

Das ganze IT-Buzzword-Bingo führt nämlich mitunter dazu, dass Manager die versprochenen Verheissungen tatsächlich ernst nehmen und diese von der eigenen Entwicklung einfordern. Mit der virtuellen, weil nicht existenten Silberkugel kann man also allerhöchstens wild gewordene ITler zur Strecke bringen, nicht aber die Menge aller Probleme des Software Engineering.

Hat das was mit Soft Skills zu tun? Klar! Kleiner Tipp: studieren Sie einmal die Auswirkung von übertriebener Technikeuphorie  auf die Managementebenen. Wenn Sie positive Effekte wahrnehmen, sollten Sie sofort mit dem Lottospielen beginnen oder eine Karriere als Stuntman starten. Erwartungsmanagement gehört also zu den wichtigen Aufgaben des professionellen Softwareentwicklers.

 

MDD, Komponenten, Services sind alles brauchbare Technologien, aber nur wenn man ihre Grenzen kennt und sie entsprechend einsetzt. Ansonsten heisst es dann: riez ne va plus.

Keine Kommentare: