Что такое артефакт работы аналитика? Какие артефакты ты создаёшь?
Junior
Артефакт — любой документ или модель, который остаётся как результат работы и используется другими ролями: BRD, SRS, user stories с AC, BPMN-диаграммы, Sequence, ERD, контракты API (OpenAPI), глоссарий, decision log.
Какие именно — зависит от методологии и проекта. В Agile-команде продукта чаще всего: user stories с AC, sequence-диаграммы интеграций, OpenAPI, краткие тех. спецификации. В госпроекте — полный комплект по ГОСТ.
Из практики: артефакт без потребителя — мусор. Перед тем как заводить новый документ, спрашиваю, кто и зачем будет его читать.
Частые ошибки
Делают артефакты ради процесса, а не ради потребителя.
Не версионируют и не следят за актуальностью.
Дополнительные вопросы
Какой инструмент используешь для хранения (Confluence, Notion, Git)?
Что делать с устаревшими артефактами?
Кто является потребителем артефактов аналитика?
Junior
Разные артефакты — разные потребители. BRD — спонсор и бизнес. SRS/user stories — разработчики и тестировщики. Sequence/OpenAPI — backend/интегратор. UI-спеки — дизайнер и фронт. Глоссарий — все. Decision log — будущие участники проекта.
Хороший аналитик пишет каждый артефакт для конкретной аудитории и в нужном для неё языке. Универсальный документ часто не нужен никому.
Из практики: перед написанием нового документа спрашиваю «кто его прочитает в течение месяца?». Если ответа нет — не пишу.
Частые ошибки
Пишут один документ «для всех» — слишком сложный для бизнеса и слишком общий для дева.
Делают артефакты для отчёта, а не для использования.
Дополнительные вопросы
Как ты собираешь обратную связь по своим артефактам?
Что такое readers' map?
Что должно включать описание интеграции между системами?
Middle
Минимум: участники и направление вызова, протокол и метод, контракт (схема запроса/ответа, OpenAPI/JSON Schema/WSDL), сценарии (включая ошибки и таймауты), аутентификация и авторизация, идемпотентность, гарантии доставки, нефункциональные требования (latency, throughput), SLA.
Из практики: 70% багов на интеграциях — в недописанном поведении при ошибках. Описывайте error-сценарии так же подробно, как happy path.
Частые ошибки
Описывают только happy path и забывают про timeouts, 5xx, частичные ответы.
Не фиксируют идентификаторы и контракты — каждый раз согласовывают заново.
Дополнительные вопросы
Чем sequence-диаграмма помогает в описании интеграции?
Как описать обратную совместимость API?
Что такое impact-анализ и когда его применять?
Middle
Impact-анализ — оценка последствий предлагаемого изменения: какие требования, модули, интеграции, данные, процессы и пользователи будут затронуты. Дополняется оценкой трудозатрат и рисков.
Применяю при любом изменении требования или scope, при обновлении интеграции, при изменении регуляторных правил. Без него сроки и риски — гадание.
Из практики: качественный impact-анализ невозможен без traceability matrix. С ней — 30 минут. Без — неделя ручного поиска зависимостей.
Частые ошибки
Сводят impact-анализ к оценке часов разработки и забывают про данные/процессы.
Делают impact-анализ post-factum, когда уже начали кодить.
Дополнительные вопросы
Какие инструменты автоматизируют impact-анализ?
Как привлекаешь команду к impact-оценке?
Какие нотации моделирования ты знаешь и для чего применяешь каждую?
Junior
BPMN — бизнес-процессы. UML — модели ПО (структура, поведение, взаимодействие). ER/IDEF1X — модели данных. DFD — потоки данных. C4 — архитектура. ArchiMate — корпоративная архитектура.
Выбор нотации зависит от аудитории. BPMN читает бизнес, UML Sequence — разработчики, C4 — архитекторы и менеджеры. Нет «самой правильной» нотации.
Из практики: на одном проекте редко обходится одной нотацией. AS-IS процесса — BPMN, интеграция — Sequence, данные — ERD.
Частые ошибки
Используют UML Activity для бизнес-процесса там, где нужен BPMN — теряют swimlanes.
Смешивают нотации внутри одной диаграммы.
Дополнительные вопросы
Какие инструменты используешь для рисования (draw.io, Visio, Enterprise Architect)?
Минимально достаточный набор для 80% диаграмм: Start/End event, Task, Gateway (XOR/AND), Sequence Flow, Lane. Этого хватает, чтобы описать большинство бизнес-процессов читаемо.
Из практики: чем больше уникальных типов значков на диаграмме, тем меньше людей её поймут. Лучше повторно использовать базовые.
Частые ошибки
Тащат на диаграмму все 100+ значков BPMN — бизнес перестаёт понимать.
Смешивают sequence flow и message flow.
Дополнительные вопросы
Какая разница между sequence flow и message flow?
Что такое подпроцесс (Sub-Process)?
Какие типы шлюзов есть в BPMN (XOR, AND, OR, Event-based, Complex)?
Middle
XOR (exclusive) — ровно одна ветка по условию. AND (parallel) — все ветки параллельно и схождение ждёт все. OR (inclusive) — одна или несколько веток по условиям, схождение ждёт активированные. Event-based — выбор по первому пришедшему событию (таймер/сообщение). Complex — нестандартные условия.
Самые используемые — XOR и AND. OR-схождение коварно: разработчику нужно реализовать «дождись только активированных», что не всегда тривиально.
Из практики: 90% бизнес-логики покрывается XOR и AND. Event-based удобен для моделирования таймаутов («ждём ответа клиента 24 часа, иначе...»).
Частые ошибки
Используют OR, когда хватило бы XOR, и усложняют диаграмму.
Забывают, что AND-схождение блокирует поток, пока не придут все ветки.
Дополнительные вопросы
Что произойдёт, если не все ветки AND-разветвления активированы?
Когда оправдан Complex Gateway?
Какие виды событий в BPMN (стартовые, промежуточные, завершающие; по типу триггера)?
Middle
По позиции: Start (тонкая граница), Intermediate (двойная граница), End (толстая граница). По типу триггера: None, Message, Timer, Signal, Error, Conditional, Compensation, Escalation, Cancel, Terminate, Link.
Промежуточные события бывают двух поведений: catching (ловит) и throwing (бросает). Например, Intermediate Message Throwing отправляет сообщение, Catching — ждёт.
Из практики: Terminate End — единственный способ принудительно остановить весь процесс. Обычный End завершает только свою ветку.
Частые ошибки
Используют обычный End там, где нужен Terminate End — параллельные ветки продолжают работать.
Путают catching и throwing у промежуточных событий.
Дополнительные вопросы
В чём разница между Error и Escalation?
Зачем нужно Boundary Event?
В чём разница между Pool и Lane в BPMN?
Junior
Pool — отдельный участник процесса (организация, система, внешний сервис). Pool'ы общаются только через message flow, не sequence flow.
Lane — подразделение внутри Pool: отдел, роль, система-компонент. Внутри Pool связи идут sequence flow.
Из практики: правило «один Pool — один процесс». Если у вас 5 Pool'ов с равноправными процессами, скорее всего нужно разделить на 5 диаграмм с явной интеграцией.
Частые ошибки
Соединяют разные Pool'ы sequence flow вместо message flow.
Делают Pool вместо Lane для отдела внутри одной организации.
Дополнительные вопросы
Можно ли пересекать Lane линиями потока?
Что такое Black-Box Pool?
Какие виды диаграмм есть в UML? На какие категории они делятся?
Junior
Две категории: структурные (Class, Object, Component, Composite Structure, Package, Deployment, Profile) и поведенческие (Use Case, Activity, State Machine, Sequence, Communication, Timing, Interaction Overview).
Самые ходовые: Class (модель домена), Sequence (взаимодействие во времени), State Machine (поведение объекта), Use Case (функциональные требования верхнего уровня), Activity (процесс/алгоритм).
Из практики: в Agile-проектах UML используют выборочно — обычно Sequence для интеграций и Class для домена. Полный набор UML — это редкая практика крупных регулируемых проектов.
Частые ошибки
Учат «всю UML» и не используют её на практике.
Путают Class Diagram с ER-моделью.
Дополнительные вопросы
Чем Communication отличается от Sequence?
Когда полезна Deployment Diagram?
Что такое Use Case-диаграмма? Назови её элементы.
Junior
Use Case Diagram — диаграмма поведения, показывающая, какие сценарии система выполняет для разных типов пользователей. Высокоуровневый взгляд на функциональность.
Элементы: акторы (человек/система/таймер), use cases (овалы), системные границы (прямоугольник), отношения (association, include, extend, generalization).
Из практики: ценность не в самой диаграмме, а в обсуждении при её создании. После согласования use cases раскрываются в текстовые спецификации или user stories.
Частые ошибки
Рисуют сценарии вместо вариантов использования (use case ≠ один клик).
Делают use case на каждую кнопку — теряют верхний уровень.
Дополнительные вопросы
Чем актор отличается от пользователя?
Как часто пересматриваешь use case-диаграмму?
В чём разница между <<include>> и <<extend>> в Use Case-диаграмме?
Middle
<<include>> — базовый use case ВСЕГДА включает другой. «Оформить заказ» include «Аутентификация» — без аутентификации заказ не оформляется. Стрелка идёт от базового к включаемому.
<<extend>> — расширяющий use case ИНОГДА добавляется к базовому по условию. «Оформить заказ» extend «Применить промокод» — промокод опционален. Стрелка идёт от расширяющего к базовому (с extension point).
Из практики: путают чаще всего направление стрелки. Запоминание: include — «нужен», стрелка показывает, что нужно; extend — «дополняет», стрелка указывает, кого дополняет.
Частые ошибки
Путают направление стрелок.
Используют <<extend>> там, где нужен альтернативный поток внутри одного use case.
Дополнительные вопросы
Чем include отличается от generalization?
Можно ли обойтись без include/extend?
Какие фреймы (combined fragments) есть в Sequence-диаграмме?
Middle
alt — альтернатива (if/else); opt — опционально (выполняется при условии); loop — цикл; par — параллельные ветки; ref — ссылка на другую диаграмму; break — выход из цикла; critical — атомарная секция; neg — недопустимое поведение.
Самые ходовые — alt, opt, loop, par, ref. Остальные нужны редко и часто заменяются обычным текстовым комментарием.
Из практики: чрезмерное вложение alt/loop делает Sequence нечитаемой. Если глубина > 2, лучше разбить на несколько диаграмм через ref.
Частые ошибки
Используют alt с одной веткой вместо opt.
Перегружают одну Sequence-диаграмму всеми сценариями сразу.
Дополнительные вопросы
В чём разница между sync и async message?
Когда оправдан critical?
Что такое State Machine Diagram и когда её использовать?
Middle
State Machine — диаграмма, описывающая жизненный цикл объекта: возможные состояния и переходы между ними по событиям с условиями (guards) и действиями (actions).
Использую, когда у сущности есть явные состояния с правилами переходов: заказ (создан → оплачен → отгружен → доставлен), заявка, документ, тикет. Сразу видны «дыры» и недопустимые переходы.
Из практики: state machine — лучший союзник тестировщика. Каждый переход = тест-кейс, каждое запрещённое сочетание = негативный тест.
Частые ошибки
Рисуют только успешный путь и забывают про cancel/reject/timeout.
Смешивают состояние и действие на переходе.
Дополнительные вопросы
Чем композитные состояния полезны?
В чём разница между state и activity?
Что такое Activity Diagram? Чем отличается от BPMN?
Middle
Activity Diagram (UML) — поведенческая диаграмма для описания потока действий: активности, решения, разделение/слияние потоков, swimlane'ы. Похожа на BPMN, но из мира UML.
Отличия от BPMN: BPMN богаче на типы событий и шлюзов, заточен под бизнес и стандарт OMG. Activity — общая нотация UML, проще, но менее выразительна для бизнес-процессов с межсистемными взаимодействиями.
Из практики: бизнес-процесс — BPMN. Алгоритм внутри одного компонента — Activity. Не наоборот.
Частые ошибки
Используют Activity для межсистемных процессов вместо BPMN.
Считают, что Activity и BPMN — взаимозаменяемы.
Дополнительные вопросы
Что такое action node и control node?
Какие swimlane'ы в UML Activity?
В чём разница между Class Diagram и ER-диаграммой?
Middle
Class Diagram (UML) — модель объектов кода: классы, методы, поведение, наследование, полиморфизм. Описывает «как живёт» предметная область в коде.
ER-диаграмма — модель данных в БД: сущности, атрибуты, связи (1:1, 1:N, N:M), ключи. Не описывает поведение и наследование.
Из практики: Class и ER часто похожи на уровне сущностей, но разные по содержанию. У класса есть поведение и наследование; у entity — атрибуты и связи. Поэтому Class для домена, ER для физической модели БД.
Частые ошибки
Рисуют ER и называют его моделью домена.
Тянут наследование в ER (хотя есть способы — но это редкая практика).
Дополнительные вопросы
Что такое логическая и физическая модели данных?
Чем IDEF1X отличается от классической ER?
Что такое DFD (Data Flow Diagram)?
Junior
DFD — диаграмма потоков данных: показывает, как данные движутся между процессами, хранилищами и внешними сущностями. Не описывает время и порядок.
Элементы: внешние сущности (квадрат), процессы (круг/прямоугольник со скруглением), хранилища (две линии), потоки данных (стрелки с подписями).
Из практики: DFD удобна для верхнего уровня архитектуры данных — понять, что куда течёт. Для логики порядка операций — нужна BPMN или Sequence.
Частые ошибки
Тащат на DFD управление и логику — это не её задача.
Не подписывают стрелки — диаграмма становится бесполезной.
Дополнительные вопросы
Чем DFD отличается от BPMN?
Что такое декомпозиция DFD по уровням (0, 1, 2)?
Что такое C4-модель архитектуры?
Middle
C4 (Simon Brown) — модель архитектуры на 4 уровнях абстракции: Context (система и её соседи), Container (приложения, БД, сервисы внутри системы), Component (модули внутри контейнера), Code (классы и связи).
На практике обычно делают только первые два уровня — Context и Container. Component нужен редко, Code почти никогда (его уже даёт IDE).
Из практики: C4 хорош тем, что одни и те же блоки на разных уровнях, у разной аудитории. Спонсору — Context, разработчику — Container/Component.
Частые ошибки
Делают все 4 уровня для маленького проекта — overkill.
Смешивают уровни на одной диаграмме.
Дополнительные вопросы
Какие инструменты для C4 (Structurizr, draw.io, PlantUML)?
Как C4 сочетается с ArchiMate?
Что такое ArchiMate и для чего применяется?
Middle
ArchiMate — стандарт нотации для описания корпоративной архитектуры (Enterprise Architecture) в 3 слоях: Business (процессы/роли), Application (приложения/сервисы), Technology (инфраструктура). Есть расширения Motivation, Strategy, Physical.
Применяется на уровне всей организации, когда нужно увязать стратегию, процессы, приложения и инфраструктуру. Один из ключевых инструментов TOGAF.
Из практики: ArchiMate избыточен для одного продукта. Это инструмент архитектора предприятия, не разработчика.
Частые ошибки
Используют ArchiMate для одной системы — теряют его ценность.
Смешивают слои Business/Application без явной мотивации.
Маппинг данных — описание соответствия полей между двумя структурами: источник (например, исходная система или внешний контракт) и приёмник (БД целевой системы). Включает имена полей, типы, преобразования, обработку отсутствующих/невалидных значений.
Формат: таблица «поле источника → поле приёмника → правило преобразования → пример → обработка ошибки». На крупных интеграциях это отдельный артефакт.
Из практики: 80% багов на интеграции — в маппинге, особенно в преобразованиях форматов (даты, валюты, пробелы).
Частые ошибки
Описывают только «обычные» поля и пропускают опциональные.
Не описывают, что делать при NULL, пустой строке, неизвестном значении enum.
Инициация — формулировка цели, бизнес-кейс, scope. Анализ — выявление требований, моделирование, ТЗ. Проектирование — участие в архитектуре, контракты API, схема данных. Разработка — поддержка команды, уточнения, мини-демо. Тестирование — приёмка с бизнесом, поддержка QA. Внедрение — обучение, миграция, готовность данных. Эксплуатация — анализ инцидентов, изменения, развитие.
Аналитик — «переводчик» между бизнесом и командой на всех этапах, а не «исчезает» после ТЗ.
Из практики: главный антипаттерн — «написал ТЗ и ушёл». Хороший аналитик присутствует на всех этапах, иначе требования теряют контакт с реальностью.
Частые ошибки
Считают, что роль аналитика — только до начала разработки.
Не участвуют во внедрении — миграция данных идёт без подготовки.
Дополнительные вопросы
На каких этапах роль аналитика максимально критична?
Что значит «product analyst» vs «system analyst»?
На каких этапах аналитик — основной игрок, а на каких опционален?
Middle
Основной игрок: выявление и формализация требований, моделирование процессов, описание интеграций, приёмка с бизнесом, импакт-анализ изменений. Без аналитика эти этапы либо не делаются, либо делаются плохо.
Опционален / поддерживающая роль: дизайн UI, кодирование, написание тестов, инфраструктура, эксплуатация. Здесь аналитик помогает контекстом и решениями, но не ведёт работу.
Из практики: в маленькой команде аналитик закрывает и продуктовые, и проектные роли. В больших — фокусируется на «своей» части и выходит из чужих.
Частые ошибки
Аналитик «лезет везде» и становится бутылочным горлышком.
Уходит после ТЗ и теряет контекст реализации.
Дополнительные вопросы
Чем product analyst отличается от business analyst?
Когда лидером становится PM, а когда BA?
Как аналитик взаимодействует с тестировщиками? С разработчиками? С дизайнерами?
Middle
С тестировщиками — общий язык AC и пограничных случаев. Аналитик пишет проверяемые AC, QA — тест-кейсы. Ревью требований до начала разработки помогает поймать «дыры» до кода.
С разработчиками — обсуждение реализуемости, trade-offs, контрактов API. Аналитик уточняет домен, разработчик предлагает технические варианты. Совместное ревью спецификаций.
Из практики: с дизайнерами аналитик согласует логику и состояния (валидации, ошибки, пустые состояния). Дизайнер делает форму, аналитик — поведение. Без совместной работы получается «красивая нерабочая форма».
Частые ошибки
Передают артефакты «через стену» без обсуждения.
Делают всё в одиночку и не пользуются экспертизой других ролей.
Дополнительные вопросы
Что такое three amigos (PO, Dev, QA)?
Как организуешь регулярные синки с командой?
Как ты декомпозируешь и оцениваешь задачи?
Middle
Декомпозиция: сверху вниз — от бизнес-задачи к функциональным блокам, дальше к user stories с AC. Каждая story помещается в спринт. Сплит — по сценариям/вертикалям, не по слоям.
Оценка: для крупных инициатив — t-shirt size (S/M/L/XL) или story-points с эталоном. Для конкретных задач в спринте — planning poker. Я как аналитик не ставлю оценку команде, но помогаю формулировать так, чтобы её можно было оценить.
Из практики: главное в декомпозиции — каждая задача должна быть проверяемой и приносить пользу. «Завести модель в БД» — не задача, «реализовать поиск клиента по фамилии» — да.
Частые ошибки
Сплитят по техническим слоям («бэк», «фронт») — каждая половина бесполезна.
Делают задачи на месяц — теряют видимость прогресса.
Дополнительные вопросы
Какие техники сплита знаешь (SPIDR, по сценариям)?
Как считаешь crew velocity?
Как аналитик оценивает сроки реализации задачи?
Middle
Я не оцениваю реализацию вместо команды разработки. Моя оценка — это сроки аналитической части (выявление, документирование, согласование) и поддержки внедрения.
Для общей оценки задачи провожу с командой совместный разбор: декомпозиция, обсуждение рисков, planning poker для крупных кусков. Свожу к диапазону «оптимистично — реалистично — пессимистично».
Из практики: чем больше неизвестных — тем шире диапазон. Если разница опт/песс «в 5 раз» — значит, нужно сначала прояснить, а не оценивать.
Частые ошибки
Дают «одну точку» оценки и обещают её бизнесу.
Оценивают за разработчика и обещают сроки, на которые он не подписывался.
Дополнительные вопросы
Что такое cone of uncertainty?
Как защищаешь оценку перед бизнесом?
Кто такой хороший аналитик, по твоему мнению?
Middle
Хороший аналитик умеет три вещи одновременно: понять бизнес (контекст, цели, ограничения), описать решение понятно для команды (структура, артефакты, AC), и держать связь между ними.
Технически — знает домен, умеет моделировать, работает с данными и интеграциями. По soft-skills — слушает больше, чем говорит; задаёт правильные вопросы; не боится сказать «не знаю» и пойти разобраться.
Из практики: лучшие аналитики — не «писатели ТЗ», а «переводчики». Они переводят бизнес в технику и обратно, и команда им доверяет в обе стороны.
Частые ошибки
Описывают только hard skills и забывают soft.
Дают общие фразы без примеров.
Дополнительные вопросы
Что важнее — hard или soft skills?
Какие книги/ресурсы посоветуешь?
Чем должен заниматься системный аналитик, а чем не должен?
Middle
Должен: выявление и формализация требований, моделирование процессов и данных, описание интеграций и контрактов, работа с НФТ, импакт-анализ изменений, поддержка команды разработки и QA контекстом.
Не должен: писать код в продакшен, ставить задачи команде (это PO/PM), писать тест-кейсы (это QA), рисовать UI-дизайн (это дизайнер), управлять командой (это team lead).
Из практики: размытие ролей в маленьких командах часто превращает аналитика в «delivery manager». Это работает временно, но в долгую — путь к выгоранию.
Частые ошибки
Берут на себя задачи PO и теряют фокус анализа.
Считают «писать код» обязательным — не во всех проектах это нужно.