{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

Дописать нельзя переписывать

Меня зовут Валерий Комягин, я основатель SVK.Digital. Мы занимаемся разработкой IT-продуктов.

Звонит ооооочень старый друг, которого давно не слышал. Мы закончили проект для него в 2013 году. Сложный личный кабинет для большой российской компании. Интеграции, нагрузки … все, как мы любим. Спрашивает — не осталось ли у нас программистов, которые делали этот проект.

Оказывается, все это время ребята пользуются нашим продуктом и он, блин, работает!

Вы только представьте! Мы его не обслуживаем, не трогали с 2013 года и … its alive! Щенячий восторг! Я работаю с богами программирования!

Пришлось долго объяснять ему, что несмотря на то, что мы — офигенные молодцы, продукт гораздо проще переписать с нуля, чем пытаться дописать серьезные функции.

Это, кстати, частый вопрос, который бизнес всегда воспринимает “в штыки”. От слова “рефакторинг” предпринимателя бросает в дрожь. А когда речь заходит о полной модернизации … Что?! Заново платить за то, за что я уже заплатил?! Что за бред?!

Да. Платить. И вот почему:

👨‍💻 10 лет назад язык программирования (в нашем случае) был версии 5.5, а сейчас — 8.2. Язык ОЧЕНЬ существенно поменялся. Найти специалистов, хорошо владеющих сильно устаревшей версией языка так же трудно, как, скажем, найти опытную прядильщицу, владеющую ручным веретеном.

👨‍💻 Даже если найдем — стоить такой специалист будет баснословных денег. Если, конечно он не дурак.

👨‍💻 Даже если убедим кого-то из молодых освоить старый язык — работать они будут без удовольствия. Ну, представьте — это все равно, что заставить буравить стены без современного перфоратора. Адская работа. Проект станет одним из самых нелюбимых. И рассчитывать на то, что они будут работать с полной самоотдачей будет трудно.

👨‍💻 Старые языки уступают не только в производительности и возможностях, но часто и попросту не могут реализовать механик, доступных современным языкам.

👨‍💻 Очень часто старые продукты плохо документированы и написаны очень путанно. В силу того, что писали их несколько поколений программистов, код в результате похож на “письмо из Простоквашино”. Работа с таким кодом похожа на разминирование бомбы — когда не уверен до конца, что именно произойдет, если изменить строчку кода.

👨‍💻 Вопросы безопасности. В старых языках старые “дыры”, которые могут использовать злоумышленники. Бизнес в опасности.

Выводы?

Выделяйте своим разработчикам время на “рефакторинг” даже на относительно свежем проекте — такое “техобслуживание” по чуть-чуть (до 20-25% от времени разработки) способно сохранить высокие темпы TTM (Time to market) и продлить сроки жизни проекта.

Закладывайте в финмодель бизнеса, что примерно через 5-7 лет проект часто придется переписать полностью. С нуля. И да — вложив бОльший бюджет, чем в первый раз. Потому, что за 7 лет продукт обрастает новыми функциями.

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

0
2 комментария
Igor Mashkov

Обложка из серии: кто-то в теремочке живёт?

Ответить
Развернуть ветку
Журова Марина

И ведь кто-то действительно построил

Ответить
Развернуть ветку
-1 комментариев
Раскрывать всегда