Size: a a a

2020 June 09

MP

Mark Pyzhov in AgileNSK
Olga Myachina
у меня конечно сразу вопрос - что это принципиально меняет)
но сейчас на мой взгляд это уже обоюдное решение)
Просто уточнение.
источник

AE

Alexandra Ermolaeva in AgileNSK
Olga Myachina
у меня конечно сразу вопрос - что это принципиально меняет)
но сейчас на мой взгляд это уже обоюдное решение)
Очевидно, что мотивации будет меньше, если спустить это решение сверху
источник

MP

Mark Pyzhov in AgileNSK
Мне было не совсем понятно. Если это инициатива команды, то, наверное, у них должно было быть понимание "как". Тогда вопрос о методе не стоял бы.
источник

MP

Mark Pyzhov in AgileNSK
Если это инициатива менеджмента, то будет очень интересно узнать, как у вас получится этот проект.
источник

MP

Mark Pyzhov in AgileNSK
Но кейса у меня нет, прости. 😊 Удачи в проекте.
источник

DU

Dеfault Username in AgileNSK
Alexey Sibirtsev
Хм... Эти 6 историй несовсем связаны с текущими реалиями. Да и вообще с реальностью.
Я работал не в большом количестве мест, но ситуация везде одна и та же — монолит, мотивация, взять всё и переписать
Но увы, жизнь, а точнее работа, научила меня что оно так не работает. Рефакторинг монолита — вещь почти не достижимая, если не гугл, майкрософт или что-то большое, известное и с деньгами.
Если цель быстрее доставлять фичи, то как она связана с рефакторингом? В хороший код проще вносить изменения, а значит и выходить они будут быстрее? Да?
Увы, но нет. Даже если у вас будет идельный с точки зрения дядушки Боба код, то усилия по подержанию его в таком состоянии при внесении изменений могут очень  дорогими. А если нужно бежать вперёд роняя кирпичи, чтобы успевать за рынком?
На моей прошлой работе в каждой команде есть свой монолит, или один монолит на 2 команды. И есть стремление сделать мега архитектуру на микросервисах.  Процесс шёл 2 года (пока я там работал) и идёт до сих пор. А монолиты как приносили компании основной доход, так и приносят. А всю эту новомодную инфраструктуру пытаются удержать на плечах команда DevOps, у которых уже колени трясутся.
Новенькие приходят, ругаются, но когда понимают как работает бизнес начинают молча есть кактус. Так как он в деньги конвертируется. И правилом бойскаута пользуются. Ну и да, потихоньку выделяют независимые части в микросервисы.
Такие дела
Если существующий продукт  в текущем состоянии приносит деньги или если фаундеры и стейкхолдеры  осознают,  что  им даст переписывание  - все вполне приземляется на "текущие" реалии
источник

AS

Alexey Sibirtsev in AgileNSK
И ещё про правило бойскаута. Именно с помощью этого правило в одном из монолитов мы начали использовать реакт, блок за блоком перетягивая функционал. Бекенд при этом сделал только пару небольших правок для включения условного рендеринга в json. Как только профит от перехода стал заметен бизнесу, вся страница была переписана
источник

AS

Alexey Sibirtsev in AgileNSK
Dеfault Username
Если существующий продукт  в текущем состоянии приносит деньги или если фаундеры и стейкхолдеры  осознают,  что  им даст переписывание  - все вполне приземляется на "текущие" реалии
я так и написал: с деньгами
источник

MV

M V in AgileNSK
Dеfault Username
Более радикальное решение,чем рефакторинг, но кейсы реальные, продукты успешные,  так что может даст  команде и ПМу, как минимум, пространство для размышлений  и  идей:

https://habr.com/ru/post/441456/
Полезная инфа, спасибо👍👍👍
источник

AS

Alexey Sibirtsev in AgileNSK
Но помимо денег нужно ещё и время, то есть нужно на берегу понимать примерный срок и риски. Если не занимаетесь риск-менеджментом в таком проекте, он с большой вероятностью провалиться.
Зная срок, понимая риски, сезонность бизнеса, если она есть, модель финансирования и тп. Можно планировать работу для команд. У моей команды было условие, сдать новую версию бекенда и мобильного приложения в первом квартале этого года (с андроидом мы к сожалению пролетели по срокам). А всё потому, что если новое приложение сдать позже, а его полное тестирование — внутреннее и внешнее плюс доводка, займёт около 3-6 месяцев, то в этом финансовом году профита от него не будет, и оно будет фигурировать как расходы (при чём очень не маленькие), что для инвесторов будет значить потерю инвестиций в этом году. Такое переписывание может и добавляет фана команде, но несёт прямую угрозу бизнесу компании.
И всё это не смотря на наличие денег и положительно настроенных C-level менеджеров
источник

AS

Alexey Sibirtsev in AgileNSK
Такие дела
источник

AS

Alexey Sibirtsev in AgileNSK
Да, всё что я пишу основано только на моём личном опыте
источник

