Вопрос, который вы должны задать себе: откуда продавец знает, что эта функция будет стоить х дней разработчиков? Учитывая, что даже хорошие менеджеры проектов с многолетним профессиональным опытом не всегда могут сказать, что такие данные, поступающие от продавца, кажутся крайне ... умозрительными .
Согласно моему опыту, продавцы обычно не делают оценок, а догадываются о том, сколько это слишком много для руководства или клиента: если руководство готово заплатить 50 человеко-недель работы, но абсолютно отвергнет 75 человеко-недель, давайте скажем что эта функция займет 70 человеко-недель, а готовность к пересмотру (что не может быть реальным для реальной оценки) - до 55 человеко-недель.
С одной стороны, у вас есть оценки, сделанные ИТ-экспертами, которые говорят что-то вроде:
Согласно этому конкретному аудиту, мы тратим 8 000 долларов в день, используя устаревшую технологию, по сравнению с аналогичными проектами аналогичного размера, в которых используются более новые технологии. Также представляется, что для переноса всей кодовой базы потребуется от 50 до 80 человеко-недель; в течение этого времени не будет выпущено никаких новых функций. Существует также 10% риск того, что миграция определенного компонента может привести к 20-30 дополнительным трудоемким периодам работы.
С другой стороны, у вас есть предположения продавцов, основанные на их рычаге при ведении переговоров с человеком, которого они должны убедить.
Все зависит от того, насколько вы влиятельны в своей компании. Коммуникация является ключевым моментом здесь, и именно здесь продавцы обычно побеждают ИТ-специалистов, когда дело доходит до объяснения преимуществ этой функции для руководства (или клиента).
Обратите внимание, что если в прошлом ваши оценки были достаточно точными, вы приобретаете репутацию и влияние. Если ваши оценки всегда были неправильными, руководство, вероятно, проигнорирует ваши предложения.
Что касается оценок, то сделать их здесь очень сложно, так как необходимо учитывать огромное количество параметров. Среди других:
Вы действительно знаете, насколько умела ваша команда в C # по сравнению с VB6? Это основано на реальных измерениях или только догадках?
Разработала ли эта команда большие проекты на C #? Знают ли они инструменты, которые должны использовать (IDE, отладчики, профилировщики и т. Д.)? Вам нужны дополнительные лицензии (что в мире Microsoft означает тысячи долларов за машину)?
Является ли текущий проект полностью понятным, и вы можете гарантировать, что при миграции не будет сюрпризов? Это просто переписать все , каждую функцию, или будут сюрпризы?
У вас есть инфраструктура, которая поддерживает C #? Как насчет непрерывной интеграции? А как насчет вашего сервера сборки? Руководства по стилю? Статические шашки?
В рабочем состоянии, могут ли серверы (если это веб-приложение) или компьютеры клиентов (если это приложение для настольных компьютеров) запускать версию .NET Framework, которую вы ожидаете использовать?
Но самое главное - знать, почему ты хочешь все переписать. Какую проблему вы пытаетесь решить с помощью переписывания? Потеря производительности? Как вы это измеряете? Как вы показываете эту потерю производительности руководству?
Как только вы докажете, что вы тратите, скажем, 8 000 долларов в день из-за VB6 (что означает, что вы будете экономить 8 000 долларов в день после перехода на C #), как вы объясните преимущества проведения каждой новой разработки функций и сосредоточиться на полной переписать? В чем выгода по сравнению с прогрессивной перезаписью, когда вы переносите свои компоненты небольшими порциями один за другим, предлагая новые функции?