Technologieberatung für einen Transportbetrieb

Der Kunde wollte seinen Softwareentwicklungsprozess optimieren und die Effizienz seiner bestehenden Entwicklungsumgebung bewerten, die kritische Anwendungen für den Transportbetrieb und interne Dienstleistungen unterstützt. Itransition führte eine umfassende Analyse der Entwicklungsabläufe, Tools und Automatisierungspraktiken des Kunden durch und gab maßgeschneiderte Empfehlungen, um eine Grundlage für die anschließende DevOps-Umstellung zu schaffen.

Detaillierter

Bericht zur Bewertung des Ist-Zustandes

Zielzustand

Zielzustandsvision mit praktischen Implementierungsrichtlinien

Technologieberatung für einen Transportbetrieb

Über den Kunden

Unser Kunde ist ein in den USA ansässiges Transportunternehmen, das Dutzende von Servicezentren in ganz Nordamerika betreibt.

Branche

Logistik und Transport

Geografie

USA, Nordamerika

Art des Unternehmens

Privat

Jahre im Geschäft

50+

Die Herausforderung

Das Entwicklungsteam des Kunden verwaltet und unterstützt den Lebenszyklus von über 100 Anwendungen und Tools, die für die interne Automatisierung und die Bereitstellung von Dienstleistungen für Endkunden entwickelt wurden. Mehrere Faktoren wirkten sich jedoch negativ auf die Veröffentlichungsgeschwindigkeit aus, erhöhten den Wartungsaufwand und verringerten die Gesamtflexibilität:

  • Die Softwareentwicklungsumgebung umfasste eine Mischung aus Altsystemen, von denen einige für Routineaktualisierungen Änderungen auf Codeebene erforderten.
  • Die Bereitstellung war zwar teilweise automatisiert, aber bestimmte Schritte erforderten immer noch manuelle Eingriffe über verschiedene Tools hinweg.

Daher wollte der Kunde einen effizienteren und transparenteren Entwicklungsprozess etablieren, indem er seine Entwicklungsabläufe modernisierte und die Automatisierung über den gesamten Lebenszyklus der Softwarebereitstellung erhöhte. Um dieses Ziel zu unterstützen und eine Grundlage für die DevOps-Transformation zu schaffen, initiierte der Kunde ein Technologieberatungsprojekt zur Bewertung seiner Systeme und Entwicklungsprozesse.

Die Lösung

Auf einen Blick

Itransition führte eine umfassende Bewertung der Entwicklungsabläufe, Tools und DevOps-Praktiken des Kunden durch Interviews mit den Beteiligten, Systembegehungen und Überprüfung der Dokumentation durch. Auf der Grundlage der gewonnenen Erkenntnisse gab unser Team gezielte Empfehlungen zur Verbesserung der CI/CD-Automatisierung, zur Stärkung der Sicherheits- und Qualitätskontrollen, zur Einführung konsistenter Verzweigungs- und Freigabestrategien und zur Vereinheitlichung der Werkzeuge, um eine effizientere und skalierbarere Entwicklungsumgebung zu schaffen.

Analyse

Zu Beginn des Auftrags konzentrierten wir uns auf eine Reihe repräsentativer Anwendungen, wobei wir davon ausgingen, dass alle identifizierten Lücken wahrscheinlich auch im breiteren Portfolio der Geschäftsanwendungen vorhanden sein würden.

Die Kommunikation während des gesamten Beratungsauftrags erfolgte in erster Linie mit den wichtigsten technischen Stakeholdern aus den DevOps- und Entwicklungsteams, einschließlich eines leitenden DevOps-Ingenieurs und eines Anwendungsarchitekten. Die strategische Aufsicht wurde vom IT-Direktor des Unternehmens wahrgenommen, um die Ausrichtung auf die allgemeinen Unternehmensziele sicherzustellen.

Zu Beginn des Projekts hielten wir eine gemeinsame Sitzung mit unseren Hauptansprechpartnern ab, um:

  • ein umfassendes Verständnis der Anwendungen zu erlangen, um die technischen Anforderungen wie Verfügbarkeit und Skalierbarkeit zu bewerten
  • Überprüfung der bestehenden Entwicklungsabläufe, der verwendeten Tools und der Automatisierungsverfahren
  • Identifizierung von Schwachstellen und Verbesserungsmöglichkeiten bei CI/CD-Pipelines und -Werkzeugen

In dieser Sitzung gab der Kunde einen umfassenden Überblick über den geschäftlichen Kontext, die aktuelle technische Landschaft und die verwendeten Geschäftsanwendungen. Sie teilten auch die wichtigsten Probleme mit, auf die sie in der Vergangenheit gestoßen waren, sowie die gewünschten Ergebnisse. Diese Informationen flossen in den Projektumfang ein und dienten als Grundlage für unsere anschließende Analyse und Empfehlungen.

