Подрядчик ушёл, и вместе с ним ушло знание о том, как устроен продукт. Документации нет, пароли от серверов нашлись не все, а каждая правка, которую пробовали внести сами, ломала что-то в другом месте. Клиенты при этом продолжают пользоваться продуктом, и остановить его надолго ради переделки нельзя. Мы берём в работу продукт, который начала другая команда, будь то веб-приложение, сайт с личным кабинетом или мобильное приложение. Восстанавливаем доступы и сборку, проводим аудит кода, считаем, что сохранить, что исправить и сколько стоит достройка, а потом доводим продукт до запуска и развиваем. Если новая разработка обойдётся дешевле доработки, покажем это по итогам аудита, до того как начнётся достройка.
Сначала доступы и сборка, потом аудит
Первая задача — сделать так, чтобы продукт снова принадлежал вам не только на бумаге. Порядок такой:
- Собираем доступы к репозиторию, серверам, домену и сервисам, на которых держится продукт (почта, оплата, хранилище файлов), и переводим их на учётные записи компании.
- Добиваемся, чтобы продукт собирался и запускался из репозитория, без знаний прежней команды.
- Проводим аудит кода: архитектура, безопасность, тесты, узкие места, технический долг.
- Показываем варианты с оценкой каждого: достроить как есть, сократить объём или пересобрать часть системы.
- Выпускаем первый стабилизирующий релиз и дальше развиваем продукт по плану.
Первые два шага кажутся формальностью, но без них любая доработка рискованна. Пока продукт нельзя собрать заново, никто не знает, что именно сейчас работает у клиентов.
Какие проекты мы принимаем
Продукт, от которого ушёл подрядчик. Первую версию, которая так и не вышла к пользователям. Демо, которое хорошо выглядит на показе, но не готово к настоящей работе, потому что в нём нет ролей, журнала ошибок и защиты данных. Систему, которую по очереди писали несколько команд, и каждая оставила свою часть. ИИ-пилот, который застрял между демонстрацией и промышленной работой. Проект, у которого срок сдвигается каждый месяц, и собственник уже не понимает, сколько осталось. Как доводят демо до настоящей работы, рассказано на странице о доводке прототипа.
Начало у всех этих случаев одинаковое, а решения разные. Где-то достаточно достроить, где-то выгоднее сократить объём, а где-то часть системы проще собрать заново.
«Новые люди окончательно всё сломают»
Этот страх понятен, особенно если прежние попытки доработки уже ломали продукт. Поэтому до первых изменений мы покрываем тестами пути, на которых держатся деньги и клиенты: оплату, вход, оформление заказа. Изменения выпускаем небольшими частями, и каждую можно откатить, если после выпуска что-то пошло не так.
Если прежний подрядчик на связи, передачу можно провести с периодом параллельной работы. Какое-то время обе команды видят продукт, и ответственность переходит по частям, без дня, когда за систему не отвечает никто.
Разберёмся в задаче и предложим, как решить её эффективно.
Что остаётся у вас после передачи
Код и доступы к репозиторию, серверам и сервисам, оформленные на компанию. Документация, которой раньше не было: как устроена система, какие в ней данные, с какими сервисами она обменивается и как её запустить и восстановить после сбоя. И список долгов, то есть того, что работает, но требует исправления, с оценкой по каждому пункту.
С этим набором продукт больше не зависит от одного человека или одной команды. Продолжать и развивать его можно в любой момент, с нами или своими силами.
Смету достройки называем после аудита
До доступа к коду и аудита честную цену достройки назвать нельзя: одинаковые на вид продукты внутри устроены по-разному. После аудита фиксируем смету в договоре, а новые функции, которые появятся по ходу, считаем отдельно. Части, которые прошли аудит, остаются в продукте, и платить за них второй раз не придётся. Готовое показываем каждую неделю, на выпущенное даём три месяца гарантии.
Вопросы о доработке чужого проекта
Возьмёте ли проект на незнакомой вам технологии?
Это видно на аудите. Если продукт получается собрать, запустить и поддерживать, берём. Если стек устарел настолько, что поддерживать его дороже, чем переписать часть системы, скажем об этом и покажем расчёт.
Можно ли сразу заняться новыми функциями?
Можно, но только после первых двух шагов. Новая функция в продукте, который нельзя пересобрать и проверить, рискует сломать то, что уже работает у клиентов.
Берёте ли проекты на 1С или Битрикс24?
Сами конфигурации 1С и Битрикс24 мы не дорабатываем, поэтому их обновления ставятся как обычно. Если ваш продукт — сервис, кабинет или сайт, который обменивается с ними данными, его берём, а связь с 1С и Битрикс24 ведём через их API.