Die neue Vielfalt an Geräten, Browsern und Betriebssystemen stellt den Test jedoch vor neue Herausforderungen, die durch eine CI- und Testing-Pipeline alleine nicht gelöst werden können. Neue Cloud-basierte Testing-Verfahren, die Mobile Device Clouds und Cross-Browser- und Betriebssystem-Tests ermöglichen, helfen dabei, die Qualität in einem immer komplexeren Umfeld zu sichern. Durch ein hohes Maß an Parallelisierung und Automatisierung eignen sich diese Verfahren auch für den Einsatz in einer CI-Pipeline. Dennoch ist eine CI-Pipeline nur ein kleiner Schritt auf dem Weg zu einem agilen Unternehmen.
Hin zum agilen Unternehmen
Denn jeder in der Organisation ist von der Reise zum agilen Unternehmen betroffen: Entwickler, Tester, Product Owner oder Release-Manager müssen alle lernen, sich diesen Herausforderungen zu stellen. Während agile Vorgehensweisen sich in einzelnen Entwicklungsteams häufig schon recht gut etabliert haben, fehlt es oft gerade bei strategischen Entscheidungsträgern wie Portfoliomanagern, Unternehmensarchitekten oder CIOs an den benötigten, genauen Informationen aus den verschiedenen Teams der Organisation. Und gerade sie sind es, die über die wichtigsten Entscheidungen befinden. Diese können sie jedoch nur treffen, wenn sie über entsprechende Informationen aus den jeweiligen Teams verfügen, unabhängig davon, ob die Teams agile, Wasserfall- oder hybride Entwicklungsmodelle verwenden.
Zu den unterschiedlichen Vorgehensweisen kommen auch noch unterschiedliche eingesetzte Tools hinzu. Open-Source-Tools haben gerade in den Entwicklungsabteilungen vieler Unternehmen Einzug gehalten und sich im praktischen Einsatz bewährt. Darauf möchte und sollte man auch nicht verzichten. Aber nicht nur Open Source, auch viele Spezial-Werkzeuge sind heutzutage nötig, um die vielen unterschiedlichen Technologien adäquat bedienen zu können.
Aber wie das Ganze auswerten? Schnell wird hier der Ruf nach einer Tool-Konsolidierung laut. Dies gilt es jedoch im Einzelfall immer genau abzuwägen: Migrieren oder integrieren? Jede Migration birgt Kosten und Risiken, welche die vermeintlichen Vorteile einer neuen Lösung schnell überwiegen können.
Diese und ähnliche Werkzeugfragen werden zwar häufig vehement diskutiert, sind aber nur ein kleiner Aspekt auf dem Weg zum agilen Unternehmen. Denn um auf neue Geschäftsanforderungen wirklich agil reagieren zu können und diese in der Organisation erfolgreich zu implementieren, müssen Entwicklerteams die Produkt-Roadmap und Vision sehen, verstehen und vor allem erst einmal überhaupt kennen! Nur dadurch ist gewährleistet, dass jeder Einzelne einen Blick für das große Ganze erhält, zielgerichteter arbeiten kann und somit einen höheren Mehrwert für das Unternehmen leistet. Dies führt letztlich auch zu einer höheren Mitarbeiterzufriedenheit, wenn die Kollegen sehen, dass ihr Beitrag geschätzt wird und einen Nutzen für das Unternehmen darstellt.
Übersicht behalten
Um stets die wichtigen und richtigen Themen zuerst anzugehen, sollte das Product Backlog (also die noch zu implementierenden Features und User Stories) nicht nur auf der Grundlage von Geschäftsanforderungen priorisiert, sondern besser noch in ein entsprechendes Ranking und damit in eine Sortierung, sprich Reihenfolge, gebracht werden. Nur so ist gewährleistet, dass nicht nur Prioritäten eine Rolle spielen, sondern auch bedacht wird, wann sinnvollerweise welche Backlog Items in ein Produktinkrement (Release) einfließen. In großen Unternehmen arbeitet jedoch häufig eine ganze Abteilung, bestehend aus mehreren Teams, gleichzeitig an verschiedenen Features, und auch mehrere Abteilungen arbeiten abteilungsübergreifend an den großen Unternehmenszielen, im agilen auch die „Epics“ oder „Epic Stories“ genannt. Dies erfordert ein gewisses Maß an Abstimmung und Koordination zwischen den Abteilungen und Teams.
Ohne einen Überblick über die Gesamtaufgabe verliert man sich hier schnell in Details und kommt nicht weiter voran.
Zusätzlich müssen Führungskräfte ihren Fokus vor allem auch auf den Geschäftswert lenken und nachfolgende Fragestellungen beantworten können:
- Was sind die Kosten und Werte unserer aktuellen Anwendungen?
- In welche Anwendungsprojekte investieren wir derzeit und sollten wir investieren?
- Wie viel investieren wir in neue Initiativen und wie viel in Wartung von bestehenden Systemen?
Um dies zu erreichen, braucht die Organisation eine konsistente Management-Methodik und ein Toolset, das es Führungskräften ermöglicht, strategische Entscheidungen zu treffen und diese Strategie an jede Gruppe zu kommunizieren. Und Führungskräfte müssen in der Lage sein, den Status zu ermitteln, ohne die Gruppen zu zwingen, neue Prozesse oder Tools einzuführen, die sie als unnötig oder sogar als behindernd betrachten.Aber der komplette Ersatz von bestehenden Werkzeugen und Prozessen ist in der Regel nicht praktikabel. Es kann Monate oder sogar Jahre dauern, um die Effizienz des ursprünglichen, an die Bedürfnisse einzelner Teams angepassten Werkzeugs vollständig zu reproduzieren. Benutzer müssen neu geschult werden. Daten über Teams, Zeitleisten und Ressourcen müssen migriert werden. Und jegliche Anpassungen wie Workflows müssen auf das neue Tool umgesetzt werden, um die Prozesse des Teams zu unterstützen. Und niemand wird zum Beispiel gut funktionierende, automatisierte Tests in einem anderen Tool umschreiben wollen, einfach nur, um einem Konsolidierungs-Vorhaben zu genügen. Dazu ist parallel zur regelmäßigen Arbeitsbelastung der Teams einfach keine Zeit.
Integration alter und neuer Tools
Anstatt bestehende Werkzeuge zu ersetzen, sollten neue Werkzeuge mit ihnen arbeiten. Zum Beispiel muss sich ein Portfolio-Management-System mit bestehenden Lifecycle-Management-Tools integrieren. Und das Lifecycle-Management-Tool sollte bewährte Open-Source-Tools automatisch einbeziehen, anstatt diese ersetzen zu wollen. Es sollte die unterschiedlichen Vorgehensweisen der Teams unterstützen: von den traditionellen längeren Release-Zyklen der Kern-IT, über agile, Sprint-basierte Vorgehensweisen mit monatlichen Releases, bis hin zur sogenannten „Fluid“-IT mit täglichen Deployments.
Dazu muss es zum Beispiel traditionelles, Dokumenten-basiertes Requirement-Management ebenso unterstützen wie agile Methoden, beispielsweise Scrum oder Kanban mit einem sortieren Backlog, Sprint-Planung, Kanban View, Story-Board, Task Management, Story-Point Estimation und dergleichen. Es sollte gängige CI-Systeme wie Jenkins, Team-City oder Bamboo unterstützen, genauso wie bewährte Open-Source-Werkzeuge wie Selenium und Appium oder Frameworks wie JUnit, NUnit oder TestNG und darüber offen sein für jegliche Spezial-Lösung und Technologie, die teils unabdingbar für den Erfolg der jeweiligen Entwicklungsteams sind.
Es muss die Koordination mehrerer Teams, agil oder nicht-agil, ermöglichen, die gemeinsam an Features arbeiten, oder gar übergreifend die Arbeit mehrerer Abteilungen an gemeinsamen großen Unternehmenszielen (Epics) unterstützen. Gleichzeitig muss das Management die Kosten und den Business-Nutzen im Blick behalten, und das bedeutet, es bedarf eines Ressource-, Portfolio- und Budgetmanagements.
Die Agile-Enterprise-Lösungen von Micro Focus integrieren sich mit vorhandenen Tools, um Organisationen eine einheitliche Sichtweise und eine bimodale Kommunikation zu ermöglichen, die für ein umfassendes und effektives unternehmensweites Portfolio-, Lifecycle- und Qualitäts-Management benötigt wird. Die Lösung umfasst Project and Portfolio Management (Micro Focus PPM) und ALM Octane (für Application Lifecycle Management) inklusive der daran angeschlossenen neuen Qualitätssicherungswerkzeuge für Mobile, Cloud und Agile Testing, wie zum Beispiel das Entwickler-nahe Lean Functional Testing (LeanFT/UFT Pro), das neue Werkzeug für Java- oder C#-basierte Testautomatisierung oder das Cloud-basierte StormRunner Functional für funktionale Tests über Cross-OS, Cross-Device, Cross-Browser, explorativ und automatisiert. Darüber hinaus ermöglichen Out-of-the-box-Integrationen die Verbindung zu eingesetzten Werkzeugen und Open-Source-Tools, um die volle Sichtbarkeit und Kontrolle über die gesamte Anwendungsentwicklungslandschaft zu gewährleisten.
Blick in die Zukunft
Big-Data-Technologien und Predictive Analytics arbeiten bei den Produkten von Micro Focus im Hintergrund, analysieren beispielsweise Millionen von Testprotokollen, CI-Jobs und Defects und können durch die Echtzeitauswertung von historischen Datensätzen Fakten aufzeigen, die eine fundierte Vorhersage für die Zukunft und damit fundierte Entscheidungen ermöglichen. Solche Daten sind in der Regel in einem Unternehmen mehr als ausreichend vorhanden. Sie müssen nur genutzt werden.
Auf diese Weise wird die Reise zum agilen Unternehmen eine etwas weniger holprige und vor allem erfolgreiche Reise werden, vorausgesetzt, Werkzeuge und Methoden werden richtig eingesetzt. Auch hierbei steht Micro Focus gerne mit Rat und Tat und ausgewiesenen Experten zur Seite.