Подхват проекта — аудит

Аудит проекта перед подхватом

Проверим проект до того, как вы подпишете большой контракт на подхват или смену подрядчика. Разберём код, доступы, продакшен, интеграции, релизы, документацию и риски. На выходе — понятная картина состояния и план следующих шагов.

  • Аудит можно заказать отдельно, без обязательства передавать проект нам.
  • Не обещаем «всё починить» в рамках аудита — сначала фиксируем состояние и риски.
  • Отчёт остаётся у вас, даже если дальше вы выберете другую команду.

Что такое аудит перед подхватом

Техническая диагностика проекта до того, как меняется подрядчик.

Аудит перед подхватом — это отдельный, более короткий формат работы. Его цель — за несколько дней получить честную картину состояния проекта и принять информированное решение: менять подрядчика, отложить подхват, ограничиться узкой работой или передать проект внутренней команде. Аудит не заменяет полноценный подхват и не включает в себя разработку новых функций или большие изменения в проде.

Что мы относим к аудиту перед подхватом

Разбор кода, инфраструктуры, доступов, релизного процесса, интеграций, данных, безопасности и документации. Карта рисков с приоритезацией. Список доступов, которых не хватает. План стабилизации на первые недели. Рекомендации по дальнейшему формату работы и список решений, которые вам предстоит принять.

Что не считается аудитом перед подхватом

Разработка новых функций, большой рефакторинг, изменение архитектуры, массовые миграции данных, юридическое сопровождение спора с прошлым подрядчиком, обещание найти все скрытые дефекты или гарантировать итоговую смету без доступа к критичным частям проекта.

Когда стоит начать с аудита

Признаки, по которым аудит — правильный первый шаг.

Если совпали два-три пункта — стоит сначала разобраться, что реально под капотом, и только потом подписывать большой контракт.

Вы сомневаетесь, стоит ли менять подрядчика

Есть подозрение, что текущая команда не справляется, но доказательств для разговора и решения пока не хватает.

Подрядчик не даёт прозрачной картины

На вопросы о состоянии проекта приходят общие ответы. Понять реальный риск по отчётам команды не получается.

Передача доступов выглядит хаотично

Кто владеет аккаунтами, где лежат секреты, как выкатывается релиз — собрать целую картину невозможно без отдельной диагностики.

Баги копятся, причина не ясна

Регрессии возвращаются, фиксы держатся недолго. Понять, где источник, без независимого взгляда — нечем.

Нужно решение: чинить или переписать модуль

Есть часть проекта, по которой нужно принять обоснованное решение, а не выбирать «по ощущениям».

Перед релизом нужно оценить риски

Запланированный релиз вызывает сомнения. Хочется понять, что может пойти не так, и какие риски снять до выпуска.

Проект зависит от одного человека

Если человек уйдёт, проект встанет. Нужно понять, что в первую очередь перенести из его головы в документы и процессы.

Нужно независимое заключение до контракта

Перед большим договором на подхват, поддержку или развитие хочется проверить состояние не глазами предлагающей стороны.

Кому аудит не подойдёт

Когда наш аудит — не та форма работы.

Называем заранее, чтобы не тратить ваше время и не создавать ложных ожиданий.

Нужен немедленный фикс без диагностики

Если задача — сегодня же закрыть конкретный баг без разбора контекста, это не аудит. Для острых ситуаций с горящим продакшеном есть отдельный формат срочного входа.

Нет прав на код, сервер, данные и аккаунты

Если у вас нет подтверждённого доступа хотя бы на чтение к коду, серверу, базе и ключевым аккаунтам, и получить его невозможно, аудит превращается в «угадайку». Это не наш формат.

Нужен юридический спор с прошлой командой

Если основная задача — выиграть спор по правам на код или акт сдачи работ, это зона юриста. Технический аудит может стать частью аргументации, но не заменяет юридическое сопровождение.

Ожидается гарантия найти все проблемы за один заход

Никакой аудит не гарантирует обнаружения всех скрытых дефектов. Мы честно описываем периметр и говорим, что осталось вне зоны проверки и почему.

Что проверяем

Что входит в технический разбор.

Конкретный периметр обсуждаем на старте. Ниже — список того, что мы обычно смотрим в проекте перед подхватом.

Репозиторий, структура кода, ветки, история

Как устроен код, какие ветки активны, насколько стабильна история изменений, где живут хотфиксы и незавершённая работа.

Зависимости, версии языка и framework

Состояние зависимостей, актуальность версий, известные уязвимости в используемых пакетах, замороженные обновления.

Инфраструктура: серверы, cloud, Docker, nginx, env

