Перейти к основному содержимому

Сложно ли переписать legacy проект?

·238 слов·2 минут
Оригинал опубликован в Telegram

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

Мало кому из разработчиков хочется поддерживать какой-то уже написанный проект, большинству нравится создавать и изобретать что-то новое. Но давайте опустим вопрос предпочтений и сосредоточимся на вопросе “как сложно будет поддерживать и развивать свалившийся legacy проект?”

Конечно, по-хорошему, нужно оценить архитектуру, качество кода, интеграции с внешними системами, тесты, документацию, производительность и т.д. и т.п.

Но это долгий процесс. А что если нужно дать SWAG-оценку, насколько проект будет дорого поддерживать и можно ли его полностью переписать?

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

Нужно подсчитать примерное количество человекомесяцев, затраченных на проект, а затем сравнить с размером своей команды.

Если куда-то комитило 3 человека в течение года, то для команды из 10 человек чаще всего этот проект совсем не страшен, и его при желании можно полностью переписать и избавиться от legacy кода.

Но если в проект комитили десятки человек в течение нескольких лет (или того хуже — десятков лет), то это уже очень масштабный проект, и даже командой из 100 человек его быстро не перепишешь. Придется приспосабливаться к “особенностям” старого проекта и выстраивать многолетнюю стратегию по наведению порядка.

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