Verbesserung der Systemproduktivität durch Refactoring

Verbesserung der Systemproduktivität durch Refactoring

IT system refactoring
Herausforderungen

In Informationssystemen steigt mit zunehmendem Funktionsumfang häufig die Schwierigkeit, neue hinzuzufügen. Es wird immer schwieriger, das System zu entwickeln, und die Kosten für die Wartung des Systems übersteigen allmählich die Kosten für die Einführung neuer Funktionen. Solche Situationen sind in den meisten Fällen ein sehr schlechtes Warnsignal für Probleme.

Das System des Kunden wies bereits zu Beginn Erosionserscheinungen auf — immer häufiger wurden die Grenzen der Plattform überschritten. Dies war auf eine fehlerhafte Ausführung der Funktionalität zurückzuführen und führte zu Datenbeschädigungen. Ziel des Projekts war es, eine umfassende Skalierbarkeit zu erreichen, die einen stabilen Betrieb mit einer gleichzeitigen Auslastung von mehreren tausend Benutzern und einem Zustrom von zehn bis mehreren hunderttausend Datensätzen pro Tag ermöglichen würde. All dies natürlich unter Beibehaltung des unterbrechungsfreien Betriebs des Systems und eines hohen Maßes an Erweiterbarkeit.

Lösungen

Hohe Anforderungen erzwangen eine Vielzahl von Änderungen in der Architektur des Systems. Eine Möglichkeit, die Produktivität zu steigern, besteht darin, im Rahmen des Projekts eine Refactoring-Phase einzuführen — eine iterative Änderung des Codes, die keine funktionalen Änderungen verursacht. Das Ziel des Refactoring-Prozesses besteht darin, die Qualitätsmerkmale des Systems zu verbessern, wie Wartbarkeit, Erweiterbarkeit, Effizienz, Skalierbarkeit, Beobachtbarkeit, verbesserte Produktivität und Flexibilität.

Im Rahmen des Projekts wurde ein Plan erstellt, in dem die Aufgaben priorisiert wurden, für die der geringste Arbeitsaufwand erforderlich war und gleichzeitig die besten Ergebnisse erzielt wurden. In jedem Sprint werden 10 bis 30% der technischen Aufgaben so eingeführt, dass sie die Umsetzung neuer Geschäftsanforderungen nicht beeinträchtigen.

Um den Anforderungen des Unternehmens gerecht zu werden, wurde beschlossen, ein Modul zu entwickeln, das die Optimierung der Funktionalität erleichtert und den Umfang der Datenbankoperationen reduziert. Es wurden Nachrichtenwarteschlangen eingeführt, die auf Salesforce-Plattformereignissen basieren, und es wurden Mechanismen eingeführt, um Fehler zu protokollieren und die Anzahl und Geschwindigkeit asynchroner Anrufe, Systemwarteschlangen, Plattformbeschränkungen und den Status der wichtigsten automatisierten Prozesse im System nachzuverfolgen.

Auswirkungen

Der Refactoring-Prozess im Laufe der Zeit hat die Wartung und Entwicklung des Systems erheblich erleichtert sowie Fehler erheblich beseitigt und die Erstellung neuer Fehler erschwert. Die Umsetzung des Projekts ermöglichte:

  • Geschwindigkeit und Effizienz erhöhen — erleichterte die Optimierung der Funktionalität, reduzierte die Anzahl der zyklischen Abhängigkeiten in der Logik und übertrug den größten Teil der Funktionalität auf den Code
  • Verbesserte Skalierbarkeit — die Warteschlange von Aufgaben und deren Bearbeitung im Fehlerfall wurde ermöglicht, es wurde ein Abrufmechanismus angewendet, der es ermöglicht, je nach Kontext des Anrufs die geeignete Strategie auszuwählen,
  • bessere Beobachtbarkeit — Mechanismen zur Protokollierung von Fehlern und zur Verfolgung der Anzahl und Geschwindigkeit von Anrufen, Plattformbeschränkungen und des Status der wichtigsten Prozesse im System eingeführt; generierte Berichte zeigen, was derzeit im System von der technischen Seite aus passiert,
  • Höhere Erweiterbarkeit und Flexibilität — der größte Teil des Codes wurde in kleinere Klassen aufgeteilt, wobei darauf geachtet wurde, angemessene Abhängigkeiten beizubehalten; jede Funktionalität kann auf der Administratorebene deaktiviert werden,
  • einfache Wartung — entwickelte ein gut getestetes und stabiles Tool, auf dem die Geschäftslogik basierte.
Angewandte Technologien und Tools

Salesforce, Vertriebs-Cloud, Cloud-Dienst, Community Cloud, Marketing Cloud, AWS, Apex, Lightning-Webkomponenten

Klient: Education First

Education First ist ein weltweit führendes Unternehmen in der Bildungsbranche, das seit mehr als 50 Jahren bahnbrechende Möglichkeiten zum Fremdsprachenlernen für Menschen jeden Alters, jeder Nationalität und Herkunft anbietet. Das Unternehmen hat mehr als 600 Niederlassungen in mehr als 60 Ländern auf allen Kontinenten.

Other case studies

Salesforce case study

Mehrstufiges globales Supportzentrum

Herausforderungen Der Kunde benötigte ein zentrales System zur Verwalt...

Mehr lesen