Что и где развёрнуто, как описана инфраструктура, где хранятся env-файлы, как устроена конфигурация сервисов.

Продакшен и staging

Какие версии работают на проде и на тесте, совпадают ли они с тем, что в репозитории, есть ли вообще тестовый контур.

База данных, миграции, бэкапы

Состояние базы, история и применимость миграций, регулярность и проверенность бэкапов, наличие сценариев восстановления.

Интеграции: CRM, 1С, платежи, email, Telegram, mobile, API

Какие обмены критичны, где идут потери и ошибки, как организовано версионирование и совместимость с внешними клиентами.

Релизный процесс: CI/CD, ручные деплои, rollback

Как собирается и выкатывается код, что делается руками, есть ли rollback и кто им владеет на практике.

Доступы, секреты, токены, владельцы аккаунтов

Кто владеет аккаунтами по документам и кто фактически имеет доступ, где хранятся секреты, оформлены ли ключевые сервисы на заказчика.

Логи, мониторинг, алёрты, incident history

Что собирается, куда складывается, кто получает алёрты, какие инциденты были за последние месяцы и как они были разобраны.

Документация, README, инструкции, владельцы процессов

Что задокументировано, что устарело, что живёт только в переписке и в голове конкретных людей.

Что вы получаете после аудита

Артефакты, которые остаются у вас.

Артефакты остаются у вас даже в случае, если дальше работаете не с нами.

Отчёт по состоянию проекта

Короткий письменный разбор по разделам аудита с приоритезированными находками и пометками о том, что осталось вне периметра проверки.

Карта рисков

Таблица: риск, вероятность, влияние, приоритет, ответственный. Разнесена по слоям — код, данные, доступы, инфраструктура, релизы — чтобы видеть, где горит первым.

Список недостающих доступов и артефактов

Что и в каком порядке имеет смысл запросить у текущей команды или восстановить со стороны заказчика как владельца проекта.

Схема инфраструктуры и ключевых интеграций

Что где развёрнуто, какие сервисы участвуют, какие обмены идут, где живут данные. Опорная схема для любых дальнейших решений.

План стабилизации на первые 2–4 недели

Список работ, которые имеет смысл сделать первыми, с оценкой трудоёмкости. Это не обязательство нам — планом можно воспользоваться с любой командой.

Рекомендации по формату

Поддерживать текущую архитектуру, стабилизировать, частично переписать или менять подрядчика — с аргументами из отчёта, а не «по ощущениям».

Список работ, которые нельзя делать сразу

Что не запускаем до получения дополнительных доступов или юридической ясности. Это часть отчёта, а не оговорка постфактум.

Процесс

Как проходит аудит.

Сценарий повторяется от проекта к проекту: контекст, доступы, разбор, сводка, отчёт. Без этапа «давайте сразу что-нибудь поправим».

  1. 01

    Стартовая сессия

    Контекст проекта, цели аудита, ограничения, критичные риски, ответственные. По запросу подписываем NDA.

  2. 02

    Передача доступов на чтение

    Репозиторий, серверы, БД, CI/CD, кабинеты интеграций. Объём доступов согласовываем заранее, без избыточных прав.

  3. 03

    Технический разбор

    Код, инфраструктура, релизы, данные, безопасность, интеграции и документация. Фиксируем находки и вопросы по ходу.

  4. 04

    Сводка рисков

    Раскладываем находки по приоритетам, отделяем критичные риски от вторичных, фиксируем то, что требует отдельного решения владельца.

  5. 05

    Разбор результатов

    Отчёт, план стабилизации, варианты следующего шага. Решение — за вами. Дальнейшее сотрудничество не обязательно.

Что не входит в аудит

Что мы намеренно не делаем в рамках аудита.

Эти ограничения мы соблюдаем сами, чтобы аудит оставался диагностикой, а не растягивался в неуправляемый формат работы.

Не разрабатываем новые функции

Любая новая функция требует контекста, тестирования и релизного процесса. В рамках аудита это не делаем, даже если кажется, что «по дороге одну штуку поправить».

Не запускаем большой рефакторинг и изменения архитектуры

Архитектурные изменения — это отдельный согласованный этап. В аудит они не входят и не могут быть протащены под видом «небольших правок».

Не переписываем модули и не делаем массовые миграции данных

Переписывание и миграции требуют бэкапов, репетиции на копии и плана отката. В формате аудита мы их не запускаем и не предлагаем как часть стандартного результата.

Не сопровождаем юридический конфликт

Спор с прошлым подрядчиком по правам и актам — зона юриста. Технический аудит может стать частью аргументации, но не заменяет юридическое сопровождение.

Не гарантируем найти все дефекты

