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.