In kleinen Schritten zur besseren Entwicklung

Eine Organisation kann diese Probleme umgehen, indem sie für diesen Zweck eigene Bibliotheken oder Komponenten entwickelt und zur Verfügung stellt, die einen abgestimmten Zugriff auf die internen Systeme standardisiert und vollkommen transparent erlauben. Dadurch wird sichergestellt, dass interne und systemnahe Funktionalitäten und Routinen vor dem Entwickler vollständig verborgen bleiben und durch die Komponenten gekapselt werden. Die Anbindung an die Applikation erfolgt durch das Aufrufen und Auswerten der definierten Schnittstellen, die von der Komponente zur Verfügung gestellt werden. Dadurch kann sich das Entwicklerteam vollständig auf die Umsetzung der funktionalen Anforderungen konzentrieren. Der Gesamtaufwand reduziert sich, da systemnahe Funktionalitäten bereits out of the Box ausgeliefert werden und nicht als Teil der Applikation implementiert werden müssen. Weiterhin wird sichergestellt, dass durch den Einsatz der Komponenten der Zugriff auf ein System unternehmensweit einheitlich und projektunabhängig stattfindet.

Abb. 3: Zugriff über organisationseigene Komponenten

Doch welche Anforderung muss eine solche Komponente erfüllen? Das wichtigste Kriterium stellt hierbei die Transparenz dar, d. h. dass aus Sicht des Entwicklers das Verhalten des Gesamtsystems unabhängig der Umgebung, in der sich die Applikation befindet, identisch ist. Der Entwickler muss somit nicht in der Applikation mit speziellen Routinen darauf reagieren, sondern verarbeitet lediglich das Ergebnis des Methodenaufrufs der Bibliothek. Um das sicherzustellen, muss diese Logik innerhalb der Komponente implementiert und durch Parameter konfigurierbar gemacht werden. Damit bestimmt die Komponente aufgrund ihrer Konfiguration, in welcher Umgebung sie auf das Zielsystem zugreift. Hierbei müssen auch Maßnahmen bedacht werden, um ein Kundensystem zu simulieren (unter der Annahme, dass auf der Entwicklungsumgebung kein Zielsystem verfügbar ist oder die Entwicklung bei einem externen Dienstleister umgesetzt wird). Natürlich kann die Betrachtung auch erweitert werden. So ist es durchaus möglich, dass Unternehmen nicht nur über Komponenten einen Zugriff auf die internen Systeme ermöglichen, sondern dass über Komponenten auch Dialoge in der Applikation vereinheitlicht werden. Das Verhalten dieser Komponenten wäre ebenfalls durch eine Konfiguration zu definieren.

Fazit

Mit den beschriebenen Lösungen wurde nur ansatzweise eine mögliche Ausprägung einer Software Development Governance vorgestellt. Jedes Unternehmen kann in kleinen Schritten eine eigene Schablone für die Entwicklung von Software definieren und einführen. Es muss jedoch bedacht werden, dass die Einführung einer Software Development Governance kein Garant für den erfolgreichen Abschluss von Softwareprojekten ist, da weiterhin Risiken in Bezug auf falsche Architekturentscheidungen oder mangelnde Codequalität, z. B. durch den Einsatz von unqualifizierten Ressourcen, bestehen bleiben. Vielmehr soll durch die Vorgabe dieser Leitplanken eine Vereinheitlichung des Entwicklungs- und Betriebsprozesses stattfinden. Das sollte unter dem Aspekt einer verkürzten Entwicklungszeit, den standardisierten Zugriffen auf relevante Systemlandschaften sowie einer optimalen Übergangsphase in den Betrieb erfolgen. Das führt somit zu einer optimierten Kostenstruktur während der Projektlaufzeit.

Was jedoch bedacht werden muss, ist die Tatsache, dass mit dem Grad der ganzheitlichen Betrachtung und der Komplexität, entsprechend auch die Aufwände zur Realisierung einer solchen Lösung steigen. Einige Ansätze lassen sich schnell und unkompliziert auch auf unteren Hierarchien einer Organisation umsetzen, andere wiederum benötigen die Zustimmung der entsprechenden Ebene im Management einer Organisation.

Paul Lajer verantwortet als Senior Unit Manager bei der Logica Deutschland GmbH & Co. KG die Bereiche ECM Architectures, Collaboration Technologies sowie RIA Technologies. Zusätzlich unterrichtet er seit 2004 als Lehrbeauftragter an der Hochschule Furtwangen die Vorlesung Software Engineering mit Open-Source-Technologien. Nebenbei hält er als Speaker regelmäßig Vorträge auf führenden Konferenzen und Kongressen und schreibt Artikel in Fachmagazinen.

Erwin Lang ist Softwareberater und -entwickler bei der Logica Deutschland GmbH & Co. KG. Seine Schwerpunkte liegen in der Konzeption und Umsetzung von JEE-basierenden CMS- und Kollaborationslösungen. In seiner Freizeit beschäftigt er sich mit der Konzeption und Entwicklung von Applikationen für mobile Endgeräte und deren Einsatz in Unternehmen.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.