Каждый проект нуждается в анализе затрат и выгод. Если единовременное вложение в размере 60 000 долларов США решит все проблемы в течение следующих 10 лет, то это (вероятно) гораздо более экономично, чем наем команды разработчиков на один год для создания более новой и лучшей системы.
С другой стороны, если затраты на техническое обслуживание уже составляют 50 000 долларов в год, и эти капитальные затраты просто направлены на поддержание работы системы, а через несколько лет вам потребуется потратить еще 60 000 долларов, тогда это требует серьезное рассмотрение в отношении изменения дизайна.
Или вы можете пойти по середине и начать оборачивать его чем-то непрозрачным, например, веб-службой, а затем постепенно заменять компоненты более качественными (более эффективными, более удобными в обслуживании и т. Д.) Внутренними компонентами. Многие компании идут по этому пути, потому что это откладывает первоначальные затраты на переписывание; при необходимости вы можете отложить ИТ-ресурсы в другом месте.
Хотя С.Лотт прав: вполне вероятно, что вы не сможете конкурировать в одиночку. Вы должны попытаться количественно оценить риски, связанные с этими древними системами - например, сколько будет стоить компании найти и обучить квалифицированных разработчиков FoxPro, если первоначальные программисты решат уйти (или, используя язык многих менеджеров, которых я встретил, "переехал на автобусе") ...
Просто чтобы добавить к этому дополнительную перспективу: до .NET (и в течение нескольких лет после) я проводил большинство своих проектов исключительно в Delphi. В то время это действительно был отличный выбор для развития предприятия. Я был на самом деле человеком, который не хотел «обновляться». Однако через некоторое время и мне, и моим руководителям стало очевидно, что это напугало людей за пределами компании.
Инвесторы, аудиторы, все остальные - им не нравилась идея, что наш основной ИТ-актив сделан на каком-то "неясном" языке. Конечно, Delphi не был / не очень неясен; здесь в SO есть тэг "delphi" со счетом 3340. Но давайте использовать SO в качестве нашего примера - вот текущие значения:
c#
- 57293
.net
- 30577
asp.net
- 26600
java
- 31023
vb.net
- 5996
delphi
- 3340
foxpro
- 69
vfp
- 27
Позвольте этим числам погрузиться на некоторое время. Delphi, мой инструмент выбора в то время, теперь имеет менее 10% представлений о C #, и это заставило нетехнических специалистов нервничать. Foxpro / VFP даже не на 1%. Я даже не помню, сколько раз мне приходилось отвечать на такие вопросы, как:
- Что произойдет, если ведущий разработчик (я) выйдет или столкнется с автобусом?
- Насколько сложно / дорого будет нанимать программистов в этой области?
- Что если продавец перестанет его поддерживать? (Это почти случилось)
- Что если мы хотим получить помощь извне? Консультанты? Аудит безопасности?
- Насколько легко будет заставить его работать с внешними продуктами?
Бла-бла-бла, беспокойство, беспокойство, беспокойство, это было то, что я чувствовал в то время, и это был продукт, который на самом деле не был таким неясным. В вашем случае мы говорим о FoxPro здесь. FoxPro стал почти как COBOL; Конечно, он все еще здесь, есть люди, которые знают это, но кто сегодня запускает новый проект в FoxPro? Это скучно, это прямо гетто . VB6 начинает становиться гетто, и VB / Access фактически заменил FoxPro много лет назад.
Я явно немного мелодраматичен, но на вашем месте я бы взял этот угол. Забудьте о краткосрочной экономике, забудьте о возрасте и сосредоточьтесь на незаметности продукта. Сколько подлинных, квалифицированных ответов, по их мнению, они получат, если разместят объявление о покупке для разработчика FoxPro? Какую плату они должны предложить за такую должность? Каким будет товарооборот? Все это может показаться далеким, если эти два разработчика были там более 20 с лишним лет, но когда вы управляете многомиллионным бизнесом, вы должны знать, что никогда не стоит делать ставку на выживание или два сотрудника - нет, если вы можете помочь ему .