Техники Руководство BABOK v3, 10.24

Анализ интерфейсов

Коротко Анализ интерфейсов (interface analysis) находит все точки, где решение обменивается информацией с чем-то ещё — человеком, другим процессом, другой системой или устройством, — и определяет, что передаётся, в каком направлении, когда и по каким правилам. Он проясняет границу решения и вскрывает требования, которые легко упустить вплоть до интеграционного тестирования.

По материалам: IIBA, Руководство BABOK® v3, техника 10.24 «Анализ интерфейсов»; Watermark Learning, BABOK v3 Study Tables (2016), техника 10.24; D. Gobov, I. Huchenko, State of Business Analysis in Ukraine 2020.

На этой странице

Что это#

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

Список типов интерфейсов в Руководстве BABOK шире, чем «интеграции систем»:

  • пользовательские интерфейсы, через которые люди взаимодействуют с решением;
  • люди вне решения, например заинтересованные стороны, которые получают отчёты или сообщения;
  • бизнес-процессы, которые передают работу решению или получают её от него;
  • интерфейсы данных между системами;
  • программные интерфейсы (API);
  • аппаратные устройства.

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

Техника применяется широко. В опросе бизнес-аналитиков Украины 2020 года Гобов и Гученко (Gobov, Huchenko) обнаружили, что анализ интерфейсов входит в число самых распространённых техник выявления (elicitation), уступая только интервью и анализу документов.

Когда применять#

Руководство BABOK применяет технику в задачах «Проведение выявления», «Оценка изменений требований» (поиск интерфейсов, которые затрагивает изменение) и «Спецификация и моделирование требований» (определение и валидация входов и выходов решения). Применяйте её, когда:

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

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

Как это делать#

  1. Проведите границу. Начните с контекстной диаграммы или модели границ и перечислите все внешние стороны.
  2. Найдите интерфейсы по типам: пользователи, внешние люди, процессы, системы, API, устройства. Спросите каждую заинтересованную сторону: «Что вы отправляете, получаете или просматриваете?»
  3. Назначьте ответственных с обеих сторон каждого интерфейса.
  4. Опишите каждый интерфейс: назначение, направление, триггер и частота, содержание (со ссылкой на словарь данных), объём, формат или канал, правила проверки, обработка ошибок, безопасность и уровни сервиса.
  5. Проверьте содержание, проведя реальный случай через интерфейс от начала до конца.
  6. Зафиксируйте зависимости и риски: что, если другая сторона недоступна, опаздывает или меняет формат?
  7. Согласуйте описания с ответственными с обеих сторон, утвердите их базовую версию и держите под управлением изменениями.
  8. Используйте перечень повторно для анализа влияния при каждом новом запросе на изменение.

Пример#

«Мастерская» (вымышленная сеть веломастерских) перечисляет интерфейсы планируемой системы записи и ремонта:

ID Интерфейс Тип Направление Содержание Триггер / частота Ответственный (другая сторона) Открытые вопросы
I-01 Страницы онлайн-записи Пользовательский интерфейс От клиента к системе Запрос на бронь По запросу Владелец продукта Сначала мобильная версия?
I-02 Шлюз сообщений Система От системы к клиенту Подтверждение брони, сообщения о статусе При смене статуса Сервис рассылки сообщений Отчёты о доставке? Стоимость одного сообщения?
I-03 Заказ у поставщика запчастей Система или процесс В обе стороны Заказ запчастей, накладная Ежедневно до крайнего срока приёма заказов у поставщика Поставщик запчастей API, файл или портал?
I-04 Планшет в мастерской Пользовательский интерфейс От механика к системе Ход ремонта, нужные запчасти Во время ремонта Управляющие мастерскими Работает без сети?
I-05 Платёжный терминал Устройство В обе стороны Сумма платежа, результат При выдаче Платёжный провайдер Нужна интеграция или хватит ручного ввода?
I-06 Выгрузка в бухгалтерию Интерфейс данных От системы в бухгалтерию Сводка продаж за день Каждую ночь Бухгалтер Формат и время закрытия дня

Подробное описание I-03 вскрывает требование, которое никто не формулировал: поставщик отправляет запчасти на следующий день, только если заказ пришёл до определённого часа. Значит, система должна собирать заказы запчастей в пакеты и предупреждать механиков, когда этот час приближается. I-05 ставит перед владельцем вопрос о границах: интегрироваться с платёжным терминалом сейчас или в первом релизе оставить ручной ввод.

Частые ошибки#

  • В списке только связи между системами → включайте пользователей, внешних людей, процессы и устройства.
  • Интерфейсы находят поздно → составляйте перечень на раннем этапе выявления, а не во время интеграционного тестирования.
  • Нет ответственного на другой стороне → договоритесь о конкретном контактном лице, прежде чем описывать содержание.
  • Описан только «счастливый путь» → опишите ошибки, повторные попытки, тайм-ауты и то, что происходит, когда другая сторона недоступна.
  • Объёмы и сроки не учтены → фиксируйте частоту, пики и крайние сроки: от них зависят дизайн и стоимость.
  • Проектирование чужой системы → определяйте, что пересекает границу, а не то, как другая сторона устроена внутри.

Чек-лист#

  • Граница решения и все внешние стороны определены.
  • У каждого интерфейса есть тип, направление и назначение.
  • Ответственные назначены с обеих сторон.
  • Содержание определено и связано со словарём данных.
  • Триггеры, частота, объём и сроки зафиксированы.
  • Обработка ошибок, безопасность и уровни сервиса описаны.
  • Описания согласованы и находятся под управлением изменениями.

Источники и что почитать#

  • IIBA. A Guide to the Business Analysis Body of Knowledge (BABOK® Guide), version 3. International Institute of Business Analysis, 2015. Рус. изд.: Руководство к своду знаний по бизнес-анализу (Руководство BABOK®), версия 3.0. Техника 10.24 «Анализ интерфейсов».
  • Watermark Learning. BABOK v3 Study Tables. 2016 (учебное пособие к Руководству BABOK). Техника 10.24.
  • D. Gobov, I. Huchenko. State of Business Analysis in Ukraine 2020. DataArt, 2020.