Процесс и договор12 октября 2026 г.8 мин чтения

Как проверить качество продукта и работу подрядчика

Коротко

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

Содержание
  1. 01Почему «всё работает» — ещё не ответ
  2. 02Что владелец может проверить сам — без чтения кода
  3. 03Сигналы, что нужен взгляд со стороны
  4. 04Консультация, выборочный обзор или полный аудит: что выбрать
  5. 05Как подготовить проверку: объём, доступы, данные
  6. 06Что должно быть в отчёте — и чего в нём быть не может
  7. 07Как использовать результат

Почему «всё работает» — ещё не ответ

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

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

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

Что владелец может проверить сам — без чтения кода

Эти пункты проверяются за один созвон с подрядчиком и пару часов работы с аккаунтами. Ни один из них не требует технической подготовки — только доступа и настойчивости.

  • Репозиторий с кодом находится в организации или аккаунте вашей компании, вы — владелец, а подрядчик работает с ограниченной ролью. В GitHub, например, роли идут от Read до Admin, и полный доступ нужен только тем, кому он действительно необходим.
  • Домен зарегистрирован на вашу компанию, доступ к регистратору и DNS — у вас.
  • Хостинг, база данных, почтовый сервис, платёжный провайдер, аналитика и сторонние API оформлены на корпоративную почту, а не на личный ящик разработчика.
  • Есть список всех внешних сервисов, которые использует продукт, с указанием, кто за них платит и где лежат ключи доступа.
  • Новый разработчик может собрать и запустить продукт по инструкции из репозитория. Попросите подрядчика показать это на чистой машине во время созвона.
  • Тестовое и рабочее окружения разделены: эксперименты не происходят на базе с реальными клиентами.
  • Резервные копии делаются автоматически, и известна дата последнего успешного восстановления из копии — не только её создания.
  • Понятно, как изменение попадает в рабочую версию и как откатить неудачный релиз.
  • Ошибки пользователей где-то фиксируются: есть журнал или сервис мониторинга, и кто-то его смотрит.
  • Задачи, обсуждения и демо ведутся в системе, к которой у вас есть доступ, а не только в личной переписке.

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

Сигналы, что нужен взгляд со стороны

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

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

Для разговора о процессе поставки полезно опираться на метрики, которые описывает исследовательская программа DORA. Это не оценки «хорошо/плохо», а вопросы, на которые зрелая команда отвечает цифрами из своих систем.

Время внесения изменения

Вопрос подрядчику
Сколько проходит от готового изменения в коде до его появления в рабочей версии?
Что настораживает
Никто не знает, или ответ «зависит от того, когда соберёмся выкатить»

Частота релизов

Вопрос подрядчику
Как часто выходят обновления?
Что настораживает
Релизы редкие и большие, каждый — событие с риском

Доля неудачных релизов

Вопрос подрядчику
Какая часть релизов потребовала срочного отката или исправления?
Что настораживает
Это не отслеживается

Время восстановления

Вопрос подрядчику
Сколько занимает восстановление после неудачного релиза?
Что настораживает
Откат не отработан, восстановление — ручная импровизация
Вопросы о процессе поставки по метрикам DORA

Консультация, выборочный обзор или полный аудит: что выбрать

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

Консультация

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

Выборочный обзор

Когда подходит
Риск в одной зоне: права доступа, платежи, интеграция, конкретный модуль
Что вы получаете
Короткий отчёт: находки в этой зоне и явные границы проверки
Чего не будет
Выводов о системе в целом

Полный технический аудит

Когда подходит
Перед ростом, сменой подрядчика, инвестициями или сделкой
Что вы получаете
Резюме для владельца, находки с доказательствами по доменам, приоритеты и план работ
Чего не будет
Исправлений — это отдельный проект; заключения «уязвимостей нет»

Тест на проникновение

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

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

Как подготовить проверку: объём, доступы, данные

  1. Запишите решение и вопросы

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

  2. Согласуйте объём

    Какие репозитории, окружения, модули и интеграции входят в проверку, а какие — нет. Всё, что вне объёма, в отчёте должно быть помечено как «не проверялось».

  3. Выдайте доступ только на чтение

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

  4. Не передавайте секреты и реальные данные клиентов

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

  5. Соберите то, что уже есть

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

  6. Предупредите текущего подрядчика

    Его объяснения — часть картины: многие решения выглядят странно без контекста, в котором их принимали.

  7. Отзовите доступы после завершения

    Зафиксируйте, у кого и до какой даты был доступ, и закройте его, когда отчёт получен.

Что должно быть в отчёте — и чего в нём быть не может

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

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

Полезный отчёт

  • Резюме для владельца на одной-двух страницах и технические детали для команды
  • Каждая находка подкреплена доказательством
  • Явно указано, что не проверялось
  • Приоритеты привязаны к последствиям для бизнеса
  • По нему может работать любая команда

Бесполезный отчёт

  • Выгрузка автоматического сканера без разбора
  • Оценки «код плохой» без примеров
  • Критичность завышена, чтобы продать исправления
  • Нет границ проверки — непонятно, что осталось за кадром
  • Рекомендации вида «переписать всё»

Как использовать результат

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

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

Расскажите о задаче — мы изучим запрос и свяжемся с вами

Есть задача?
Обсудим и оценим — бесплатно.

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

  • Оценка объёма и рисков до старта
  • NDA — по вашему или нашему шаблону
  • Старт работ в течение недели

Не присылайте через форму пароли, ключи доступа и исходный код — безопасную передачу доступа обсудим отдельно.

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