Любая программа, какой бы хорошей она ни была, со временем начнёт требовать доработок. И обязательно наступит день, когда станет понятно: доработка должна быть или очень серьёзной, или надо делать новую программу.
Если вам доводилось работать над каким-то более-менее крупным проектом, то вам знаком этот вопрос: что лучше, проще и дешевле - доработать существующую программу, или создать новую с нуля?
Но ответить на него совсем непросто. Потому что здесь всё очень индивидуально. Рассмотрим пару случаев:
- Нет исходных кодов. Самый простой случай. Потому что тут особого выбора нет - придётся создавать новую программу с нуля.
- Исходные коды есть, но нет документации (или она очень скудная и устаревшая). Фрилансеры часто с этим сталкиваются.
С первым случаем всё понятно. А вот со вторым можно поразбираться, поскольку здесь есть немало вариантов. В этом случае надо смотреть на сложность и функционал программы, а также на требования заказчика.
Если программа достаточно сложная и более-менее соответствует требованиям заказчика, то лучше не создавать новую, а доработать старую.
Известны эксперименты, когда одновременно с доработкой старой программы началась разработка новой, с целью догнать по возможностям старую программу и посмотреть, сколько это будет стоить и сколько времени займёт. И результат, несмотря на новые подходы к программированию, был печальным - новая версия так и не смогла догнать старую. И это объяснимо, поскольку старая не стояла на месте, а развивалась.
Однако бывает и так, что разработка с нуля всё равно предпочтительнее доработки существующей. Причины могут быть следующие:
- Старая версия настолько устарела, что поддерживать её уже нет смысла.
- Старая версия была создана в среде разработки (на языке программирования), которая уже не поддерживается (не популярна), и найти программистов, специализирующихся на ней, становится всё труднее.
- Среда разработки (язык программирования), использованная для создания старой программы, не поддерживает какие-то новые технологии, необходимые в новой версии (либо реализация их очень сложна).
- Нужна программа для другой операционной системы (или для веб), и/или для работы на другом “железе”.
- Требуется кратно увеличить какие-то характеристики (например, быстродействие или безопасность).
Например, вряд ли стоит дорабатывать программы, написанные на Турбо Паскаль или Бэйсик, даже если они работают и отвечают требованиям заказчика. Здесь лучше задуматься о разработке новой, или, ещё лучше, постараться найти готовое решение.
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.