Name des Projekts

Verbesserung der Systemproduktivität durch Refaktorisierung

Branche

Bildung

Kunde

Education First ist ein weltweiter Branchenführer im Bildungsbereich, der seit mehr als 50 Jahren bahnbrechende Lernmöglichkeiten von Sprachen für alle Altersgruppen, unterschiedliche Nationalitäten und soziale Umfelder anbietet. Das Unternehmen verfügt über mehr als 600 Büros in über 60 Ländern auf allen Kontinenten.

layout docs

Herausforderungen

In IT-Systemen wächst sehr häufig mit zunehmender Funktionalität auch die Schwierigkeit neue hinzuzufügen. Die Instandhaltung sowie Entwicklung des Systems wird immer schwieriger und die Instandhaltungskosten übersteigen die Kosten der Einführung neuer Funktionalitäten.

Solche Situationen sind meistens ein sehr schlechtes Zeichen, das auf große Probleme im System hinweist. Der einzige Weg zur Steigerung der Produktivität ist die Einführung der Refaktorisierungsphase in den Projektumfang - d. h. der iterativen Modifikation des Codes, die keine funktionalen Änderungen verursacht. Ziel des Refaktorisierungsprozesses ist die Verbesserung solcher Qualitätsmerkmale des Systems, wie z. B. Instandhaltungsfreundlichkeit, Erweiterbarkeit, Leistung, Skalierbarkeit, Beobachtbarkeit sowie Flexibilität.

Lösung

Hohe Anforderungen haben eine breite Palette von Änderungen in der Systemarchitektur erzwungen. Die Britenet-Fachleute sind daher von einer stark verfahrenstechnischen zu einer objektorientierten Herangehensweise übergegangen und versuchten dabei, die Zuständigkeiten und Beziehungen zwischen den Systemmodulen genau festzulegen.

Codierungsstandards, die Anforderung, Einheitstests von hoher Qualität zu schreiben, statische Codeanalyse und Peer-Review wurden in den Herstellungsprozess eingeführt.

Es wurde ein Plan erstellt, in dem Aufgaben, die den geringsten Arbeitsaufwand erforderten und dabei gleichzeitig die besten Ergebnisse lieferten, priorisiert wurden. In jedem Sprint wurden zwischen 10 und 30 % der technischen Aufgaben so eingeführt, dass sie nicht mit der Implementierung neuer Geschäftsanforderungen kollidieren.

Ergebnisse

Geschwindigkeit und Leistung des Systems
Britenet hat ein Modul aufgebaut, das die Optimierung der Ausführung von Funktionalitäten erleichtert und die Anzahl der Datenbankoperationen reduziert. Die Anzahl der zyklischen Abhängigkeiten in der Logik wurde reduziert und die meisten Funktionalitäten wurden von freien Process Buildern in die Trigger-Codes übertragen.

Skalierbarkeit
Das Britenet hat ein Modul auf der Grundlage von Salesforce Platform Events eingeführt, das die Funktion der Messaging Queues nachbildet und eine Warteschlangenbildung für Aufgaben sowie deren Wiederverarbeitung im Fehlerfall ermöglicht. Es wurde auch ein generischer Mechanismus asynchroner Codeaufrufe angewendet, der eine dynamische Auswahl der entsprechenden Strategie je nach Kontext des Aufrufs ermöglicht (z. B. der während der Arbeit des Systembenutzers ausgeführte Code wird synchron ausgeführt, aber die gleichen Funktionalitäten für Integrationsprozesse werden asynchron ausgeführt).

Beobachtbarkeit
Es wurden Mechanismen zur Fehlerprotokollierung sowie zur Verfolgung der Anzahl und Schnelligkeit asynchroner Aufrufe, des Zustands der Systemwarteschlangen, der Plattformlimits und des Zustands der wichtigsten automatischen Prozesse im System eingeführt. Außerdem entstand die Möglichkeit, Berichte und Dashboards zu erstellen, die von der technischen Seite aus zeigen, was derzeit im System geschieht. Es wurden auch E-Mail-Benachrichtigungen über das fehlerhafte Funktionieren des Systems angewendet.

