— Нужно добавить кнопку «Отменить заказ». Там ничего сложного.
Фраза, после которой системный аналитик обычно понимает, что простого как раз ничего не будет.
Допустим, у нас маркетплейс.
Пользователь оформил заказ и теперь хочет иметь возможность его отменить.
На первый взгляд задача выглядит так:
Заказ → нажали «Отменить» → заказ отменён.
Можно расходиться.
Но потом начинаются вопросы.
А если заказ уже передали в доставку? А если товар уже списан со склада? А если пользователь оплатил заказ картой — когда возвращаем деньги? А если в заказе несколько товаров и отменить нужно только один? А если пользователь два раза нажал на кнопку? А если Payment подтвердил возврат, а Order Service упал? А продавец может запретить отмену?
И вот «добавить кнопку» постепенно превращается в несколько сервисов, статусы, интеграции и пачку пограничных сценариев.
Давайте разберём этот кейс на неделе.
Начнём с самого важного.
Представьте, что такую задачу вам принёс продакт. Какие 3 вопроса вы зададите ему первыми?
Пишите в комментариях. Завтра соберу свой список вопросов, которые я бы уточнил до того, как вообще начинать рисовать схемы и проектировать API.
Фраза, после которой системный аналитик обычно понимает, что простого как раз ничего не будет.
Допустим, у нас маркетплейс.
Пользователь оформил заказ и теперь хочет иметь возможность его отменить.
На первый взгляд задача выглядит так:
Заказ → нажали «Отменить» → заказ отменён.
Можно расходиться.
Но потом начинаются вопросы.
А если заказ уже передали в доставку? А если товар уже списан со склада? А если пользователь оплатил заказ картой — когда возвращаем деньги? А если в заказе несколько товаров и отменить нужно только один? А если пользователь два раза нажал на кнопку? А если Payment подтвердил возврат, а Order Service упал? А продавец может запретить отмену?
И вот «добавить кнопку» постепенно превращается в несколько сервисов, статусы, интеграции и пачку пограничных сценариев.
Давайте разберём этот кейс на неделе.
Начнём с самого важного.
Представьте, что такую задачу вам принёс продакт. Какие 3 вопроса вы зададите ему первыми?
Пишите в комментариях. Завтра соберу свой список вопросов, которые я бы уточнил до того, как вообще начинать рисовать схемы и проектировать API.