Kunde
Elinext ist ein Unternehmen für kundenspezifische Softwareentwicklung, und dieses Projekt ist eines unserer internen. Wie viele andere Lösungen, die wir für unser Ökosystem entwickeln, zielt auch diese darauf ab, den Arbeitsalltag unserer Mitarbeiter zu vereinfachen.
Der Kern der Software kann und wird vermutlich genutzt, um die Entwicklung eines verwandten kundenspezifischen Produkts für unsere Kunden zu beschleunigen.
Neue Kunden bei Elinext sparen erhebliche Ressourcen, indem sie sich für eine angepasste Version eines bereits bestehenden Produkts entscheiden.
Projektbeschreibung
Die Datenvisualisierung Software von Elinext ist ein praktisches Werkzeug, um die erforderlichen Daten aus verschiedenen externen Quellen zu erfassen und zu manipulieren.
Webanwendungen zur Sammlung und Manipulation von Daten aus Drittanbietersystemen konzentrieren sich darauf, die Daten in den gewünschten Formaten zu präsentieren. Hier sind die umgesetzten Funktionen:
- Erstellung von Tabellen, die Daten an einem Ort sammeln
- Verwaltung der Anzeige und Reihenfolge der bestehenden Felder
- Konfiguration erweiterter Filter- und Sortierparameter
- Anwendung von Aggregationen innerhalb der gefilterten Daten
- Erstellung von Gantt-Diagrammen zur besseren Datenvisualisierung
- Erstellung und Verwaltung von Dashboards für eine einfache Datenwahrnehmung
- Unterschiedliche Datenanzeige (aktuell Tabellen, in zukünftigen Versionen Kreis- oder Balkendiagramme)
- Erstellung neuer Datenquellen für den Empfang neuer Felder
- Zuweisung lesbarer Namen zu den empfangenen Feldern
- Bearbeitung von Problem-Tickets und deren Lebenszyklus
Durch die Umsetzung des Projekts konnten wir eine einzige Quelle für gesammelte Daten schaffen, die schnelle Berichte ermöglicht.
Herausforderungen
Der Grund für den Projektstart war die Notwendigkeit, das Ressourcenmanagement zu erleichtern und eine Quelle für gesammelte Daten für schnelle Berichte zu schaffen, die Zeit bei der Informationssuche an verschiedenen Orten spart.
Die größte Herausforderung bestand darin, einen kontinuierlichen Implementierungsprozess trotz der Rotation des Teams aufrechtzuerhalten, was bei internen Projekten häufig vorkommt, da „kommerzielle“ Projekte oft Priorität genießen.
Die Sicherstellung des Wissensaustauschs während der Teamrotation wurde durch folgende Maßnahmen erreicht:
- Confluence-Seite mit wichtigen technischen Informationen für neue Entwickler
- Kommentare zur Erklärung von Lösungen für komplexe technische Aufgaben
- Verknüpfte Tickets für eine einfachere Problemuntersuchung
- Entwickler-zu-Entwickler-Wissensaustausch bei Personalwechsel
- Peer-Code-Review (wenn möglich)
- Komplexität des Cross-System-Zugriffsmanagements;
Komplexität des bereichsübergreifenden Zugriffsmanagements:
- Integrationsprobleme aufgrund unterschiedlicher Zugriffsschemata in verschiedenen Systemen.
- Zusätzliche Schwierigkeiten entstehen durch komplexe Felder und bereichsübergreifende Applets.
Implementierung von Aggregationsfunktionen in einer nicht-relationalen Datenbank:
- Schwierigkeiten bei der Implementierung von Aggregationsfunktionen in MongoDB (nicht-relationale Datenbank).
- Die Herausforderungen wurden durch umfassende Forschung und Entwicklung überwunden.
Refactoring und Neuschreiben aufgrund sich ändernder Anforderungen:
- Die anfänglichen einfachen Komponentendesigns waren für die Erweiterung der Funktionalität nicht ausreichend.
- Es war notwendig, Komponenten neu zu strukturieren und umzuschreiben, um komplexe Felder (einschließlich verschachtelter Objekte) und erweiterte Filterkonfigurationen zu handhaben.