Erweiterbarkeit und Flexibilität
Während des Refaktorisierungsprozesses wurde der Großteil des Codes in kleine, einfache Klassen aufgeteilt, wobei gleichzeitig darauf geachtet wurde, entsprechende Abhängigkeiten und Verantwortlichkeiten aufrechtzuerhalten. Viele Konfigurationen wurden zu Custom Settings und Custom Metadata übertragen. Mit der Verwendung des Musters Feature Toggle hat Britenet bewirkt, dass praktisch jede Funktionalität vom Administratorbereich aus deaktiviert werden kann.

Instandhaltungsfreundlichkeit
Um sicherzustellen, dass keine neuen Fehler auftreten, hat Britenet die Zahl der Einzeltests erhöht (von 200 auf 1700). Im Endeffekt wurden gut getestete und stabile Instrumente aufgebaut, auf denen die Geschäftslogik basiert. Die Qualität des Codes wurde verbessert, indem die durch das Tool zur statischen Codeanalyse gezeigten technischen Schulden reduziert wurden (von 22k auf 3k). Die Auslastung der Plattformlimits wurde erheblich reduziert (z. B. daily async apex limit von ca. 800k auf 100k, daily api calls limit von ca. 1.500k auf 600k).

Neue Version des Buchungssystems
Wir ermöglichten übertragen des Buchungsprozesses vom alten, maßgeschneiderten System auf die Salesforce-Plattform, wobei alle Elemente der Benutzeroberfläche beibehalten werden...
EducationSalesforceUX
Mehr anzeigen
Originales CRM-System für zielona-energia.com
Wir haben eine CRM-Software in der Firma zielona-energia.com implementiert, die die Arbeit des gesamten Teams rationalisiert, die Art und Weise der Kommunikation systematisiert,...
EnergeticsJavaSystem Development
Mehr anzeigen
Eine höhere Management-Ebene bei der Implementierung von Salesforce
Wir haben Salesforce Nonprofit Success Pack CRM für das Institut Humanites implementiert, wodurch der Kunde eine höhere Ebene beim Management von Kundendaten, Projekten und...
OPPSalesforceSystem Development
Mehr anzeigen
  • Neue Version des Buchungssystems
    Wir ermöglichten übertragen des Buchungsprozesses vom alten, maßgeschneiderten System auf die Salesforce-Plattform, wobei alle Elemente der Benutzeroberfläche beibehalten werden...
    EducationSalesforceUX
    Mehr anzeigen
  • Originales CRM-System für zielona-energia.com
    Wir haben eine CRM-Software in der Firma zielona-energia.com implementiert, die die Arbeit des gesamten Teams rationalisiert, die Art und Weise der Kommunikation systematisiert,...
    EnergeticsJavaSystem Development
    Mehr anzeigen
  • Eine höhere Management-Ebene bei der Implementierung von Salesforce
    Wir haben Salesforce Nonprofit Success Pack CRM für das Institut Humanites implementiert, wodurch der Kunde eine höhere Ebene beim Management von Kundendaten, Projekten und...
    OPPSalesforceSystem Development
    Mehr anzeigen
  • Neue Version des Buchungssystems
    Wir ermöglichten übertragen des Buchungsprozesses vom alten, maßgeschneiderten System auf die Salesforce-Plattform, wobei alle Elemente der Benutzeroberfläche beibehalten werden...
    EducationSalesforceUX
    Mehr anzeigen
  • Originales CRM-System für zielona-energia.com
    Wir haben eine CRM-Software in der Firma zielona-energia.com implementiert, die die Arbeit des gesamten Teams rationalisiert, die Art und Weise der Kommunikation systematisiert,...
    EnergeticsJavaSystem Development
    Mehr anzeigen
  • Eine höhere Management-Ebene bei der Implementierung von Salesforce
    Wir haben Salesforce Nonprofit Success Pack CRM für das Institut Humanites implementiert, wodurch der Kunde eine höhere Ebene beim Management von Kundendaten, Projekten und...
    OPPSalesforceSystem Development
    Mehr anzeigen
  • Neue Version des Buchungssystems
    Wir ermöglichten übertragen des Buchungsprozesses vom alten, maßgeschneiderten System auf die Salesforce-Plattform, wobei alle Elemente der Benutzeroberfläche beibehalten werden...
    EducationSalesforceUX
    Mehr anzeigen
  • Originales CRM-System für zielona-energia.com
    Wir haben eine CRM-Software in der Firma zielona-energia.com implementiert, die die Arbeit des gesamten Teams rationalisiert, die Art und Weise der Kommunikation systematisiert,...
    EnergeticsJavaSystem Development
    Mehr anzeigen
  • Eine höhere Management-Ebene bei der Implementierung von Salesforce
    Wir haben Salesforce Nonprofit Success Pack CRM für das Institut Humanites implementiert, wodurch der Kunde eine höhere Ebene beim Management von Kundendaten, Projekten und...
    OPPSalesforceSystem Development
    Mehr anzeigen
  • Neue Version des Buchungssystems
    Wir ermöglichten übertragen des Buchungsprozesses vom alten, maßgeschneiderten System auf die Salesforce-Plattform, wobei alle Elemente der Benutzeroberfläche beibehalten werden...
    EducationSalesforceUX
    Mehr anzeigen
  • Originales CRM-System für zielona-energia.com
    Wir haben eine CRM-Software in der Firma zielona-energia.com implementiert, die die Arbeit des gesamten Teams rationalisiert, die Art und Weise der Kommunikation systematisiert,...
    EnergeticsJavaSystem Development
    Mehr anzeigen
  • Eine höhere Management-Ebene bei der Implementierung von Salesforce
    Wir haben Salesforce Nonprofit Success Pack CRM für das Institut Humanites implementiert, wodurch der Kunde eine höhere Ebene beim Management von Kundendaten, Projekten und...
    OPPSalesforceSystem Development
    Mehr anzeigen
  • Neue Version des Buchungssystems
    Wir ermöglichten übertragen des Buchungsprozesses vom alten, maßgeschneiderten System auf die Salesforce-Plattform, wobei alle Elemente der Benutzeroberfläche beibehalten werden...
    EducationSalesforceUX
    Mehr anzeigen
  • Originales CRM-System für zielona-energia.com
    Wir haben eine CRM-Software in der Firma zielona-energia.com implementiert, die die Arbeit des gesamten Teams rationalisiert, die Art und Weise der Kommunikation systematisiert,...
    EnergeticsJavaSystem Development
    Mehr anzeigen
  • Eine höhere Management-Ebene bei der Implementierung von Salesforce
    Wir haben Salesforce Nonprofit Success Pack CRM für das Institut Humanites implementiert, wodurch der Kunde eine höhere Ebene beim Management von Kundendaten, Projekten und...
    OPPSalesforceSystem Development
    Mehr anzeigen
  • Neue Version des Buchungssystems
    Wir ermöglichten übertragen des Buchungsprozesses vom alten, maßgeschneiderten System auf die Salesforce-Plattform, wobei alle Elemente der Benutzeroberfläche beibehalten werden...
    EducationSalesforceUX
    Mehr anzeigen
  • Originales CRM-System für zielona-energia.com
    Wir haben eine CRM-Software in der Firma zielona-energia.com implementiert, die die Arbeit des gesamten Teams rationalisiert, die Art und Weise der Kommunikation systematisiert,...
    EnergeticsJavaSystem Development
    Mehr anzeigen
  • Eine höhere Management-Ebene bei der Implementierung von Salesforce
    Wir haben Salesforce Nonprofit Success Pack CRM für das Institut Humanites implementiert, wodurch der Kunde eine höhere Ebene beim Management von Kundendaten, Projekten und...
    OPPSalesforceSystem Development
    Mehr anzeigen
  • Neue Version des Buchungssystems
    Wir ermöglichten übertragen des Buchungsprozesses vom alten, maßgeschneiderten System auf die Salesforce-Plattform, wobei alle Elemente der Benutzeroberfläche beibehalten werden...
    EducationSalesforceUX
    Mehr anzeigen
  • Originales CRM-System für zielona-energia.com
    Wir haben eine CRM-Software in der Firma zielona-energia.com implementiert, die die Arbeit des gesamten Teams rationalisiert, die Art und Weise der Kommunikation systematisiert,...
    EnergeticsJavaSystem Development
    Mehr anzeigen
  • Eine höhere Management-Ebene bei der Implementierung von Salesforce
    Wir haben Salesforce Nonprofit Success Pack CRM für das Institut Humanites implementiert, wodurch der Kunde eine höhere Ebene beim Management von Kundendaten, Projekten und...
    OPPSalesforceSystem Development
    Mehr anzeigen
Diese Website verwendet Cookies für statistische, werbliche und funktionale Zwecke. Durch die weitere Nutzung dieser Website stimmen Sie deren Nutzung zu.
Ich stimme zu