Entwicklung

Wenn Integration mit Agilität nicht Schritt hält

30.06.2011
Von Uwe Bloch
Die schnellen Produktergebnisse agiler Entwicklung nutzen wenig, wenn nachgelagerte Prozesse wie die Systemintegration das neue Vorgehen nicht unterstützen.
Foto: fotolia.com/Matthias Geipel

Kurze Iterationszyklen, regelmäßige Tests und Continuous Integration: Agile Ansätze geben in der Softwareentwicklung ein neues Tempo vor, versprechen dadurch höhere Flexibilität und Qualität. Spätestens jedoch in der Systemintegration stellt agiles Vorgehen viele Unternehmen vor Herausforderungen bezüglich der Geschwindigkeit und Qualität. So ist es beispielsweise für die Integration unbedingt notwendig, die Software an die verschiedenen Integrationsumgebungen anzupassen. In einer heterogenen IT-Infrastruktur kann dies allerdings bis zu zwei Wochen dauern - viel zu lang für die kurzen Iterationen der agilen Verfahren. Außerdem ist die manuelle Integration höchst fehleranfällig.

Automatisierter Build

Eine Lösung für beide Probleme bieten automatisierte Prozesse: Für die Build-Phase etwa zeigt die Praxis, dass sich der Aufwand durch geschickte Standardisierung und Automatisierung auf ungefähr ein Drittel der ursprünglichen Zeit reduzieren und dadurch an Geschwindigkeit und Effizienz der agilen Entwicklung angleichen lässt. Auch die Qualität der Software steigt beträchtlich. Unbedingte Voraussetzung für diese Optimierungen ist allerdings, dass die nötigen Standards vorhanden sind - und die müssen meist erst noch geschaffen werden.

Derart weitreichende Neuerungen umzusetzen ist keine kleine Aufgabe; doch wer Abläufe und Systeme behutsam anpasst, erreicht sein Ziel in überschaubarer Zeit und bleibt zugleich voll handlungsfähig. Das Build und Deployment ist als zentraler Prozess mit allen anderen Vorgängen der Softwareentwicklung verknüpft und eignet sich daher besonders gut als Ausgangspunkt, um mit Augenmaß Standards einzuführen und sinnvolle Workflows zu definieren. Optimiert wird mit jedem neuen Software-Release, so dass der Anteil an standardisierten Bereichen schrittweise wächst. Letztlich bilden diese Standards die Grundlage für die weitere Automatisierung, durch die die Softwareentwicklung erst tatsächlich komplett agil wird.

Das Pflichtprogramm zur Automatisierung

Diese Schritte sollten IT-Verantwortliche unbedingt einplanen, um ihr Automatisierungsprojekt erfolgreich und ohne Verzögerungen voranzubringen:

1. Sichern Sie sich von Anfang an die Unterstützung des Managements.

2. Standardisieren Sie sowohl Test- als auch Produktionsumgebungen.

3. Beschränken Sie die Anzahl der Applikations-Server und Third-Party-Tools.

4. Machen Sie internen und externen Lieferanten klare Vorgaben zu Integrationsszenarien und Applikations-Servern.

5. Begrenzen Sie die Anzahl der Build- und Deployment-Verfahren sowie der einschlägigen Tools.

6. Verwalten Sie umgebungsabhängige Parameter für alle Umgebungen zentral.

7. Führen Sie parallele Entwicklungsstränge (mehrere Branches) für das gleiche Softwareprodukt rechtzeitig in das gemeinsame Zielpaket zurück.