Warum wir Joules BASE entwickelt haben

Als wir vor 10 Jahren Joules entwickelten, sollte es vor allem einen Zweck erfüllen: Provisionen generieren. Das Ur-Joules war also streng genommen als ein einfaches "CORE / PARTNER" aufgestellt. Im Laufe der Zeit kamen mit neuen Kunden auch neue Anforderungen auf uns zu. Dabei haben unsere frühen Kunden besonders an uns geschätzt, dass wir jederzeit dazu bereit waren, mehr oder weniger "auf Zuruf" Erweiterungen in ihre Systeme zu verbauen.

Michael Zuber
21. Juli 2020

Sagen Sie es weiter:

Entwicklungen in diesem Stil gehen sehr schnell und lösen das akute Problem in der Regel; sie haben aber leider auch einen Haken: In Eile geschriebener Code ist schwer zu warten und nicht besonders zukunftssicher. Zudem führte das dazu, dass die Codebasis in jedem Produktiv-System verschieden gestaltet und mit anderen Joules-Systemen nicht kompatibel war. In der Konsequenz bekamen wir somit häufig eigentlich ähnliche Anforderungen von verschiedenen Kunden, mussten für diese aber jeweils individuelle Lösungen entwickeln – schlicht weil der Code der verschiedenen Systeme nicht zueinander kompatibel war. Im Lauf der Zeit entstanden so verschiedene stark individualisierte, wartungsintensive Joules-Installationen, die aber paradoxerweise in ihrem Funktionsumfang gar nicht mal so mächtig waren.

(R)Evolution

Klar war: Wenn Joules weiter wachsen und zukunftssicher bleiben sollte, musste der Code standardisiert werden – alles andere als eine triviale Aufgabe. 2017 war es dann schließlich soweit: Joules Base war in einer ersten Version bereit für unseren Vertrieb. Mit Joules Base hatten wir eine einheitliche, kundenübergreifende Codebasis mit individuellen Konfigurationen auf Datenbankebene geschaffen.

Die kundenspezifischen Workflows, Prozesse etc. würden dabei im Standardsystem weiter abgebildet werden können. Nur statt jeweils Individualcode zu produzieren, konnte nun viel mehr über Parameter in der Joules Oberfläche konfiguriert werden. Der Vorteil: Es war nun nicht mehr für jeden Handgriff ein Programmierer notwendig. Das neue Joules machte es möglich, dass auch ehemals komplizierte Anforderungen, wie beispielsweise das Einrichten einer neuen Schnittstelle, von den Kundenbetreuern oder sogar den Kunden selbst erledigt werden konnte.

Selbstverständlich waren wir auch weiterhin bereit dazu, individuelle Anforderungen für die einzelnen Kundensysteme zu entwickeln. Diese Erweiterungen waren aber von der Software-Architektur nun weitgehend gekapselt, wodurch eine prinzipielle Updatefähigkeit hergestellt wurde.

Lessons learned

Die Umstellung auf eine einheitliche Codebasis hatte natürlich große Auswirkungen auf unsere Workflows und unseren Projektalltag. Das ganze Team – Entwickler, Projektmanager und Kundenbetreuer – musste sich an die neuen Abläufe gewöhnen. Anforderungen von Kunden werden nun nicht mehr wie früher direkt von einem Kundenbetreuer gemeinsam mit einem Entwickler geplant und umgesetzt, sondern in der Produktabteilung einer zentralen Planung unterworfen.

Handelt es sich um generell sinnvolle Erweiterung des Joules Funktionsumfangs, erarbeiten wir eine möglichst generische und damit flexible Gesamtlösung, die nicht nur das eine gerade aktuelle Problem löst, sondern auch schon die vielleicht in Zukunft anstehenden Änderungen mitbedenkt. Diese Neuerungen fließen dann nach Freigabe der Produktabteilung über Updates in den Base-Code ein. Seit 2019 ist eins+null bei einem wöchentlichen Update-Rhythmus angelangt.

Legacy-Systeme

Mittlerweile haben wir die meisten unserer Altsysteme auf den neuen Code-Standard migriert. Einige dieser Legacy-Systeme existieren aber noch, und werden auch von uns nach dem alten Verfahren betreut. Diese Zweigleisigkeit ist eine Herausforderung, aber momentan noch unvermeidbar.

Nicht nur aus Eigennutz möchte ich daher die Gelegenheit nutzen, Anwendern von Legacy-Systemen die Migration auf Joules Base ans Herz zu legen. Dabei analysieren wir gemeinsam mit Ihnen den Ist-Zustand Ihres Legacy-Systems und beschliessen, welche der Funktionalitäten in das neue System migriert werden sollen. Diese Funktionen werden dann refaktorisiert und im Migrationssystem als Extension verbaut. Der Prozess ist aufwändig, aber er lohnt sich. Denn danach haben Sie ein zukunftssicheres System, das mit den raschen und häufigen Innovationen der Branche Schritt halten kann.

Weitere Informationen und Vorteile einer Migration finden Sie auf unserer Produktseite zu Joules BASE.

Haben Sie noch ein Legacy-System?

Sollten Sie eine Joules-Installation von vor 2017 in Ihrem Haus im Einsatz haben, so handelt es sich bei Ihrer Joules-Version um ein „Legacy-System“. Wie beschrieben sind Legacy-Systeme nicht in den normalen Produktentwicklungsprozess von Joules eingebunden. Die Code-Basis entspricht dabei im wesentlichen dem Code-Stand zum damaligen Zeitpunkt des Setups. Da Legacy-Systeme nicht aktualisiert werden können, empfehlen wir Kunden mit Altsystemen die Migration auf eine aktuelle Base-Version von Joules. Bei einer Migration wird ein neues Joules System aufgesetzt, in das die Daten aus dem Altsystem Schritt für Schritt umgezogen werden. Dabei werden alle im Altsystem im Lauf der Zeit verbauten Erweiterungen und Individualisierungen überprüft und gegebenenfalls für das neue System kompatibel gemacht. Ab dem Go Live des neuen System profitieren Sie dann auch von einer jederzeit aktuellen Code-Basis.

Geht es Ihnen da genauso? Oder sehen Sie das anders?

Hinterlassen Sie uns einen Kommentar

eins+null BLOG

Unsere vorherigen Blogbeiträge

Leichter navigieren in Joules

Ab dem nächsten Update wandert die Navigation in Joules von der Seite an den oberen Bildschirmrand. Damit können Sie leichter und von jedem Ort in Joules intuitiv navigieren.

#Digitaler Energievertrieb
Eveline Eckert
Oct 2021

Sommer, Sonne, Firmenfeier

Das letzte Jahr hat uns etwas aus der Übung gebracht, was das Feiern betrifft. Viele Tage im Homeoffice und halbleere Büros haben die Sehnsucht nach einer Feier umso größer werden lassen. So war das Sommerfest in diesem Jahr eine Feier der Gemeinschaft, endlich wieder als Gruppe zusammen zu sein.

#eins+null
#Featured
Anna Walberer
Sep 2021

Workflows managen in Joules

In Joules können Sie mit einer große Menge an statusbezogenen Abläufen. Damit das nicht unübersichtlich wird bietet Ihnen der Workflowmanager eine Übersicht über alle statusbasierten Events und die Vertragsstatus, die sie triggern.

#Digitaler Energievertrieb
Eveline Eckert
Aug 2021