Wir haben eine Skriptsprache, die wir intern für viele Dinge verwenden. Es begann als einfache Bewertungsaussage für dynamische Labels, um eine vollständige Turing-Sprache zu werden, die in unserem System allgegenwärtig ist.
Das Problem ist, dass es nie dafür entworfen wurde und es zeigt. Die Entwicklungsumgebung ist anämisch, die erstellten Skripte sind nicht testbar und bis heute gibt es keine formale Definition der Sprache.
Eine wachsende Stimmung unter den Benutzern der Sprache hat das Gefühl, dass sie ihre Arbeit erledigt hat und es Zeit ist, loszulassen, aber wir stehen vor der schwierigen Herausforderung, die vorhandene Codebasis auf eine neue Lösung zu migrieren. Dieses Argument wird gegen die Idee der Migration verwendet.
Haben Sie jemals eine ähnliche Situation erlebt? und wenn ja, welche Strategien haben Sie angewendet, um die Nutzung des Alten zu stoppen und das Neue zu fördern?
Eine letzte Sache (danke Morons ) ist, dass viele dieser Skripte nicht dokumentiert sind und ihr ursprünglicher Zweck verloren geht, obwohl sie noch aktiv verwendet werden. Die Skripte werden auch bei Kunden vor Ort verwendet, um das System anzupassen, sodass wir buchstäblich Tausende dieser Skripte haben, von denen ein großer Teil weder der Quellcodeverwaltung noch einem Versionsmechanismus unterliegt.
Akzeptierte Antwort.
Dies ist eine schwierige Wahl. Alle Antworten waren gute und fundierte Ratschläge, obwohl ich denke, dass das Beste eine Mischung aus Moron und Oliver ist.
Am Ende habe ich Olivers akzeptiert, weil es die Antwort ist, die die beste Chance hat, höher akzeptiert zu werden (ha! Politik!). Das Packen der alten Skriptumgebung in eine aufrufbare Anweisung, die in die neue Umgebung integriert werden kann, bietet einen schnellen und einfachen Upgrade-Pfad.
Sobald dies erledigt ist, können wir die bessere Erstellung neuer Skripte steuern, indem wir Warnungen anzeigen oder verhindern, dass alle alten Skripte bearbeitet oder erstellt werden, um die neue Sprache zu verwenden.
Vielen Dank für Ihre Eingabe!