0

Gemischte Serviceteams.

lego-people

Ich habe mich während der Weihnachtsferien ein wenig mit dem Groovy Framework Grails auseinander gesetzt und bin positiv überrascht. Ich war auf der Suche nach einer einfachen Möglichkeit RESTful Webservices an einem Beispiel darzustellen und Grails war hier das Tool der Wahl. Das bringt mich aber zu meinem eigentlichen Thema nämlich die Wahl der Technik.

In der IT wird häufig noch strategisch vorgegeben welche Technologie eingesetzt wird. Sei es die Programmiersprache, das Framework, der Anwendungsserver oder die Datenbank. Gründe dafür sind häufig die Lizenzkosten, das vorhandene know-how oder einfach der Einfluss der „grauen Eminenzen“. Die Betroffenen wissen meist, dass es einen „besseren Weg“ gibt den Job zu erledigen, der sich aber nicht so gut in das Gesamtkonstrukt einfügt. Das Ergebnis ist zumeist ein frustriertes Entwicklungs- oder Administrationsteam.
Eine Lösung könnte der Blick auf das seit Mitte Oktober 2009 existierende SOA Manifesto sein. Insbesondere die ersten drei Punkte halte ich in diesem Zusammenhang für nennenswert:

  • Geschäftswert über technische Strategie
  • Strategische Ziele über projektspezifischen Nutzen
  • Immanente Interoperabilität über maßgeschneiderte Integration

Das schreit doch gerade danach das beste Tool für den Job einzusetzen. Wenn es da nicht die unterschiedlichen Bereiche für einen Softwaresystem gäbe. Nämlich die Entwickler auf der einen Seite und die Administratoren auf der anderen. Es liegt in der Natur der Sache, dass der Admin ein gehöriges Wort bei der Technologie mitreden möchte, wird er doch in der Nacht aus dem Bett geklingelt. Ein konservatives Vorgehen ist hier also angebracht. Die Entwickler hingegen möchten natürlich die neusten Frameworks oder sonstigen Technologien einsetzen, damit sie ihre Arbeit effektiver erledigen können. Allerdings liegt aus meiner Sicht genau hier das Problem. Durch die Aufteilung in Entwicklung und Betrieb verfolgt man nicht den ganzheitlichen Ansatz. Gilt es doch eine Software zu erstellen und zu betreiben, die einen Geschäftswert erzielt – einen Service also.

Warum sollten dann nicht auch gemischte Teams, die für die Entwicklung und den Betrieb von Services zuständig sind, sich auch das beste Tool aussuchen dürfen? Diese spezialisierten Einheiten könnten sich die Programmiersprache, den Anwendungsserver oder die Datenbank frei aussuchen und damit vermutlich effektiver arbeiten. In großen Unternehmen wie beispielsweise Amazon wird das so praktiziert. Die kleinen Einheiten sind dort für die Entwicklung und den Betrieb zuständig und dabei nicht an bestimmte Infrastruktur gebunden – außer der Amazon EC2 (Elastic Compute Cloud).

Und wenn man den SOA-Gedanken noch nicht für tot hält, dann ist das sicherlich ein Schritt in die richtige Richtung.