Основной и альтернативные потоки

Тема дорожной карты · Business Analysis

Основной поток (или 'happy path', 'basic flow') — это последовательность взаимодействий, когда все действия выполняются корректно и система работает без сбоев. Альтернативные потоки описывают различные вариации основного потока, такие как обслуживание VIP-клиентов или ускоренная доставка. Исключение потоки, в свою очередь, описывают ситуации, когда система сталкивается с ошибками или отказами, такими как отклонение платежа или отсутствие товара на складе. Важно отметить, что большинство production-багов скрыто именно в альтернативных и исключительных потоках, так как основной поток обычно тестируется достаточно тщательно.

Как это работает

Для описания основного потока необходимо нумеровать каждый шаг: 1, 2, 3 и так далее. Это позволяет точно следовать за каждым шагом и упрощает понимание логики работы системы. Для каждого альтернативного потока нужно ответвиться от соответствующего шага основного потока. Например, если шаг 2 основного потока описывает стандартную процедуру оплаты, то альтернативный поток может быть указан как '2a: клиент — VIP, система применяет скидку перед продолжением на шаг 3'. Для исключительных потоков используется другая конвенция, например, 'E2: сервис платежей недоступен, система кладёт заказ в очередь и уведомляет пользователя'. Такая нумерация и конвенции позволяют четко и ясно представить все возможные варианты работы системы.

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

Основной поток следует описывать первым, затем следует описывать альтернативные потоки от наиболее частых вариаций к редким. Исключительные потоки также следует описывать от высокоточных отказов к низкоточным. Важно охватить примерно топ 5-10 альтернативных или исключительных потоков на каждом use case, так как дальнейшее расширение списка потоков приведёт к снижению полезности документации. Вместо того, чтобы описывать крайне редкие случаи в use cases, их можно адресовать в операционных runbooks.

Типичные ошибки

  1. Оставление исключительных потоков пустыми — это приводит к тому, что спецификация системы не учитывает возможные ошибки и отказы, что в свою очередь может привести к под-реализации системы.
  2. Хаос нумерации — отсутствие нумерации шагов или использование случайных меток для альтернативных потоков затрудняет однозначное ссылание на конкретные шаги или потоки.
  3. Путаница альтернативных и исключительных потоков — смешение альтернативных потоков, таких как обслуживание VIP-клиентов, с исключительными потоками, такими как отклонение платежа, приводит к несогласованной обработке и может привести к неправильной реализации системы.

Связанные понятия

Полезные ресурсы