Постройте карту системы за полдня, а не за квартал
Понимайте потоки данных, интеграции и системные зависимости, запрашивая источник истины — сам код.
Изучение системы упирается в знания из голов
- Карта существующей системы — это недели интервью со стейкхолдерами.
- Документация неполная, устаревшая или противоречивая.
- Потоки данных знают пара человек, которые всегда заняты.
- Точки интеграции обнаруживаются через продовые инциденты.
- Сбор требований упускает критичные существующие ограничения.
Пропустите раунд интервью
Спрашивайте код напрямую. Диаграммы врут — задеплоенный код нет.
Что можно спросить у системы
Карта системы
Спросите, с какими системами интегрируется order-сервис, проследите поток данных от регистрации до welcome-email и посмотрите, к каким БД обращается reporting-модуль.
Анализ потоков данных
Проследите, как данные клиента проходят по системе, какие сервисы трогают платёжную информацию и где хранится и обрабатывается PII.
Поиск интеграций
Перечислите внешние API, которые вы вызываете, как обрабатываются сбои вебхуков и в каких сервисах есть retry-логика на сбои downstream.
Определение ограничений
Найдите правила валидации пользовательского ввода, бизнес-правила, заложенные в checkout-флоу, и настроенные rate limit-ы на вызовы внешних API.
Оценка impact
Постройте карту upstream- и downstream-зависимостей при изменении модели и выявите интеграционные контракты, которые нужно сохранить для совместимости.
Как аналитики используют CodeAlive
- 1
Первичное изучение
Получите обзор подсистемы, определите крупные компоненты и их зоны ответственности, проложите основные потоки данных.
- 2
Deep dive
Проследите путь заказа от размещения до выполнения, разберите обработку ошибок и граничных случаев, выявите неявные бизнес-правила.
- 3
Оценка impact
Спросите, что будет затронуто при изменении модели статуса заказа, постройте карту upstream- и downstream-зависимостей, выявите интеграционные контракты, которые нужно сохранить.
- 4
Генерация документации
Экспортируйте находки в структурированную документацию, генерируйте системные диаграммы из анализа кода и собирайте словари данных из реальных реализаций.
Что меняется для системных аналитиков
- Карта системы за часы — запросами к источнику истины.
- Точнее требования — за счёт анализа с привязкой к коду.
- Полные интеграционные карты без зависимости от людей.
Документируйте систему, которая реально работает в проде
Хватит проводить раунды интервью со стейкхолдерами, чтобы восстановить то, что уже написано на C#.