Когда пора портировать старое приложение на новую платформу? - PullRequest
2 голосов
/ 25 января 2011

Я работаю в компании, у которой есть установленное приложение, написанное на VB6. Приложение стабильно и продолжает приносить компании хороший доход. Тем не менее, он начинает показывать свой возраст, и появляются шумы при портировании на более современную платформу, например .Net.

Поскольку это вряд ли когда-либо сложное решение, я был бы признателен, если бы пришло время переносить давнее приложение на современную платформу.

Некоторые плюсы и минусы, с которыми я уже поработал:

В пользу переноса

  • Поиск навыков для старого языка программирования становится сложнее и дороже
  • Поддержка от поставщика платформы заканчивается в какой-то момент
  • Использование современных методов программирования на старой платформе становится сложнее или невозможнее
  • Перезапись дает возможность улучшить существующие практики
  • Переход на современную платформу мотивирует команду разработчиков
  • Переход на современную платформу предоставляет маркетинговые возможности

против портирования

  • "Если он не сломан, не чинить его"
  • Стоимость переписывания и возврата
  • Риски, связанные с переходом от старого приложения к новому
  • Повышение квалификации существующих разработчиков программного обеспечения

Некоторые связанные вопросы StackOverflow:

Ответы [ 3 ]

5 голосов
/ 25 января 2011

Одной из вещей, которые следует учитывать, является то, что перенос приложения может со временем становиться все дороже и дороже.Я видел приложения, написанные на «древних» языках, которые были очень хорошо разработаны.Но, как это часто бывает, все знания предметной области были в коде и в головах разработчиков, а не в современных документах.

Таким образом, в подобных ситуациях портирование означает не только переписывание на новом блестящем языке, но и обратное проектирование спецификаций и выбор, как мы надеемся, доступных мозгов разработчиков.Это становится все сложнее и сложнее с течением времени.

Другое дело, что «портирование» вряд ли когда-либо так легко, как Волшебник Миграции хочет, чтобы мы верили.Многие мастера производят полуобожженное решение, которое все еще строится в соответствии с конструкциями и функциями, общими для «унаследованной» среды, и вряд ли будет использовать новые функции и возможности.Это может показаться не таким уж и плохим, но если вы оставите его на этом уровне, вы на самом деле очень усложняете для разработчиков, которые знают «новый» язык, понимание кода и усложняют перенос на следующую платформу или язык.Это то, что я называю LEGACY в столицах.Перетаскивание бесполезных вещей в течение десятилетий.

Оптимальный момент для начала портирования, с точки зрения разработчика, был вчера.

Оптимальный момент для начала портирования, сточка зрения менеджера - завтра.

Оптимальный момент для начала портирования, с точки зрения конкурента, никогда не бывает.

2 голосов
/ 25 января 2011

Существует множество других факторов, которые необходимо оценить: альтернативная стоимость (что еще мы можем делать), возможности для расширения и роста (что еще нужно приложению делать / быть), устойчивость с другими движущимися частями (обновления БД , Обновления ОС) и т. Д. Список можно продолжать и продолжать.

В отношении VB6 я бы оценил, какие существуют ограничения на пути продвижения продукта по сравнению с переходом на текущую платформу .Net. Спросите себя - действительно ли это сценарий ЕСЛИ или сценарий КОГДА?

С общей точки зрения, худшее время для портирования приложения - это когда вы ДОЛЖНЫ его портировать. Ваша ситуация звучит как идеальное время для начала миграции кода, прежде чем это станет необходимостью. Учитывая прибыльность вашего унаследованного продукта для вашей компании, любая ситуация, когда вы вынуждены переходить на миграцию, приводит к давлению в сжатые сроки, масштабам и т. Д.

Учитывая все обстоятельства, ваша ситуация звучит как идеальное время для подключения к .Net Framework задолго до того, как это станет необходимым.

1 голос
/ 25 января 2011

Повторяю Jro и особенно Erno,

  • Обновление до кризиса.
  • Обновите, прежде чем разработчики перейдут в другие места, где у них есть шанс поработать над современной средой.
  • Обновите, пока разработчики, создавшие оригинальную программу, все еще рядом.

Ни один компетентный разработчик не примет чистую работу по переносу, это не шаг к повышению карьеры.Но существующие разработчики будут рады изучить новейшую инфраструктуру в рамках процесса переноса.