Глубина аудита ограничена временем и доступами. Часть проблем виден только в проде под нагрузкой или через продолжительное наблюдение. В отчёте честно говорим, что осталось вне периметра.

Не обещаем итоговую смету без доступа ко всем частям

Если ключевые части проекта остались недоступны на момент аудита, итоговую смету на длинные работы назвать честно нельзя. Даём диапазон по стабилизации и оценку ближайших шагов.

Какие решения помогает принять

Зачем заказчики приходят за аудитом.

Аудит — это инструмент для принятия решений. Ниже — типовые вопросы, которые после аудита перестают быть субъективными.

Менять подрядчика сейчас или стабилизировать текущую работу

На основании отчёта понятно, насколько риск замены сравним с риском продолжения с текущей командой.

Чинить архитектуру или переписывать отдельный модуль

Решение по модулю принимается с цифрами и аргументами, а не по принципу «нам не нравится текущий код».

Какие доступы забирать у прошлой команды

В отчёте — приоритезированный список того, что важно вернуть в зону вашего владения и в каком порядке.

Какие риски критичны для бизнеса

Технические находки переведены на язык бизнес-рисков: где может встать продажа, где — операционный процесс, где — поддержка.

Можно ли выпускать ближайший релиз

По итогам аудита понятно, какие риски стоит снять до релиза и можно ли выпускать его без дополнительных подготовительных шагов.

Переводить ли проект во внутреннюю команду

В отчёте — оценка того, насколько проект готов к передаче внутрь и каких документов и доступов не хватает для этого.

Какой формат работы нужен дальше

Срочный подхват, плановый подхват, поддержка или отдельная интеграционная работа — выбираем формат на основании отчёта, а не на основании первоначальных ожиданий.

Доступы и материалы для старта

Что стоит подготовить со стороны заказчика.

Часть пунктов выглядит банально, но именно они задают точность и скорость аудита.

Код

  • Репозитории и ветки на чтение.
  • README и инструкции по сборке, если они есть.
  • Доступ к CI/CD и истории релизов.
  • Список незакрытых задач и срочных багов.

Инфраструктура

  • Серверы, cloud или VPS-аккаунты.
  • Docker и nginx-конфигурации.
  • Домены, SSL-сертификаты, DNS.
  • Мониторинг и логи, если они есть.

Данные

  • Доступ к базам и read-only пользователю.
  • Где лежат бэкапы и как их восстанавливать.
  • Скрипты и журналы миграций.
  • Тестовый контур, если он существует.

Интеграции

  • CRM, 1С, платёжные кабинеты и email-провайдеры.
  • Mobile и Telegram-клиенты, использующие API.
  • Внешние API и webhooks-приёмники.
  • Ключи и приложения, оформленные на ваши аккаунты.

Контекст

  • Список текущих проблем со стороны бизнеса.
  • Прошлые договорённости и переписка с подрядчиком.
  • Критичные сценарии, по которым нельзя «промахнуться».
  • Контакты ответственных со стороны заказчика и подрядчика.

Типовые результаты аудита

Какие выводы чаще всего оказываются в отчёте.

Конкретный результат зависит от проекта. Ниже — типовые варианты, которые встречаются в реальных аудитах.

Можно подхватывать как есть

Состояние позволяет начать передачу проекта без отдельной стабилизации.

Нужна стабилизация перед развитием

Сначала закрываем критичные риски, потом возвращаемся к продуктовым задачам.

Нужен срочный rollback

Релиз или изменение в проде стоит откатить до устранения причин.

Нужны недостающие доступы

Без них дальше двигаться рискованно, в отчёте — список и приоритет.

Нужен отдельный аудит интеграций

Профильная диагностика обменов, API и webhooks выходит за объём общего аудита.

Нужна ревизия бэкапов

Бэкапы есть, но восстановление не проверялось — это отдельная работа.

Нужен план передачи внутрь

Проект готов к передаче внутренней команде по чек-листу из отчёта.

Лучше переписать отдельный модуль

Рефакторинг конкретного куска экономнее, чем продолжать его поддерживать.

Нельзя трогать без юриста

Часть проекта в спорной юридической ситуации — сначала юридическая ясность.

Релиз можно выпускать только после фиксов

Ближайший релиз требует подготовительных шагов, без которых рисков слишком много.

Для каких проектов подходит

В каких форматах проектов делаем аудит.

Аудит подходит большинству проектов, которые мы подхватываем. Ниже — ссылки на отдельные страницы по типам подхвата, чтобы вы сразу видели специфику вашего случая.

FAQ

Что обычно спрашивают перед аудитом.

С чего начинается аудит перед подхватом?

