Перейти к основному содержимому
CodeAlive

Постройте карту системы за полдня, а не за квартал

Понимайте потоки данных, интеграции и системные зависимости, запрашивая источник истины — сам код.

Изучение системы упирается в знания из голов

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

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

Спрашивайте код напрямую. Диаграммы врут — задеплоенный код нет.

Что можно спросить у системы

Карта системы

Спросите, с какими системами интегрируется order-сервис, проследите поток данных от регистрации до welcome-email и посмотрите, к каким БД обращается reporting-модуль.

Анализ потоков данных

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

Поиск интеграций

Перечислите внешние API, которые вы вызываете, как обрабатываются сбои вебхуков и в каких сервисах есть retry-логика на сбои downstream.

Определение ограничений

Найдите правила валидации пользовательского ввода, бизнес-правила, заложенные в checkout-флоу, и настроенные rate limit-ы на вызовы внешних API.

Оценка impact

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

Как аналитики используют CodeAlive

  1. 1

    Первичное изучение

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

  2. 2

    Deep dive

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

  3. 3

    Оценка impact

    Спросите, что будет затронуто при изменении модели статуса заказа, постройте карту upstream- и downstream-зависимостей, выявите интеграционные контракты, которые нужно сохранить.

  4. 4

    Генерация документации

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

Что меняется для системных аналитиков

  • Карта системы за часы — запросами к источнику истины.
  • Точнее требования — за счёт анализа с привязкой к коду.
  • Полные интеграционные карты без зависимости от людей.

Документируйте систему, которая реально работает в проде

Хватит проводить раунды интервью со стейкхолдерами, чтобы восстановить то, что уже написано на C#.