VB6 был выпущен в 1998 году. 31 марта 2008 г. Microsoft EOL поддержала всю поддержку VB6. ВашКомпания так далеко в опасной зоне с этим кодом, это не смешно.

Чтобы добавить некоторые перспективы,

В какой-то момент компания будет вынуждена обновить приложение, потому что операционная система больше не будет поддерживать API-интерфейс.

Вы должны покинуть эту компанию.Это карьерная смерть, чтобы остаться.

Обновление, потому что Коди думает: «Я - индивидуальный разработчик»:

@ Коди - Переосмыслите свои предположения.Я управляю своей собственной компанией.Безусловно, каждый раз, когда мы отставали от последней стабильной версии платформы, наверстывать упущенное было невероятно больно и дорого.Последняя болевая точка в том, что мы находимся на додзё 0.4.3 и гобелене 4. Т4 и додзё 0.4.3 имеют эту взаимозависимость, которую мы разделяем (медленно).Переход на Tapestry5 и / или jquery или даже просто на более свежую версию додзё очень медленный и очень болезненный.Портирование заняло более года, потому что это должен быть этот длительный процесс, чтобы другие разработки развивались.

Возможны следующие варианты:

  1. остаться в старой библиотеке навсегда (с проблемами, связанными с поиском / привлечением талантов),
  2. попытайтесь запустить двухрежимный (старый / новый) код (код не всегда взаимодействует,
  3. или заморозить разработку на больших кускахпродукт во время порта

До сих пор мы делали комбинацию из # 2 и # 3.

Использование старой версии додзё или гобелена означает, что мы потеряли способностьсообщества, чтобы поддержать нас и помочь нам с проблемами. Преимущество фреймворка в том, что другие люди делают работу, которая решает ваши проблемы. Никто больше не решает никаких проблем с VB6. Microsoft будетдаже не беру денег, чтобы решить проблемы с VB6.

Компания ОП полностью самостоятельно. Примечание: Google был только что основан в год выпуска VB6.я подозреваю, что знания VB6 исчезают из Интернета и что каждый год поиск в Google по поводу любой проблемы программирования, которую производит компания OP, будет давать все меньше и меньше результатов.

Это риск жизнеспособности бизнеса.

Счастливый разговор о MS, поддерживающем VB6 навсегда, и не очень хорошая идея.Все, что нужно, - это какой-то SVP из Microsoft, который сказал: «Мы можем вовремя выпустить следующую версию Windows, чтобы сделать Рождество, если командам не придется исправлять эти проблемы, которые затрагивают только VB6. Мы выпустим пакет обновлений позже».В какой-то момент это может и произойдет.

Конкурент может прийти и представить конкурирующий продукт, использующий новейшие инструменты быстрее (потому что большой пул библиотек доступен при использовании новейших фреймворков.) Компания ОП утратила способность быть проворной, потому что новейшие инструментыи библиотеки больше не поддерживают VB6.(13-летний фреймворк !!)

Это еще один риск жизнеспособности бизнеса.

Тот факт, что это нужно объяснить кому-либо, является огромным, огромным предупреждением для любого разработчика, имеющего опыт проведения собеседований в компании ОП.

Это снижает качество и количество кадровых ресурсов.

Неспособность привлечь качественные таланты - это еще один бизнес-риск.

Первоначальный ОП должен выручить.

Это не просто Microsoft, и Windows будет поддерживать приложение.А как насчет принтеров?или отображает?Epson не обязан выпускать драйверы принтеров, которые поддерживают приложение VB6.

  • Что происходит, когда функция печати перестает работать для клиентов на их последнем крутом принтере с поддержкой 4G?
  • Что происходит, когда клиенты пытаются использовать приложение на стандартном дисплее 2000x4000и шрифты выглядят глупо?
  • Что происходит, когда Adobe начинает предлагать Adobe Reader сообщить, что нужно обновить версию PDF-файла?

Видеть всплывающее диалоговое окно с предупреждением, не имея возможностираспечатка, использование новейшего дисплея и т. д. приведет к тому, что клиенты будут спокойно переходить к конкурентам.Они даже не будут сообщать компании ОП, что они делают это.

ОП должен продолжаться до наступления увольнений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...