Innovation statt Stillstand

Agile Transformation und die bimodale IT

06.06.2016
Von 
Bertram Geck ist im IT-Systemhaus der Bundesagentur für Arbeit als technischer Projektleiter tätig. Er greift auf mehr als 25 Jahre Erfahrung in Produktentwicklung, Produktmanagement sowie im Marketing und Vertrieb von IT-Lösungen zurück. Zu seinen Schwerpunkten gehören die Steuerung von IT durch Transparenz, agile Methoden, die effiziente Integration von IT und Anwendern.

Organisatorische Aufteilung - Agile Kultur - Management-Support

Agiles Vorgehensmodell vom Anwender bis zur IT

Aus organisatorisch getrennten Disziplinen werden disziplinübergreifende Scrum-Teams. Product-Owner und Scrummaster werden für jedes Team identifiziert. In Sprints werden die Funktionserweiterungen im Produkt implementiert und das Produkt vollständig getestet. Durch die Einbindung aller Disziplinen, vom Anwender bis zur IT, in die Scrum-Teams, wird das Produkt ohne Kommunikationsverluste aktualisiert und ist sofort einsetzbar. Je nach im Unternehmen vorhandenen Erfahrungen mit agiler Vorgehensweise ist ein intensives agiles Coaching immens wichtig.

Beispiel Robaso: Im IT Systemhaus der BA gibt es eine eigene Organisation für Software-Architektur und Entwicklungsprozesse. Diese Klammerfunktion stellt sicher, dass die agile Transformation aller Projekte und Systeme synergetisch erfolgt und ein ausreichendes Coaching bereitsteht.

Managementunterstützung

Scrum-Dogmatiker verdammen oft eine Planung über längere Zeiträume, verhindern damit jedoch die Zustimmung des Managements. Die Realität zeigt jedoch, dass ohne die ausdrückliche Unterstützung des Managements die Agilität der IT nicht erfolgreich einsetzbar sein wird. Projektinhalte sowie Projektfortschritt sind kontinuierlich für alle Beteiligten transparent zu halten. Die Messbarkeit ist somit eine wichtige Voraussetzung für eine ausreichende Unterstützung durch das Management.

Anwendereinbindung

Agiles Vorgehen kann innerhalb der Entwicklung erfolgreich sein. Die volle Ausschöpfung des Potenzials ergibt sich jedoch erst durch Einbindung der Anwender in den agilen Prozess. Damit werden mehrere Ziele erfüllt:

  • Sicherstellung der Anwenderzufriedenheit durch direkte Einbindung in die Umsetzung

  • Effizienzsteigerung durch Reduzierung von Abstimmungen

  • Wertschöpfung beim Anwender bereits während der Projektlaufzeit

Bei Robaso erfolgt die Anwendereinbindung über Workshops mit den Anwendern in den Agenturen, sowie über temporäre Mitarbeit von Anwendern aus den Agenturen in den Scrumteams. Social-Web und Crowd-Innovation bieten außerdem die Möglichkeit, Entwicklungszyklen von der Anforderungsaufnahme bis zur Software-Auslieferung zu reduzieren, sowie Big Data Insights zur Produktverbesserung zu erhalten.

Technologie

Servicearchitektur

Eine Serviceorientierte Architektur (SOA) ist die Basis für eine Zerteilung von Monolithen in kleinere Einheiten. Gerade in einer SOA-Struktur sind Abhängigkeiten zwischen Serviceprovider und Serviceconsumer immens. Diverse Ansätze können hier Lösungen zur Steigerung der Unabhängigkeit einzelner Einheiten und der damit verbundenen Resilienz des Gesamtsystems bereitstellen.

Microservices

Microservices sind kleine Einheiten, die unabhängig voneinander abgeschlossene Aufgaben erfüllen können. Anstatt eines großen Service, der bei einem Kundenprofil die Adressdaten, gespeicherten Jobangebote, und Schriftverkehr zur Verfügung stellt, könnten zum Beispiel drei Microservices diese Informationen unabhängig voneinander in einer Rahmenanwendung zur Verfügung stellen.

Der Vorteil liegt darin, dass Änderungen in einem der Microservices unabhängig von den anderen ausgerollt werden können und damit die Abhängigkeiten reduziert werden.

Redundanzen zulassen

Wiederverwendung hat viele Vorteile und verringert den Aufwand in Implementierung und Test. Die Wiederverwendung stärkt jedoch auch die Abhängigkeit vieler Systeme voneinander. Durch die Einforderung von Wiederverwendung wurde jahrelang diese Abhängigkeit vergrößert. Gerade wenn man agil skalieren möchte, sind Abhängigkeiten zwischen den Systemen problematisch. Die intelligente Aufhebung von Abhängigkeiten durch Caching-Mechanismen oder anderen Ansätzen ist eine Voraussetzung zu Agilisierung der IT.

Virtualisierung

Aufgrund der zahlreichen Abhängigkeiten muss die IT umfassende Testsysteme bereitstellen. Virtualisierung ist notwendig, um die Menge an Systemen flexibel steuern zu können.