Brainfab
← К заметкам

Оцените владение программным продуктом и переносимость до передачи

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

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

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

Начните с точек контроля

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

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

Проследите путь от исходного кода до сервиса

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

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

Включите данные и операционные знания

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

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

Считайте владение постоянной способностью

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

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