А давайте мы наговнокодим в MVP версии, зато быстро! Или почему это плохая идея.
Что такое MVP версия продукта? Википедия говорит, что это продукт, обладающий минимальными, но достаточными для удовлетворения первых потребителей функциями.
У нас почему-то прижилось другое определение MVP как проекта из костылей, собранного в самые краткие сроки, лишь бы работало. Дальше происходит классика.
Проходит демонстрация продукта и, о чудо, оказывается он всем понравился. Срочно тащите новые фичи, а то опоздаем! А потом еще, и еще, и еще. Оглядываемся назад - там тонна кода, который уже никто не понимает. И как его теперь переписывать? Ничего, до следующего квартала потерпим, там-то точно возьмемся за рефакторинг (нет).
Круто, мы только недавно начали, а уже получили легаси, которое невозможно поддерживать. И с каждой новой фичей затраты времени и сложность будут расти гигантскими темпами. А переписывать его будет некогда, потому что даже минорные правки будут съедать кучу времени. И рефакторить по чуть-чуть тоже не получится, так как на всех временных костылях уже построена целая туча логики.
Смешная ситуация. И грустная. А ведь сколько проектов было написано с мыслью "ничего страшного, потом подправим"...
Мораль проста - когда строишь дом из костылей - помни, тебе в нем жить. И еще многим после тебя.
А то самое "потом" не наступит никогда. И даже если сейчас кажется, что ничего страшного - тебе кажется. Потом будет поздно.
Post #12
353