Der Kunde
Ein im Silicon Valley ansässiges Business-Analytics-Unternehmen beauftragte Elinext mit der Entwicklung einer Software zur Bewertung finanzieller Risiken.
Herausforderungen
Diese Geschichte begann im Jahr 2011, als sich ein Analyseunternehmen mit Sitz in San Jose an Elinext wandte. Die Firmenkunden dieses Unternehmens, die in mehreren Märkten tätig sind, haben ihre Produkte in verschiedenen Währungen verkauft, was die Planung und Kalkulation von Risiken zu einer dynamischen Herausforderung machte.
Das Unternehmen half seinen Kunden bei der Lösung dieser Herausforderung durch eine Webanwendung, die mit Visual Basic erstellt wurde (weiter App 1 genannt). Die Benutzer würden sich für die Plattform anmelden und die Analysten des Unternehmens würden verschiedene währungsbezogene Berechnungen für sie durchführen.
Die ganze Arbeit manuell zu erledigen war nicht effizient, und das Tech-Stack-Update war schon lange überfällig und die Applikation muss neu erstellt werden. Und da sie nur genügend interne Programmierer für die Fehlerbeseitigung hatten, suchten sie nach weiterer Hilfe.
Schließlich stieß das Unternehmen über eine Online-Anzeige auf Elinext. Zufrieden mit unserem Know-How und unseren Preisen, beauftragte man uns mit der Aufgabe – und eine Reise von mehr als einem Jahrzehnt begann.
Der Entwicklungsprozess
Wir stellen ein engagiertes Team aus Entwicklern und Testern zusammen, das von einem leitenden Entwickler geleitet wird. Unterwegs führte der Kunde einige Tests durch, verwaltete Server und war aktiv an der Release-Planung beteiligt. Jede Version umfasste 10–20 Aufgaben, die wir im ersten Monat durchgeführt und über Jira nachverfolgt haben.
Im Jahr 2014, nachdem wir den größten Teil von App 1 neu erstellt hatten, forderte der Kunde das Erstellen eines zusätzlichen Moduls des Systems an. Und das war eine Anwendung zur Berechnung der tatsächlichen Kosten von Krediten und Vermögenswerten im Laufe der Zeit, wobei auf Kredittilgung, Instandhaltung und Zinssatzdynamik zurückgegriffen wurde.
Neuerstellung der App 1
Anfangs war es eine kommunikative Herausforderung. Der Kunde hatte keine technisch versierten Business-Analysten, um die anstehende Aufgabe zu beschreiben. Wir haben die umfangreiche Projektdokumentation studiert und in etwas mehr als einem Jahr die Anwendung mit dem Google Web Toolkit (GWT) neu geschrieben. Nach drei weiteren Testmonaten ging die Anwendung live.
Aber die Entwicklung war noch nicht zu Ende. Später setzten wir die Zusammenarbeit fort, indem wir die Anwendung unterstützten und neue Funktionen entwickelten.
Erstellen der App 2 von Grund aufAls wir App 2 in Angriff genommen haben, sprachen wir mit dem Kunden bereits dieselbe Sprache. Insgesamt spiegelte der Prozess den des Erstellens von App 1 wider und verlief gut, bis wir auf ein Problem mit der Computerplattform MATLAB stießen.
Wir haben App 2 in MATLAB integriert, um komplexe Kostenberechnungen über mehrere Parameter hinweg zu ermöglichen. Aber es würde nicht mehrere Threads gleichzeitig verarbeiten. Wenn also ein Benutzer-Client einen Berechnungsprozess gestartet hätte, könnten andere dies nicht tun. Unser Team löste das Problem, indem es ein separates Ausführungsmodul erstellte und es so konfigurierte, dass es bei Bedarf einen Pool von Java-Prozessen aufruft. Qualitätssicherung Wir haben fast 100% Testabdeckung des Systems erreicht. Dazu nutzte unser Team etwa 500 automatisierte Tests, die nachts auf dem TeamCity-Server ausgeführt wurden, und etwa 650 Unit-Tests.Produkt
Das Produkt besteht aus zwei Applikationen: App 1 (zur Kalkulation von mit mehreren Währungen verbundenen Risiken) und App 2 (zur Bestimmung der tatsächlichen Kosten von Krediten und Vermögenswerten).
Die beiden Applikationen haben gemeinsame Funktionen: Sie übernehmen Daten aus einer anderen Anwendung, App 3 (früher Teil von App 2). App 3 verbindet sich mit einem Anbieter von Marktdaten wie Kreditzinsen oder Wechselkursen und überträgt sie von dort an die Apps 1 und 2. Und diese Daten werden von den beiden Apps weiter für Berechnungen und Prognosen verwendet.
Werfen wir einen Blick auf die wichtigsten Module der Software.App 1: Unternehmens- und Entitätseinstellungen
Der Bildschirm „Firmeneinrichtung“ ermöglicht es Systemoperatoren, Benutzerfirmen einzubinden und diese Details hinzuzufügen:- Allgemeine Geschäftsinformationen
- Zugelassene finanzielle Gegenparteien
- Abrechnungszeiträume
- Aktive Währungen
- Regionen
- Logik für die automatische Exposition
Wenn ein Unternehmen Untergliederungen hat, die berücksichtigt werden müssen, kann unser Kunde durch die groben Züge der konzipierten Anwendungslogik, die hauptsächlich Finanziersprache spricht, dies tun. Das Entitäts-Setup umfasst die Hauptbuchkonten der Unterabteilung und Devisenhandelskonventionen.
App 1: Hedge-Accounting DashboardDas Hedge-Accounting-Dashboard zeigt Diagramme zur Verfolgung von Derivatelaufzeitplänen, Währungsengagements nach Unternehmen, Trends und Kurshistorien.
App 1: Hedge Item und Trade Management Im Trade Management Panel kann ein Operator Handelsoperationen für jeden Kunden registrieren und dabei verschiedene Parameter angeben. Eine Operation kann mit Zahlen abgeschlossen werden, die aus dem aktuellen Wechselkurs berechnet werden.
App 1: Sicherheit: Rollen und Berechtigungen Um Benutzer zu verwalten, Rollen und Berechtigungen zuzuweisen, Rollen zu verwalten und Benutzeraktivitäten übergreifend zu überwachen, können Systembetreiber das Sicherheitsmodul verwenden.App 1: Zeitraum abschließen
Wenn ein Geschäftszeitraum zu Ende geht, kann sie im Modul Periodenabschluss abgeschlossen werden. In diesem Modul werden für jede Geschäftseinheit verschiedene Market-to-Market (MTM)-Parameter (z. B. Marktwert in aktiver Währung) berechnet. Bediener können die Einstellungen von MTM-Berechnungen konfigurieren.
App 1: BerichterstattungDieses Modul bietet zwei Arten von Berichten: regelmäßige Berichte und RTZ-Berichte. Regelmäßige Berichte werden weiter in 50 weitere Untertypen wie Handelsinventar, Buchhaltung und Sicherungsgeschäfte unterteilt.
Darüber hinaus haben wir mit der Jasper Reports-Engine einen benutzerdefinierten Report Writer erstellt. App 1: RTZ- Speichertresor Damit Systembenutzer ihre Berichte und andere zugehörige Dokumente online und griffbereit aufbewahren können, haben wir den RTZ-Speichertresor entwickelt. App 2: EinrichtungDas Einrichtungsmodul von App 2 ähnelt dem App 1. Betreiber können es auch verwenden, um Kundendatensätze zu konfigurieren, Benutzer und Rollen zu verwalten, Unternehmensinformationen einzugeben, Einheiten hinzuzufügen und Handelsstrategien zu konfigurieren.
App 2: Bewertungen und Handelsmanagement Bewertungen sind das Hauptberechnungsmodul in App 2. Mit ihm können Betreiber, die von App 3 empfangenen Tarife überwachen und andere zugehörige Daten verwalten.Die im Handelsmanagement verfügbaren Handelsoperationen verfügen über Dutzende von Einstellungen und Parametern wie Zahlungsstrecken, Empfangsstrecken und vieles mehr.
Während App 1 statische Prognosen für einen bestimmten Zeitpunkt liefert, kann dieses Modul verwendet werden, um die erwartete Kostenvolatilität auf zwei Arten darzustellen: Kurven und Matrizen. Genau wie Kurven zeigen Matrizen Kostenänderungen gegenüber Leitzinsen und Streik – aber es gibt noch eine dritte Dimension, nämlich den Begriff. Die Visualisierung basiert auf Daten aus App 3, darunter Mark-to-Market-Wert, aufgelaufene Zinsen, pv01, Breakeven-Rate, aktiver Reset und vieles mehr.App 2: Zeitraum abschließen
Dieses Modul ähnelt dem in App 1 vorgestellten Periodenabschlussmodul. Es kann verwendet werden, um Zeiträume abzuschließen und Berichte zu erstellen.
App 2: BerichterstattungDas Berichtsmodul in App 2 ist einfacher als das in App 1. Es enthält vier Arten von Berichten, wie z. B. MTM-Detail (einfach), MTM-Verlauf (vergangene Daten), ME-Zusammenfassung, Benutzerdefiniert (ein benutzerdefinierter Berichtersteller für die Verwendung beliebiger Tabellenkalkulationen und eventuelle Berechnungen). Benutzer können benutzerdefinierte Berichte erstellen, indem sie xls-Tags in Dokumenten platzieren.
Bediener können den Start von Berichten im Voraus planen. Die Benutzer können den automatischen Erhalt bestimmter Berichte abonnieren.Ergebnisse
Im Laufe von elf Jahren hat der Kunde unsere Hilfe intensiv in Anspruch genommen. Und die Zahl der großen Unternehmen, die das System nutzen, wuchs im Laufe der Entwicklung um Dutzende.
Im Jahr 2022 ging der CEO des Unternehmens in den Ruhestand und verkaufte das Produkt an ein größeres transnationales Unternehmen. Sie änderten das gesamte Konzept der Software, und unsere Beteiligung sowie die der meisten ursprünglichen Mitarbeiter gingen zu Ende.Dieses Projekt war von Anfang bis Ende lehrreich. Wir haben unsere Fähigkeiten zur Ermöglichung umfangreicher Berechnungen verbessert und gelernt, mit komplexen Finanzparametern zu arbeiten, sie aus externen Quellen zu beziehen und zu verarbeiten.