Um einen vollständigen Einblick in die Systeme und Prozesse des Kunden zu gewährleisten, führte der Kunde in Echtzeit Systembegehungen über Remote-Sitzungen durch und beantwortete unsere Fragen in Live-Diskussionen. Der Kunde stellte uns auch relevante Dokumentationen und Prozessdiagramme zur Verfügung, die wir überprüften, um unser Verständnis für sein Entwicklungssystem zu vertiefen. Unsere besondere Aufmerksamkeit galt den folgenden Aspekten:

  • Organisation und Management des Lebenszyklus der Softwareentwicklung
  • Relevanz und Modernität der eingesetzten Technologien und Methoden
  • Effektivität der Automatisierungswerkzeuge zur Unterstützung des Entwicklungsprozesses
  • Einhaltung von Qualitäts-, Sicherheits- und Zuverlässigkeitsstandards
  • Hauptrisiken und -chancen für die Prozessoptimierung

Nach der ersten Bestandsaufnahme organisierten wir eine Reihe von Folgesitzungen, um offene Fragen zu klären und Details aufzudecken. Diese Gespräche ermöglichten ein umfassenderes Verständnis der aktuellen Arbeitsabläufe, einschließlich einer genaueren Untersuchung der Entwicklungspraktiken, der beteiligten Anwendungstypen und der technischen Beschränkungen.

Während des gesamten Prozesses tauschten wir Zwischenergebnisse aus, wobei wir das Feedback der Beteiligten berücksichtigten und entsprechende Anpassungen vornahmen.

Empfehlung zur Verbesserung

Unsere Bewertung der Entwicklungsprozesse ergab mehrere Schlüsselprobleme, für die wir gezielte Empfehlungen zusammen mit den erwarteten Ergebnissen gaben:

  • Einführung von Tools zur statischen Codeanalyse, um automatisierte Codequalitätsprüfungen in die CI-Pipeline zu integrieren
  • Implementierung von Sicherheitsscans zur Automatisierung von Schwachstellen- und Abhängigkeitsprüfungen innerhalb der Entwicklungsabläufe
  • Einführung eines Geheimhaltungsmanagements zur sicheren Speicherung und Verwaltung sensibler Daten und Berechtigungsnachweise
  • Standardisierung der Wiederverwendung von Artefakten und Automatisierung des Umgangs mit Artefakten, um die Konsistenz über verschiedene Umgebungen hinweg zu gewährleisten und die Erstellung und Freigabe von Artefakten automatisch anhand von Code-Ereignissen auszulösen
  • Verwendung von Git-Flow für langfristige Projekte zur Einführung strukturierter Verzweigungsstrategien für Projekte mit längeren Veröffentlichungszyklen
  • Aktivieren Sie ereignisbasierte Bereitstellungen, um Bereitstellungen in Nicht-Produktionsumgebungen auf der Grundlage von Codeänderungen oder Pipeline-Ereignissen zu automatisieren.
  • Verbesserung von Rollback-Mechanismen durch Standardisierung und Automatisierung von Rollback-Prozessen
  • Vereinheitlichung von DevOps mit GitLab zur Konsolidierung von CI/CD, Versionskontrolle und Artefaktmanagement auf einer einzigen Plattform
  • Automatisieren Sie das Konfigurationsmanagement mit Ansible als wichtigstem System für Konfigurations- und Automatisierungsskripte
  • Integration von Datenbankänderungen in CI/CD, um Datenbankaktualisierungen neben dem Anwendungscode in der Pipeline zu verwalten
  • Implementierung eines Entwicklerportals zur Zentralisierung von Tools, Dokumentation und Arbeitsabläufen, um die Erfahrung der Entwickler zu verbessern

Suchen Sie einen erfahrenen Technologie-Berater?

Kontaktieren Sie uns

Das Ergebnis

Im Rahmen des zweiwöchigen Beratungsauftrags führte Itransition eine umfassende Analyse der bestehenden Entwicklungsabläufe, Tools und Automatisierungspraktiken des Kunden durch und bewertete deren Übereinstimmung mit Branchenstandards und Best Practices.

Nach Abschluss des Projekts erstellten wir einen umfassenden Bericht mit den wichtigsten Ergebnissen und maßgeschneiderten Empfehlungen zur Verbesserung der Entwicklungseffizienz, Skalierbarkeit und Zuverlässigkeit und legten damit die Grundlage für die anschließende Implementierungsphase.

Nach der Umsetzung unserer Empfehlungen kann der Kunde die folgenden Vorteile erwarten:

01

Verbesserte Softwarequalität und Sicherheit durch
frühzeitige Erkennung von Problemen, einheitliche Kodierungsstandards, automatisches Scannen von Schwachstellen und zentralisierte Verwaltung von Geheimnissen

02

Beschleunigte Bereitstellung und Effizienz durch Automatisierung, gestraffte Arbeitsabläufe und weniger manuelle Eingriffe, wodurch schnellere Release-Zyklen und ein höherer Entwicklungsdurchsatz ermöglicht werden

03

Größere betriebliche Konsistenz und Zuverlässigkeit durch standardisierte Bereitstellungen, Wiederverwendung von Artefakten, integrierte Datenbankänderungen und Automatisierung von Rollback-Mechanismen

04

Skalierbare und wartbare DevOps-Praktiken durch vereinheitlichte Plattformen wie GitLab und Ansible, die Infrastruktur als Code und optimiertes Konfigurationsmanagement unterstützen

05

Verbesserte Entwicklererfahrung und Zusammenarbeit durch zentralen Zugriff auf Tools, optimiertes Onboarding und verbesserten Wissensaustausch