С короткой стартовой сессии и заявки на аудит. Обсуждаем, что за проект, кто текущий подрядчик, какие сценарии критичны, какие доступы уже на вашей стороне и что именно вы хотите понять перед решением о смене команды. По запросу подписываем NDA. Дальше — технический разбор по согласованному периметру. Условия дальнейшего сотрудничества обсуждаются после отчёта, а не до.

Можно ли заказать только аудит, без передачи проекта вам?

Да. Аудит — отдельный формат и существует именно для этого. По итогам у вас остаётся письменный отчёт, карта рисков, карта доступов, схема инфраструктуры и интеграций, план стабилизации и список первых решений. Дальше вы выбираете: возвращаетесь к текущему подрядчику с конкретным списком, ищете другую команду, передаёте отчёт внутреннему техническому руководителю или продолжаете работу с нами. Никаких обязательств на подхват у вас нет.

Что нужно дать для старта аудита?

Доступы хотя бы на чтение: репозиторий, серверы и инфраструктура, база, CI/CD, кабинеты интеграций. Плюс контекст: список текущих проблем, прошлые договорённости с подрядчиком, критичные сценарии, контакты ответственных. Чем полнее доступы и контекст, тем точнее и быстрее аудит. Если части доступов нет, на старте отдельно фиксируем, какие выводы возможны без них, а какие — нет.

Сколько времени занимает аудит?

Зависит от размера проекта, состояния документации и полноты доступов. Конкретные сроки не называем заранее, потому что аудит без аудита — это та же история, которая привела вас в текущую ситуацию. После стартовой сессии предлагаем реалистичный формат и периметр. Если хотите ограничить объём — обсуждаем узкий аудит по конкретному модулю.

Можно ли провести аудит без write-доступа к репозиторию и серверу?

Да, базовый аудит можно сделать на read-only доступах: чтение репозитория, базы, логов, мониторинга, конфигов. Этого достаточно, чтобы построить картину состояния, риски и список недостающих доступов. Изменения в проде без подтверждённых прав мы не делаем. Если каких-то частей не видно даже на чтение, в отчёте фиксируем, какие выводы возможны без них, а какие — нет.

Чем аудит перед подхватом отличается от обычного code review?

Code review разбирает код: качество, паттерны, потенциальные ошибки. Аудит перед подхватом смотрит шире: код, инфраструктура, доступы, релизный процесс, интеграции, документация, операционные риски, владение аккаунтами. Цель не «оценить уровень кода», а понять, что досталось, где риски, какие доступы нужны и какой формат работы дальше уместен. Code review может быть частью аудита, но не равен ему.

Можно ли использовать ваш отчёт с другой командой?

Да. Отчёт остаётся у вас и предназначен для принятия решений, в том числе с другим подрядчиком или внутренней командой. Структура отчёта рассчитана на то, что его читает не только владелец, но и технический человек, который будет дальше работать с проектом. Если ваша внутренняя команда захочет уточняющую встречу по отчёту — это отдельный короткий формат.

Что если в аудите станет понятно, что проект проще переписать?

В отчёте честно скажем: точечный рефакторинг, поэтапная замена или переписывание выбранных частей. Решение принимаете вы, исходя из бизнес-приоритетов. Полное переписывание не предлагаем по умолчанию — оно почти всегда длиннее и дороже, чем кажется, и в первые месяцы продукт всё равно работает на старом коде, который кто-то должен поддерживать.

Вы даёте финальную смету после аудита?

После аудита можем дать оценку ближайших шагов и диапазон по стабилизации. Финальная смета на длинные работы зависит от доступа ко всем критичным частям проекта и от решений, которые вы примете по итогам отчёта. Точная цифра без аудита — это нечестно по отношению к вам и почти всегда нерелевантна реальной ситуации в проекте.

Какие решения можно принять по итогам аудита?

По итогам аудита решаются практические вопросы: менять подрядчика сейчас или сначала стабилизировать текущую работу, чинить архитектуру или переписывать отдельный модуль, какие доступы забирать в первую очередь, можно ли выпускать ближайший релиз, передавать ли проект внутренней команде, какой формат работы нужен дальше — срочный подхват, плановый, поддержка или интеграционная работа.

Заказать аудит перед подхватом

Опишите ситуацию — вернёмся в течение рабочего дня.

Опишите проект, текущего подрядчика, доступы, стек и что нужно понять до смены команды. Вернёмся с конкретикой и предложим формат аудита.

Аудит перед подхватом

Короткая заявка на аудит.

Поля помечены под аудит перед подхватом: что за проект, какой стек, какие интеграции и доступы, что нужно понять до смены команды.

Заявка придёт на hi@khaiam.ru. Можно написать сразу в Telegram .

Заказать аудит проекта