aufbau einer single-dealer-Plattform

sqs.com
Case Study – banken & Finanzdienstleister
Aufbau einer Single-Dealer-Plattform
Einsatz der agilen Methodik in einer hochgradig regulierten Finanzdienstleistungsumgebung
Hintergrund
Eine führende globale Investmentbank bietet eine Auswahl von
Wertpapierprodukten für Kunden in den Regionen USA, EMEA
(Europa, Nahost und Afrika) und APAC (Asien und Pazifik) an.
Die Bank operiert in einem Umfeld, das stark durch Regulierung
geprägt ist, und stellte ihre Wertpapierprodukte bislang über
einige eigenständige Desktop- und Internetanwendungen bereit.
Die vorhandenen Anwendungen verfügten über umfangreiche
Funktionen und hatten jeweils eine starke Marktposition. Sie
bauten jedoch auf unterschiedlichen Technologieplattformen
auf und waren von verschiedenen Teams entwickelt worden.
Die Integrationsoptionen waren begrenzt und der Gesamteindruck uneinheitlich.Oft mussten Kunden für den Zugang zu den
einzelnen Anwendungen unterschiedliche Benutzernamen und
Kennwörter verwenden. Die alten, separaten Technologieplattformen erschwerten die Erfüllung moderner Kundenanforderungen wie mobile Nutzung, Social Media und Suchfunktionen.
Die resultierende User Experience war also alles andere als
optimal. Außerdem waren erhebliche kontinuierliche Investitionen
erforderlich. Etliche Mitbewerber in der Branche hatten ihr
Angebot bereits auf einer einzigen Plattform bzw. unter einer
einzigen Marke konsolidiert. Die Bank lief Gefahr, im Wettbewerb zurückzufallen.
Daher wurde die strategische Entscheidung getroffen, eine
einheitliche, bestandsübergreifende Single-Dealer-Plattform
zu schaffen, statt die alten Anwendungen weiterzuführen. Man
wollte die Mitbewerber überholen, nicht nur ihnen nacheifern.
Sämtliche Budgets sollten in eine einzige Plattform fließen, mit
dem Ziel, alle alten Anwendungen in kurzer Zeit zu ersetzen.
Die neue Plattform sollte von Anfang an so entwickelt werden,
dass sie auf allen Geräten (Desktop, Internet, Tablet und Handy)
einheitliche Funktionalität unter Berücksichtigung der jeweiligen
Geräte-Features bietet. Es sollten für sämtliche Wertpapierprodukte Recherche und Marktpreise bereitgestellt sowie alle
Phasen vor, während und nach dem Handel abgedeckt werden.
Zudem sollten moderne Tools für die Zusammenarbeit integriert
werden, darunter Social Media, Chat, Konferenzen, Texterstellung
und -veröffentlichung sowie leistungsstarke Suchfunktionen.
Während die neue Plattform erstellt wurde, erforderten Marktentwicklung und gesetzliche Vorgaben weiterhin kleinere Updates
der alten Anwendungen. Daher war die Markteinführungszeit
ein entscheidender Faktor, um neue Funktionen nicht zweimal
implementieren zu müssen. Die beträchtlichen Investitionen
und die Beteiligung wichtiger Interessenvertreter der Investmentbank machten Transparenz sowie das schnelle und regelmäßige Nachweisen von Fortschritten erforderlich.
Daraus resultierte die Entscheidung, die Plattform intern zu
entwickeln und dabei eine agile Entwicklungsmethodik (Scrum)
einzusetzen. Da die Bank nur begrenzte Erfahrung mit agilen
Methoden hatte, wurde für dieses Projekt ein bereichsübergreifendes Team aus sorgfältig ausgewählten, hochqualifizierten
Mitarbeitern und Beratern zusammengestellt.
24
Stunden
2
Wochen
Product backlog
Herausforderung
Sprint backlog
Sprint
Arbeitserhöhung
der Software
Abbildung 1: Agile Bereitstellungsmethodik
Die größte Herausforderung bei diesem Projekt war die begrenzte Erfahrung der internen Mitarbeiter mit agilen Methoden
für umfangreiche Programme dieser Art. Daher wurden externe
Berater hinzugezogen, um bei der Definition von Organisationsstruktur, Strategie und Governance, Schulung, Informationsvermittlung und Delivery Pods zu helfen. Zudem mussten die
Rollen und Verantwortlichkeiten in dieser neuen agilen Struktur
festgelegt werden, insbesondere hinsichtlich Risiko, Compliance,
Sicherheit, Architektur und anderen Unternehmensfunktionen.
Jedes Scrum-Team enthielt folgende Rollen:
Eine weitere Herausforderung lag darin, in einem sehr knapp
kalkulierten Zeitrahmen ein Minimalprodukt (Minimal Viable
Product, MVP) mit großem Funktionsumfang zu erstellen. Die
neue Plattform sollte mit ausreichend Funktionen ausgestattet
werden, um die alten Systeme deaktivieren und mit der Migration
interner Benutzer und externer Kunden beginnen zu können.
• 1 Scrum Master – aus dem Qualitätssicherungs- oder
Entwicklungsbereich des Projekts ausgewählt, verantwortlich
für die Beseitigung von Sprint-Hindernissen und die korrekte
Implementierung der Agile-Methodik in den Teams
Abhängig von den erforderlichen Funktionen wurden flexibel 10
bis 20 bereichsübergreifende Scrum-Teams eingesetzt, die in
2-Wochen-Sprints arbeiteten. Die Teams wurden ständig neu
konfiguriert, um immer die Ressourcen abzudecken, die für die
Feature Storys im Sprint Backlog erforderlich waren.
• 5 Entwickler – Entwickler für Benutzeroberfläche und serverseitige Funktionen, verantwortlich für Codierung und Unit Tests
• 2 Qualitätssicherer/Tester – verantwortlich für Akzeptanztests (in der Regel 1 Tester für die Benutzeroberfläche und
1 Tester für Backend-Tests), zudem verantwortlich für explorative Tests
Aufgrund der alten Struktur hatte die Bank bisher in der Regel
einmal pro Quartal eine große Upgrade-Version für den produktiven Einsatz implementiert. Als das Projekt vollständig
angelaufen war, wurden jede Woche bis zu 60 Releases für den
produktiven Einsatz bereitgestellt. Jede davon brachte eine
kleine inkrementelle Änderung oder Fehlerbehebung. Größere
Funktionen oder Infrastruktur-Upgrades wurden einmal im Monat
implementiert, da diese oft Systemausfallzeiten erforderten.
Woche 1
Release 1–60
Q1 – Release 1
Q2 – Release 2
Q3 – Release 3
Q4 – Release 4
Neue Systementwicklung
60 Releases pro Woche
Für das Projekt wurden Scrum-Schulungen und Scrum-Master
eingeführt. Außerdem wurden Bereitstellungsteams in einer
Nabe-Speichen-Struktur aufgebaut. Die gemeinsamen bzw.
zentralen Funktionen wurden auf der Plattformebene (Nabe)
entwickelt. Damit waren etwa 75 % der gesamten Funktionen
abgedeckt. Jedes Speichenteam konnte dann diese zentralen
Funktionen für sein jeweiliges Produkt anpassen (z. B. Devisen
oder Stammaktien).
• 2 UX (User Experience) Engineers – Informationsarchitekt
und Grafikdesigner, verantwortlich für das Design der User
Experience
Alte Systementwicklung
1 Jahr / 4 Releases
Lösung
• 1 Produktmanager – Hauptansprechpartner für die Business
User, wählt und priorisiert die User Storys für die Sprints
Woche 2
Release 60–120
...
...
...
Woche 156
Release 9300–9360
Abbildung 2: Skalierung der Implementierungen für den produktiven Einsatz
Alle Teams arbeiteten zunächst im gleichen Gebäude, doch mit
zunehmendem Fortschritt des Projekts wurde das Team weltweit
ausgebaut. Der agile Prozess wurde mit der Zeit angepasst, um
den global verteilten Teams gerecht zu werden. Spezielle Teams
waren dafür verantwortlich, die Implementierung der Releases
in Entwicklungs- und Testumgebungen zu verwalten. Es gab 15
Entwicklungsumgebungen für Codierung und Unit Tests sowie
eine Qualitätssicherungsumgebung. Dort erfolgte die Qualitätssicherung für die Funktionen, die von den einzelnen Scrum-Teams
bereitgestellt wurden.
Entwicklungsumgebung 1
QS
Integrierte
Umgebung
Tool
Vewendungszweck
Version One
Übergreifendes AgileProjektmanagement
HP Quality Centre
Testmanagement
TeamCity
Kontinuierliche Integration
GitHub
Versionskontrollsystem
RIATest, weitere Open-SourceTools für die Testautomation
und ein eigens entwickeltes
Automationsframework
Testautomation
Entwicklungsumgebung 2
VersionOne
Entwicklungsumgebung 3
Entwicklungsumgebung 4
PMO
UX
DEV
QA
Support
HP Quality
Centre
Automation
Framework
RIA Test
Team City
GitHub
Entwicklungsumgebung ...
Entwicklungsumgebung 15
Abbildung 3: Umgebungsübersicht
Abbildung 4: Integrierte Toolkette
Das Projekt hatte ein eigenes Team für Entwurf und Durchführung von Automationstests. Ein weiteres separates Team führte
nicht-funktionale Tests, z. B. hinsichtlich Performance und Sicherheit, durch. Die Tests für das Projekt wurden zu 80 bis 90 %
durch Automation abgedeckt. Dies erhöhte die Qualität des
bereitgestellten Codes erheblich und reduzierte den manuellen
Testaufwand. Eine Untergruppe der Automationstests wurde
auch im produktiven Einsatz durchgeführt, in Form von automatisierten Health Checks, die zu jeder vollen Stunde durchgeführt wurden. Dadurch wurde der ROI durch die Automation
noch weiter erhöht.
Ein PMO (Project Management Office) überwachte das Projekt durchgängig. Dieses Team war dafür verantwortlich, die
Fortschritte im gesamten, äußerst umfangreichen Projekt an
den vereinbarten Zielen zu messen und Transparenz für die
unterschiedlichen Interessenvertreter zu gewährleisten. Das
PMO-Team arbeitete zudem mit der Finanzabteilung zusammen,
um die Ausgaben im Budgetrahmen zu halten.
Zu jeder Story wurden im ALM-Tool VersionOne Akzeptanztests
hinzugefügt. Diese wurden dann zum Regressionstest in das
zentrale Testmanagement-Tool, HP Quality Centre, importiert.
Sämtliche Tests wurden über HP QC automatisiert und geplant.
So wurden alle Testergebnisse und Testdaten zentral verfolgt
und standen zu Prüfzwecken zur Verfügung.
In der gesamten Organisation wurde eine Reihe von maßgeschneiderten und spezialisierten Tools implementiert. Diese
wurden soweit wie möglich miteinander verkettet, um eine
durchgängige Lösung bereitzustellen. Das Haupt-Tool für das
übergreifende agile Projektmanagement war VersionOne, unterstützt durch HP Quality Centre für das Testmanagement. Für
die kontinuierliche Integration wurde TeamCity angewendet, als
verteiltes Versionskontrollsystem wurde GitHub eingesetzt. Als
Haupt-Tool für die Testautomation diente RIATest. Dieses Tool
wurde durch andere Open-Source-Tools für die Testautomation
und ein eigens entwickeltes Automationsrahmenwerk unterstützt.
Vorteile für den Kunden
Der Erfolg des Projekts wurde in der Finanzbranche vielfach
bestätigt. Die Single-Dealer-Plattform gewann mehrere Auszeichnungen, darunter „One To Watch“, „Best Platform“ und
„Best Navigation“. Die neue Plattform bringt der Bank und ihren
Kunden zahlreiche Vorteile. Jeden Tag werden dort Transaktionen
im Wert von mehreren Milliarden Euro abgewickelt. Die Bank
profitiert von einer beträchtlichen Deduplizierung ihres Aufwands,
da zahlreiche wiederverwendbare Assets, Services und Prozesse
im gesamten Unternehmen eingeführt wurden. Den Kunden
kommt eine individuell anpassbaren User Experience zugute.
Sie können Transaktionen für alle Anlagekategorien nahtlos abwickeln und mit einem Mausklick Zugang zu hochqualifizierten
Experten für Recherche, Verkäufe und Handel erhalten.
SQS-Berater wirkten in allen Phasen des Projekts entscheidend
mit, von den Anfängen bis zum Aufbau der Infrastruktur, der
Inbetriebnahme und der Migration der Kunden zur neuen Plattform. Dies erforderte lange Arbeitstage und Wochenendarbeit,
um das Projekt rechtzeitig und mit minimalen Beeinträchtigungen
für die Kunden abschließen zu können.
SQS-Berater brachten ihr einzigartiges Know-how ein, um die
Qualitätssicherungs-/Teststrategie und vor allem auch die
Governance in dieser komplexen Umgebung zu definieren.
Sie waren haupsächlich verantwortlich für:
• Aufbau eines hochqualifizierten QS-/Testteams mit den
erforderlichen Erfahrungen im Bereich komplexer Finanzdienstleistungen in kurzer Zeit
Darüber hinaus war das Qualitätssicherungsteam während der
Laufzeit des Projekts auch an folgenden Aspekten beteiligt:
User-Design-Planung, Story-Planung, Versionsplanung, Game/
Sprint -Planung, Ergebnisberichte, Freigaben, Go-/No-GoEntscheidungen, rückblickende Besprechungen usw.
SQS-Berater halfen bei der fristgerechten Umzusetzung des
Projekts; die Methodik wurde in der gesamten Bank eingeführt.
• Management von QS/Tests in jedem Scrum und im Scrum
of Scrums
• Integration von technischen Testern in jedes Scrum-Team
von Anfang bis Ende
• Bereitstellung der plattformweiten Teststrategie
• Governance-Bereitstellung für QS mit mehreren Anbietern
• Bereitstellung der mobilen QS-Strategie für das Unternehmen
• Implementierung und Fertigstellung des Automations-Frameworks für Adobe Flex, HTML5 und mobile Produkte
• Erstellung der Teststrategie für Performance, Sicherheit und
Belastbarkeit aller eingeführten neuen Technologien und Aufbau der Infrastruktur in den Regionen USA, EMEA und APAC
• Identifizierung und Einholen der Freigabe der Akzeptanzkriterien für die User Storys
• Planung, Design, Management und Umsetzung der Tests von
User Experience, Kompatibilität, Sicherheit, Automation und
Performance sowie von manuellen Tests von Benutzeroberfläche und Backend und explorativen Tests für das Projekt
• Schaffung von Transparenz für alle Beteiligten zum Status und
zur Gesamtqualität der Plattform und ihrer Einsatzbereitschaft
Governance der Qualitätssicherung
Plattformweite Teststrategie
Mobile Teststrategie für das Unternehmen
Teststrategie für Performance, Sicherheit und Belastbarkeit
Testautomations-Framework
Release
Governance für mehrere Anbieter
Bereitstellung von aktuellen Informationen zu Status,
Gesamtqualität und Einsatzbereitschaft
Fazit
Die Ergebnisse dieses Projekts erzielten erhebliche Vorteile,
die das Geschäft des Kunden verbesserten. Zu den wichtigsten
Vorteilen gehörten:
• Die Abschaffung mehrerer alter IT-Systeme ermöglichte
große Kosteneinsparungen und eine Reduzierung des langfristigen Supportaufwands für die Produktion, da mehrere
separate Anwendungen durch ein integriertes System
ersetzt wurden.
• Die Einführung des agilen Frameworks im gesamten
Unternehmen erhöhte die Flexibilität und Agilität der Teams
und führten zur schnelleren Umsetzung der sich ständig
wandelnden Geschäftsanforderungen. Dies ermöglichte
eine schnelle Markteinführungszeit für das Unternehmen.
• Automatisierte Regressionstests reduzierten die Wartungskosten, beschleunigten die Produktbereitstellung und
verbesserten die Produktqualität.
Das Projekt wurde planmäßig abgeschlossen und führte in
dieser Zeit zudem zu einer vollständigen Umgestaltung der
Prozesse der IT-Abteilung und einem Mentalitätswandel in
den Geschäftseinheiten der Organisation. So konnte das
Unternehmen seine Wettbewerbsfähigkeit in einem durch
ständigen Wandel geprägten Markt stärken.
Die preisgekrönte Plattform setzt ihre Erfolgsgeschichte fort
und wird laufend weiterentwickelt, um ihren Vorsprung gegenüber Mitbewerbern zu wahren. Wir sind gespannt, was die
Zukunft bringt …
Integration von technischen Testern in jedes Scrum-Team
Akzeptanzkriterien für die User Storys
Tests für User Experience, Kompatibilität, Sicherheit,
Automation, Performance, manuelle Tests von Benutzeroberfläche und Backend, explorative Tests
Governance
Strategie
Bereitstellung
Kontakt
Wenn Sie sich für SQS und unsere Agile Services
interessieren, mailen Sie an [email protected] oder
besuchen Sie unsere Website sqs.com
Abbildung 5: Bereitstellungs-Framework für die Qualitätssicherung
SQS – der weltweit führende Spezialist für Software-Qualität