Требования со временем увеличивались оказалось что выбранная технология не подходит, разработчики не обладают достаточными компетенциями, ну и вообще факап со стороны руководителей и архитекторов принимавших продукт от подрядчиков. Разработка фич длилась необоснованно долго, тестирование прое**но чуть менее чем полностью, качество страдало, сроки постоянно тянулись, люди перерабатывали.
Анализ: Изучили код, документацию, требования, процесс и ресурсы, оценили трудозатраты.
Решение: Обосновали необходимость перехода на знакомый стек, убедили клиента переписать базовый функционал решения в виде масштабируемого микросервиса. Разработка заняла два месяца, штатная команда справилась, все заработало.
Результат: Новое решение оказалось на знакомом стеке для всей головной организации, а это значит что расширять решение мог почти любой разработчик. Приложение оказалось тестируемо, в т.ч стало можно писать юнит тесты (привет интеграция groovy и джава). Разработка и поддержка стала оцениваемой и начала укладываться в предполагаемые сроки.