Automatisieren zum Steigern der Effizienz
Ersetzen Sie sich wiederholende manuelle Aufgaben durch Softwareautomatisierung, um sie schneller und mit größerer Konsistenz und Genauigkeit sowie weniger Risiken abzuschließen. |
---|
Die Arbeitsauslastung kann Workflows mit Prozessen aufweisen, bei denen die Teammitglieder an langweiligen, sich wiederholenden und zeitaufwändigen Aufgaben arbeiten, die eigentlich keinen menschlichen Intellekt benötigen. Je nach Häufigkeit können Sie erhebliche Zeit in diese Arbeiten stecken, die mit dem Anwachsen der Arbeitsauslastung noch mehr werden. Außerdem sind diese Prozesse aufgrund menschlicher Eingaben häufig fehleranfällig.
Durch Automatisierung sparen Sie Zeit, Mühe und Geld. Außerdem vermeiden Sie Fehler.
Beispielszenario
Die Contoso University hat eine Webanwendung entwickelt, die sich derzeit in der Produktion befindet und die in Azure gehostet wird. Sie stellt die Onlinebildungsdienste für Studierenden und Lehrkräfte von Contoso bereit.
Die Technologielösung basiert auf Azure App Service, Azure SQL-Datenbank, Azure Active Directory, Azure Key Vault und Azure DevOps.
Automatisieren von Flows
Bewerten Sie alle Workflows anhand von Kriterien, die dem richtigen Maß an Komplexität, Aufwand, Häufigkeit, Genauigkeit, Aktualität und Lebensdauer entsprechen. Automatisieren Sie Workflows basierend auf dieser Bewertung, und priorisieren Sie die Workflows mit den höchsten erwarteten Renditen. Entfernen Sie redundante Workflows, oder fügen Sie einen Mehrwert hinzu, der einen Personaleinsatz rechtfertigt.
Durch die Einführung dieses Ansatzes können Sie die Kapazitäten des Teams in anspruchsvollere Arbeiten investieren und die Produktivität und Konsistenz steigern.
Durch das Erstellen eines Inventars von Workflows wird sichergestellt, dass Sie die richtigen Aufgaben automatisieren. Das Entfernen redundanter Aufgaben reduziert die Komplexität und Fehler.
Herausforderung von Contoso
- Das Team der Contoso University sucht nach Möglichkeiten, den Betriebsprozess zu verbessern, indem manuelle Aufgaben automatisiert werden, die sich wiederholen, die zeitaufwendig oder fehleranfällig sind bzw. die einen geringen Nutzen haben. Dadurch könnten Zeit und Ressourcen des Teams für strategischere Aufgaben freigesetzt, die Qualität und Zuverlässigkeit des Diensts verbessert und die Kosten möglicherweise reduziert werden.
Umsetzung und Ergebnisse
- Um mit diesen Arbeiten zu beginnen, hat das Team eine Bestandsaufnahme manueller Aufgaben durchgeführt, die potenziell automatisiert werden könnten. Als Nächstes hat das Team die Liste der Aufgaben anhand der in der Empfehlung vorgeschlagenen Kriterien analysiert. Dazu gehörten das richtige Maß an Komplexität, Aufwand, Häufigkeit, Genauigkeit, Aktualität und Lebensdauer. Auf diese Weise wurden die wichtigsten Kandidaten für die Automatisierung ermittelt. Gleichzeitig hat das Team auch bewertet, ob langfristig der Erwerb eines Automatisierungstools oder die interne benutzerdefinierte Entwicklung der Automatisierung besser sein würde.
- Als Ergebnis der Analyse wurde beschlossen, sich auf die Automatisierung von Aktivitäten im Zusammenhang mit der Benutzerkontenverwaltung zu konzentrieren. Das Verwalten von Benutzerkonten (Studierende, Lehrkräfte, Mitarbeitende) ist eine gängige Aufgabe. Sie umfasst das Erstellen neuer Konten bei der Registrierung von Studierenden, das Zurücksetzen von Kennwörtern und das Löschen von Konten, wenn Personen die Universität verlassen.
- Durch die Automatisierung vieler Aufgaben im Zusammenhang mit der Benutzerkontenverwaltung hat das Team genügend Zeit, um andere Verbesserungen der operationalen Exzellenz in Angriff zu nehmen, die bislang aufgeschoben wurden.
Entwerfen für Automatisierung
Entwerfen Sie die Komponenten Ihrer Arbeitsauslastung so, dass sie Automatisierungsfunktionen unterstützen.
Vermeiden Sie die Situation, in der ein Mangel an Automatisierung in Ihrem Systementwurf das Antimuster von sich wiederholenden Aufgaben fördert, das Wachstum verlangsamt und mit der Akkumulation technischer Schulden beginnt.
Herausforderung von Contoso
- Die Anwendung verfügt über eine umfangreiche und dynamische Benutzeroberfläche, in der viele interaktive Elemente und Animationen verwendet werden. Das Entwicklungsteam hat noch nie automatisierte Testtools für die Benutzeroberfläche eingesetzt, da die Anwendung ursprünglich nur mithilfe von manuellen Tests entwickelt wurde.
- In letzter Zeit hat das Team an der Automatisierung der Benutzeroberflächentests gearbeitet, ist aber auf viele Herausforderungen gestoßen. Einige der Seiten der Benutzeroberfläche sind zu dynamisch und unvorhersehbar. Zudem gibt es keine konsistente Möglichkeit, einige der Felder zu identifizieren, mit denen die Testfälle interagieren müssen.
Umsetzung und Ergebnisse
- Das Team hat beschlossen, die Implementierung der Benutzeroberfläche zu verbessern, damit sie besser getestet werden kann und barrierefreier wird. Sie nehmen die Verbesserungen inkrementell vor, indem sie die Seiten beim Erstellen der Testfälle korrigieren.
- Während sie die einzelnen Seiten bearbeiten, stellen sie sicher, dass jedes Feld einen eindeutigen Bezeichner aufweist, der von den Testautomatisierungstools verwendet werden kann. Sie befolgen auch Richtlinien und Standards für Barrierefreiheit, z. B. die Verwendung von semantischem HTML, richtigen Bezeichnungen und Tastaturnavigation. Dadurch wird die Benutzeroberfläche benutzerfreundlicher und kann einfacher getestet werden.
- Wenn automatisierte Tests abgeschlossen sind, werden sie in die Testsammlung integriert, die während des täglichen Builds ausgeführt wird. So ist es möglich, die Zeit für die Aufnahme neuer Builds in die Produktion erheblich zu verkürzen, die Produktqualität zu verbessern und während der Entwicklung Kosten zu sparen.
Die Architektur der Automatisierung sollte gut durchdacht sein
Behandeln Sie die gesamte Automatisierung als kritische Abhängigkeit Ihrer Arbeitsauslastung. Führen Sie Anpassungen an das erwartete Wachstum der Arbeitsauslastung durch. Ihre Automatisierungstools sind ein integraler Bestandteil Ihrer Arbeitsauslastung und sollten die fünf Säulen des Well-Architected Framework einhalten.
Entwerfen Sie Ihre Automatisierungskomponente so, dass sie Risiken wie Sicherheitsbedrohungen standhält. Mit angewendeten bewährten Methoden können Sie ein Ausufern der Implementierung vermeiden.
Die Arbeitsauslastung funktioniert weiterhin mit hoher Zuverlässigkeit, wenn diese Abhängigkeit funktionsfähig und sicher bleibt.
Herausforderung von Contoso
- Die Arbeitsauslastung weist eine Umgebung auf, die für Auslastungs- und Leistungstests vorgesehen ist. Sie ist so konfiguriert, dass sie die Produktion genau nachahmt. Um produktionsähnliche Bedingungen in der Umgebung genauer zu simulieren, wird eine neue Kopie der Produktionsdatenbank mit anonymisierten und maskierten vertraulichen Daten aller Benutzer*innen jeden Montag in die Testumgebung geladen, wenn diese Umgebung zurückgesetzt wird.
- Das Skript zum Laden der Datenbank wurde von einem ehemaligen Entwickler geschrieben, der es nicht richtig dokumentiert hat oder anderen bewährten Methoden gefolgt ist. Das Skript wird langsam ausgeführt und behandelt Fehler oder Ausfälle nicht ordnungsgemäß.
- Da die Produktionsdatenbank wächst, ist die Laufzeit des Skripts in letzter Zeit immer länger geworden, und es schlägt häufig fehl. Diese Verzögerungen und Fehler wirken sich auf die Fähigkeit des Teams aus, Testläufe auszuführen. Zudem verursachen sie Verzögerungen im Entwicklungszeitplan.
Umsetzung und Ergebnisse
- Das Team beschließt, dass es an der Zeit ist, dieses Tool neu zu schreiben, damit es den Standardentwicklungspraktiken entspricht, die zum Entwickeln der Codebasis für die Kernanwendung verwendet werden. Das Team befolgt die von der Branche akzeptierten bewährten Entwicklungsmethoden, einschließlich der geeigneten Sicherheit und einer angemessenen Fehlerbehandlung.
- Die Leistung wurde verbessert, und die Funktionalität wurde so neu gestaltet, dass sie unabhängig von der Größe des Produktionsdatasets eine planbare Ausführungszeit liefert.
- Durch die Behandlung der Automatisierung mit der gleichen Genauigkeit wie die Codebasis der Kernanwendung sowie durch die Anwendung der WAF-Prinzipien und -Empfehlungen hat das Team sie im Hinblick auf Zuverlässigkeit, Sicherheit, Leistung, Kosten und Betrieb optimiert.