The Doppler Quarterly (DEUTSCHE) Frühjahr 2016 | Page 60

Änderungen können beispielsweise erforderlich werden , wenn Software an neue Steuervorschriften für das Unternehmen angepasst werden muss oder wenn die Implementierung eines leistungsfähigeren Datenbank-Zugriffsmoduls fällig ist .
Schritt 3 : Einsatz des agilen Kanban-Projektmanagements zur Automatisierung und Bewältigung von DevOps-Anfragen mit den vorhandenen Tools
Kanban ist ein Implementierungsrahmen für agile Entwicklung , der die Menge der zu bearbeitenden Aufgaben entsprechend der Kapazität des Teams steuert . Es verschafft den Teams flexiblere Planungsoptionen und ermöglicht schnellere Ergebnisse , eine klare Fokussierung und Transparenz im gesamten Entwicklungszyklus . Die Kanban-Tools bieten eine Übersicht über die heute zu erledigenden Aufgaben oder zeigen alle Objekte im Kontext miteinander an . Sie steuern die Menge der zu bearbeitenden Aufgaben in Arbeitsabläufen , sodass man nicht versucht ist , sich zu viel auf einmal aufzubürden . Zudem sorgen Kanban-Tools für verbesserte Abläufe . In Kanban wird das nächste Arbeitselement erst dann aus der Warteschlange an die Entwicklung weitergeleitet , wenn das vorherige Element fertiggestellt ist .
Schritt 4 : Verwendung von Tools zum Protokollieren von Metriken zu manuellen und automatisierten Prozessen
Nutzen Sie Tools , um die Produktivität Ihrer DevOps-Prozesse , ob automatisiert oder manuell , zu messen und zu kontrollieren , ob sie effizient funktionieren . Zuvor müssen Sie folgende Aktivitäten mit diesen Tools durchführen : Erstens : Definieren Sie Metriken , die für die DevOps-Prozesse relevant sind , z . B . Tempo der Bereitstellung in Relation zu bei Tests gefundenen Fehlern . Zweitens : Definieren Sie Prozesse zur automatisierten Problembehebung ohne menschliche Eingriffe , z . B . die automatische Behebung von Problemen mit der Softwareskalierung auf Cloud-basierten Plattformen .
Schritt 5 : Implementierung von Testautomatisierungs- und Testdatenbereitstellungstools
Testautomatisierung ist mehr als nur automatisiertes Testen ; es ist die Fähigkeit , standardmäßige Testroutinen an Code und Daten auszuführen , um die Qualität des Codes , der Daten und der gesamten Lösung sicherzustellen . Bei DevOps müssen die Tests kontinuierlich ausgeführt werden . Code und Daten können in den Prozess eingebracht werden , indem der Code in eine Sandbox übertragen wird und der Anwendung Testdaten zugewiesen werden .
Nach Hunderten – oder Tausenden – von Tests wird der Code automatisch wieder in den DevOps-Prozess eingeleitet oder zur Überarbeitung an die Entwickler zurückgeschickt .
Schritt 6 : Durchführung von Akzeptanztests zu allen Implementierungstools
Zu den Aufgaben der Verantwortlichen für die DevOps-Testprozesse zählt die Definition der Akzeptanztests , die zu jeder Implementierung gehören , z . B . der Grad der Akzeptanz für die Infrastruktur , Anwendungen und Daten wie auch für die verwendete Testsuite . Diese Tests können vom Entwicklungs- oder Betriebsteam jederzeit geändert werden . Zudem müssen im Zuge der Weiterentwicklung von Anwendungen von Zeit zu Zeit neue Anforderungen in die Software integriert werden . Die Umsetzung dieser neuen Anforderungen muss dann wiederum getestet werden . Beispielsweise kann es vorkommen , dass Änderungen aufgrund neuer Compliance-Anforderungen zum Datenschutz getestet werden müssen oder Änderungen zur Behebung von Leistungsproblemen , damit das Unternehmen seine Service-Level-Agreements einhalten kann .
Schritt 7 : Ständiger Austausch von Feedback zwischen den Teams , um Schwachstellen , Probleme und Ineffizienzen zu erkennen
Zur Automatisierung der Kommunikation müssen Feedback-Schleifen zwischen Tests zum Aufspüren von Problemen und Tests bezüglich der Anforderungen , die vom ausgewählten Tool unterstützt werden müssen , eingerichtet werden . Das betreffende Tool muss das Problem mithilfe manueller oder automatisierter Mechanismen identifizieren und das Problem mit dem Artefakt markieren , damit die Entwickler oder Operatoren verstehen , was passiert ist , warum es passiert ist und an welcher Stelle es passiert ist .
Zudem sollte das Tool die Definition einer Kommunikationskette mit allen automatisierten Instanzen und menschlichen Beteiligten unterstützen . Die Kommunikation muss die Vorgehensweise zur Behebung des Problems in Zusammenarbeit des gesamten Teams , einen Konsens über die anzuwendende Art der Problemlösung sowie eine Liste mit eventuell benötigtem zusätzlichem Code oder zusätzlicher Technologie beinhalten . Zum Schluss erfolgt die Überleitung in die Produktion . Hier ist es wichtig , dass das Tool die Definition des Trackings erleichtert , mit dem überprüft wird , ob die Problemlösung die automatisierten Tests , die Implementierung und schließlich den operativen Einsatz erfolgreich bewältigt hat .
58 | THE DOPPLER | FRÜHJAHR 2016