ИШ

Иван Шишкин... in AgileNSK
Был у меня однажды ооочень большой легаси. В какой-то момент любые изменения стали дорогими и тяжёлыми. С помощью подсчетов, собранных примеров, мрачных прогнозов и красивых презентаций удалось получить бюджет на рефакторинг. А дальше из огромного монолита аккуратно выпиливали кусочки и впиливали новое решение. Это очень долго, технически сложно, но зато без остановки сервиса и все такое. В итоге, после замены корной части боль снизилась и бюджеты тоже, в итоге процесс растянулся на многие годы.
Из полученного опыта:
- без обоюдного желания команды и бизнеса прям никак. Видел примеры без обоюдного - было больно и грустно. Бабло все же побеждает зло.
- еще нужны сформулированные цели, зачем это все. Предприятие рискованное, сложное, если цели нет, может получиться рефакторинг ради рефакторинга. Поэтому имеет смысл относиться к этому, как к бизнесовой задаче, считать ROI (хотя бы попытаться)
- взять и переписать с нуля большой и сложный продукт - почти не видел успешных случаев (как правило тестов нет, требования утеряны, такой кучи денег нет). Хотя нет, один был: достаточно денег, очень заинтересованный бизнес и крутая инженерная команда. Но там я только рядом стоял, наверняка были подводные камни.
- Аккуратное распиливание монолита, дублирование функций работает, но это дорого и долго. Если продукт большой, то это может быть очень дорого и очень долго, поэтому нужны п1 и п2
источник

AS

Alexey Sibirtsev in AgileNSK
источник

АT

Алексей Tiger in AgileNSK
Прям сейчас пилим монолит на части и поэтапно поднимаем новую платформу на микросервисной архитектуре. Да не просто. Но уже есть плоды и оно того однозначно стоит. Ну и конечно же без поддержки и понимания бизнеса это было бы не возможно.
источник

AS

Alexey Sibirtsev in AgileNSK
мне кажется что это очень частый кейс, чаще всего любой бизнес стратует с монолита, который со временем обрастает "мясом и жиром"
со временем приходит понимание, что пора его делить на части, дабы облегчить себе жизнь и работу
и начинается :)
источник

AK

Alexa Kukina in AgileNSK
Alexey Sibirtsev
мне кажется что это очень частый кейс, чаще всего любой бизнес стратует с монолита, который со временем обрастает "мясом и жиром"
со временем приходит понимание, что пора его делить на части, дабы облегчить себе жизнь и работу
и начинается :)
Начинается разное. Про это и был запрос.
источник

AK

Alexa Kukina in AgileNSK
Алексей Tiger
Прям сейчас пилим монолит на части и поэтапно поднимаем новую платформу на микросервисной архитектуре. Да не просто. Но уже есть плоды и оно того однозначно стоит. Ну и конечно же без поддержки и понимания бизнеса это было бы не возможно.
Все пилят сейчас.
Вопрос не в этом. Почитайте пост Оли 🙏
источник

$

$ in AgileNSK
Алексей Tiger
Прям сейчас пилим монолит на части и поэтапно поднимаем новую платформу на микросервисной архитектуре. Да не просто. Но уже есть плоды и оно того однозначно стоит. Ну и конечно же без поддержки и понимания бизнеса это было бы не возможно.
Леша, привет!✌
не на жабе, случаем?
источник

$

$ in AgileNSK
Иван Шишкин
Был у меня однажды ооочень большой легаси. В какой-то момент любые изменения стали дорогими и тяжёлыми. С помощью подсчетов, собранных примеров, мрачных прогнозов и красивых презентаций удалось получить бюджет на рефакторинг. А дальше из огромного монолита аккуратно выпиливали кусочки и впиливали новое решение. Это очень долго, технически сложно, но зато без остановки сервиса и все такое. В итоге, после замены корной части боль снизилась и бюджеты тоже, в итоге процесс растянулся на многие годы.
Из полученного опыта:
- без обоюдного желания команды и бизнеса прям никак. Видел примеры без обоюдного - было больно и грустно. Бабло все же побеждает зло.
- еще нужны сформулированные цели, зачем это все. Предприятие рискованное, сложное, если цели нет, может получиться рефакторинг ради рефакторинга. Поэтому имеет смысл относиться к этому, как к бизнесовой задаче, считать ROI (хотя бы попытаться)
- взять и переписать с нуля большой и сложный продукт - почти не видел успешных случаев (как правило тестов нет, требования утеряны, такой кучи денег нет). Хотя нет, один был: достаточно денег, очень заинтересованный бизнес и крутая инженерная команда. Но там я только рядом стоял, наверняка были подводные камни.
- Аккуратное распиливание монолита, дублирование функций работает, но это дорого и долго. Если продукт большой, то это может быть очень дорого и очень долго, поэтому нужны п1 и п2
Соглашусь. Все верно написано. Причем, в правильном порядке (приоритетах).
источник