Переписывать ли канал взаимодействия?
Например, мобильное приложение, админку, личный кабинет. Это частый вопрос. Начнем с технических особенностей.
Единственная техническая причина переписывать с нуля, - это если канал - стороннее решение, кода у вас физически нет возможности провести рефакторинг.
Остальные причины - экономические, когда развивать дороже, чем переписать, и тут все намного сложнее, потому что - «а насколько дороже?», «а как посчитать?» и так далее. Ответить на эти и другие вопросы можно, тем более, что оценить можно в относительных единицах.
Экономические (внезапно) причины:
▪️Умер стек, на котором разработана текущая имплементация канала. Сложно или дорого найти компетенции под стек.
▪️Архитектура фундаментально несовместима с направлением бизнеса. Вроде, - проектировали под single tenant, а теперь работаем с multitenant, сюда же если изначально не закладывался highload и так далее. При архитектурной несовместимости постепенная замена модулей может оказаться дороже, чем полная замена с разработкой с нуля
▪️Банкротство. Это когда годовая стоимость поддержки старой системы (проценты) доходит до 40% от реалистичной оценки переписывания. Речь только о процентах, а есть еще тело долга.
▪️ Бизнес-модель поменялась настолько, что старая система решает не ту задачу, - нужен другой продукт
Это были рациональные причины. Чтобы их обсчитать и принять рациональные решения, нередко придется потрудиться, это затратно, поэтому иногда решения принимаются иррационально, например:
▪️В целом выглядит привлекательно начать с чистого листа, чтобы скинуть балласт. Часто решение принимается при смене команды или руководства, - «нам проще переписать, чем разбираться и поддерживать, что они там написали». Это скорее организационная причина.
▪️Переписать - это понятный проект с границами, который можно защитить (формально) в отличие от нередко непонятного (что печально) менеджменту постепенного рефакторинга. Это, скорее политическая причина, понятный проект выглядит просто привлекательнее по форме.
Вспомните этот пост, когда в следующий раз будете обсуждать вопрос «переписывать или нет» и задайте себе вопрос - есть ли рациональные причины писать с нуля? Если строго нет, рассмотрите альтернативы. И если альтернативы дороже, чем переписать - ну тогда погнали :)
Post #832
1.42K
- 🔥 4
- ❤ 2