Hallo zusammen,
und erst einmal jedem einzelnen hier vielen Dank für seine Ausführungen. Ich würde gern noch einmal etwas mehr Input geben, was vielleicht die Situation noch etwas besser darlegt und dann auch noch mal erwähnen, dass noch nichts festgelegt ist oder ich genau weil es ein schwieriges und aufwendiges Thema ist, mich hier erkundige.
Was wollen die Kunden?
- Web-Anwendung, weil sie international viel unterwegs sind und von dort arbeiten müssen; hier ist es teilweise schon schwer, in Asien in manchen Ländern einen Laptop einzuführen
- bessere Entwicklungsgeschwindigkeit
- UI-Skalierungsmöglichkeiten (in Windows sind diese sehr beschränkt, Alphaskins hat hier jedoch für uns schon etwas gebaut, funktioniert jedoch nur 80%)
Der Punkt Web-Anwendung ist also essentiell.
Was haben wir als Produkt?
- Windows Desktop Anwendung
- Client-/Server
- Business Tier Layer mit Code Generator
-
DB Layer
- PostgreSQL
- es werden diverse Komponenten verwendet, von DevExpress über DevArt, FastReports, Alphaskins, etc...
- es gibt kein Data Binding, wir füllen Daten per Code in die UI
Was wollen wir?
- bessere Produktivität und statt Programmierung mehr Fokus auf den Inhalt im Bereich UI legen können (wir haben hohe Hürden, UIs zu bauen, z.B. das Füllen von Daten muss programmiert werden/kein Data Binding, ebenso UI-State-Handling, etc)
- Redesign der Oberflächen (cirka 1200 Forms und Frames, ist eher eine Anforderung kundenseitig, hier spielt auch das Thema Skalierung mit rein)
- Dependency Injection und bessere Testmöglichkeiten, was teilweise ein Code-Redesign erfordern würde, weil Methoden teils zu komplex sind
Die Web-Anwendung ist von uns aus keine Anforderung, da sie es jedoch von den Kunden her ist, ist es unumstößlich diese Möglichkeit zu verweigern. Die Desktop-Anwendung ist von keinem Kunden mehr gewünscht. Der Aufwand einer Neuentwicklung ist recht hoch, da wir aber die Software inhaltlich zu 80% so übernehmen können, wie sie jetzt ist, ist im Prinzip die Konzeptphase viel geringer, man weiß genau, wo man hin möchte. Um diesen Aufwand technisch zu verringern, sah ich als Ansatz Low-Code. Hier ist die enge Bindung an den Hersteller jedoch sehr negativ zu bewerten. Also was nun?
Mein Ansatz wäre nun aufgrund der Komplexität der Anforderungen ein Neuanfang. Grundsätzlich bin ich auch gegen sowas, allerdings wenn man - wie Bernhard glaube ich meinte - feststellt, dass sich die Welt draußen vollständig geändert hat, muss man sich die Frage stellen, ob ich den Golf nun in ein Amphibienfahrzeug für eine andere Umgebung umbaue, gleichzeitig noch meine eigenen umfangreichen Baustellen irgendwie abschaffe oder einen Cut mache. Der Support der Bestandsanwendung ist nicht sehr hoch, da wir alle Module soweit entwickelt haben, dass wir immer nur Fehlerkorrekturen machen müssten. Ich freue mich auf Eure Meinungen.