1. Digitalisierung ist notwendig
2. Moderne Systeme sind komplex und fehlerhaft
Also eine volatile Welt voller Unwägbarkeiten und Gefahren? Welche Risiken resultieren daraus?
Quelle: https://xkcd.com/2347/
- Datendiebstahl durch unzureichend gesicherte Systeme führt zu Reputationsverlust und kann Schadenersatzansprüche nach sich ziehen.
- Schlechte System-Performance in der Bedienung oder im Antwortverhalten verprellt Kunden und Anwender, die eher ungerne eine zweite Chance geben.
- Mangelhafte Prozesse erschweren die Betriebsfähigkeit, die Wartung sowie Weiterentwicklung von Applikationen und Systemen. Dies führt zu Instabilität und erhöhten Kosten.
- Aufgedeckte Sicherheitslücken, auch im Ausmaß des oben angesprochenen Log4j-‚Features‘, gibt es immer wieder. Wird dann nicht schnell und richtig gehandelt, kann großer Schaden entstehen.
Hierfür möchten wir die folgenden Empfehlungen aussprechen:
- Software erhöht die Wertschöpfung Ihrer Produkte und Dienstleistungen. Investieren sie also nachhaltig in die Weiterbildung und Qualifikation ihrer Mitarbeiter, besonders der Software-Architekten, Entwickler und Systemadministratoren.
- Entscheiden Sie, welche Software-Projekte und Applikationen zu ihrem Kerngeschäft gehören und demzufolge auch in ihre eigenen Hände gehört. Belassen Sie entscheidende Positionen im Unternehmen und lagern diese nicht aus. Versuchen Sie das entscheidende Wissen redundant aufzubauen und vorzuhalten. Im ungünstigen Fall können Sie Ausfälle kompensieren, im günstigen Fall können Sie bewährte Methoden im Unternehmen weiterverbreiten.
- Nutzen Sie agile Software-Entwicklungsstandards und geben auch den fachlichen Product-Ownern ausreichend Zeit, im Projekt teilzunehmen. Die Verzahnung von Software-Entwicklung und Fachbereich und die direkte und permanente Zusammenarbeit gewährleisten den gleichen Wissensstand, direkte Ergebnisse und die zielgerichtete und effektive Projektfortführung.
- Bauen Sie Infrastruktur für Ihre Systeme und Applikationen automatisiert auf. Skripten Sie ihre Umgebungen und unterlassen Sie manuelle Schritte beim Aufbau von Systemen. Dadurch schaffen Sie ein hohes und gleichbleibendes Qualitätsniveau in allen Stages, von Entwicklung bis Produktion. Wiederholbarkeit, Nachvollziehbarkeit, wesentlich vereinfachte Systemaktualisierungen und nachweisbare Einhaltungen von Regularien sind die positiven Ergebnisse bei diesem Vorgehen.
- Automatisieren Sie ebenso Ihre Entwicklungsstrecken, beginnend vom Einchecken des Codes durch die Entwickler. Codereviews, automatisierte Tests, fortlaufende Sicherheits-Checks, Paketieren und Versionieren von Auslieferungsständen bis hin zu fachlichen Freigabeprozessen vor einem produktiven Deployment. Damit schaffen Sie wesentliche Voraussetzungen für häufige und erfolgreiche Software-Aktualisierungen. Sie können umgehend reagieren und müssen nicht auf viertel- oder halbjährliche Wartungsfenster Rücksicht nehmen.
- Etablieren Sie Monitoring für Infrastrukturen und Applikationen und nutzen Sie moderne und automatisierte Überwachungs- und Wiederanlaufmethoden im Fehlerfall und bei Ausfall. Passen Sie Ihre Überwachungsmechanismen permanent an. Damit werden eine hohe Systemverfügbarkeit auch bei Lastspitzen sowie die Einhaltung der Erwartungshaltung ihrer Anwender und Kunden erreicht.
Aus Erfahrung mit unseren eigenen Kunden, besonders Konzernen und Mittelständlern mit einer langen Historie und Tradition, bei denen ‚eigene Software‘ erst seit wenigen Jahren zum Kernbereich der eigenen Produkte und Dienstleistungen gehört, wissen wir, wie aufwändig es ist, diese Methoden im Unternehmen nachhaltig und über Jahre einzuführen. Dennoch ist es unumgänglich die Software-Supply-Chain, also die Bereitstellung und permanente sichere Anpassung von Applikationen und Systemen im Unternehmen zu institutionalisieren. Auch ein langer Weg beginnt mit dem ersten Schritt!
0 Kommentare