Mehr denn je müssen Software-Entwicklungsteams ihre Prozesse kontinuierlich verbessern, um Releases zu beschleunigen und die Markteinführungszeit zu verkürzen. Qualitätssicherung ist essentiell und die meisten Unternehmen haben in den letzten Jahren massiv in ein besseres Testmanagement investiert.
Test Environment Management (TEM) ist eine wichtige Vorgehensweise, um den Softwareentwicklungsprozess zu optimieren, indem sichergestellt wird, dass alle Mitglieder des Entwicklungsteams bei Bedarf auf funktionierende Testumgebungen zugreifen können, um Testszenarien auszuführen oder Bugs zu reproduzieren.
TEM ist in drei Bereiche unterteilt, auf die wir noch näher eingehen werden:
Das Test Environment Management mag auf dem Papier in der Verantwortung eines bestimmten Teams liegen, aber ein erfolgreicher TEM-Prozess ist immer das Ergebnis einer verbesserten Kommunikation zwischen den Teams, die letztlich durch den Beitrag aller beteiligten Teams entsteht.
Vielleicht verwendet Ihr Team erstklassige Environment Management Tools für die Bereitstellung von Test- und Produktionsumgebungen. Andere haben weniger Glück und halten alles in dezentralisierten Spreadsheets und E-Mails fest.
Das macht die Versionskontrolle zu einem Albtraum, der oft zu Konfigurationslücken führt, die die Softwarebereitstellung massiv verzögern und die Markteinführungszeit verlängern. Die richtige Verwaltung unserer Umgebungslandschaft ist in der heutigen agilen Welt, in der Unternehmen Hunderte (oder sogar Tausende) von Umgebungen benötigen, geschäftskritisch geworden.
Ohne zentrale Informationsquelle kann das Umgebungsmanagement äusserst zeitaufwendig sein – und Unternehmen jedes Jahr Millionen kosten.
Ein effektives Test Environment Management gibt Antworten auf Fragen wie:
Chats, E-Mails, Spreadsheets und gemeinsame Kalender werden durch ein passendes Tool ersetzt.
Eine bessere Nachverfolgung der Ressourcennutzung hilft Teams, Umgebungen gemeinsam zu nutzen, die Erstellung zusätzlicher Testumgebungen zu verhindern und ungenutzte (oder nicht ausgelastete) Ressourcen freizugeben. Letztendlich werden dadurch die Kosten für AWS/Azure/GCP gesenkt.
Die Standardisierung der F&E- und QA-Prozesse und eine bessere Koordination beschleunigen die Softwareentwicklung.
Wie oben erläutert, definieren wir gerne drei TEM-Komponenten:
Das Testumgebungsinventar, das manchmal auch als «Test Environment Registry» bezeichnet wird, ist die einzige Informationsquelle für die Testumgebungen. Es sollte in einem einzigen Tool gespeichert werden, um Duplikate zu vermeiden, und allen relevanten Akteuren in Echtzeit zur Verfügung stehen. Jede Umgebung sollte Folgendes enthalten:
Für kleine Teams kann eine gemeinsame Tabellenkalkulation ausreichen, um diese Informationen zu erfassen, aber grosse Teams, die mit vielen Testumgebungen arbeiten, benötigen ein geeignetes TEM-Tool.
Wenn die Testumgebungen von mehreren Personen, Projekten oder Teams gemeinsam genutzt werden, ist ein Planungsprozess festzulegen. In der Regel wird darin das Folgende kombiniert:
Die Zuweisung von Testumgebungen für verschiedene Teams und Projekte erfordert Disziplin und gemeinsame Tools. Ein gemeinsam genutzter Kalender mag anfangs eine gute Option sein, wird aber schnell unbrauchbar, wenn die Zahl der beteiligten Personen steigt.
DevOps-Praktiken zwingen Teams dazu, sich wiederholende und manuelle Aufgaben zu automatisieren. Auch wenn die Bereitstellung inzwischen vollständig automatisiert ist, ist häufig ein Techniker erforderlich, um die Einführung einer Version auszulösen, d.h. einen Klick auf einen Button in einem Bereitstellungstool (Jenkins, Bamboo, TeamCity usw.). Was wäre, wenn nicht-technische Personen diesen Klick ausführen könnten, ohne auf ein Deployment Tool zugreifen zu müssen?
Darum geht es beim Self-service der Testumgebungen:
Nicht-Technikern Superkräfte verleihen!
Je nach Komplexität der Applikation und deren Integrationen kann sich ein solcher Automatisierungsgrad natürlich unter Umständen nicht lohnen – daher sollte immer zuerst eine ROI-Analyse durchgeführt werden.
Es gibt verschiedene Möglichkeiten, das Mangement der Testumgebungen zu organisieren. In der Regel beginnen Unternehmen mit gemeinsamen Tabellen, gemeinsamen Kalendern und manuell erstellten Dashboards, die sie regelmässig aktualisieren. All diese Lösungen haben ihre Vorteile: Sie sind bereits verfügbar und sehen auf den ersten Blick einfach aus.
Leider ist diese manuelle Arbeit zeitaufwendig, und selbst wenn die beteiligten Personen (Environment Manager, Release Manager, QA-Tester, Entwickler, System Engineers) anfangs diszipliniert sind, werden die Informationen im Laufe der Zeit immer ungenauer.
Wenn das Team bereits die Möglichkeit hat, Atlassian Jira zu nutzen, ist es nicht notwendig, eine zusätzliche Plattform zu erwerben und zu integrieren. Die Golive Jira App lässt sich mit wenigen Klicks aktivieren und ermöglicht dem Team, das Umgebungsinventar zu erfassen und das Buchungssystem mit den leistungsstarken Funktionen von Jira zu nutzen. Die App kann 30 Tage lang kostenlos getestet werden. Danach wird sie automatisch auf die Atlassian-Rechnungen gebucht (einfacher Kaufprozess – keine neue Registrierung beim Anbieter).
Apwide Golive ist eine Jira-App für mehr Transparenz und Kontrolle über die Umgebungen.
Autor David Berclaz Apwide
Sie möchten unsere Expertise nutzen und technologische Innovationen umsetzen?
Haben Sie eine Frage oder suchen Sie weitere Informationen? Geben Sie Ihre Kontaktinformationen an und wir rufen Sie zurück.