Заметил, что многим интересны разборы вопросов с собеседований. Сделаю такие разборы постоянной рубрикой, если этот пост наберет много реакцией.
Вопрос: Объясни разницу между use case и user story
На нём часто сыпятся даже те, кто уже поработал аналитиком, потому что звучит похоже, но это вообще не одно и то же.
🙅♂️ Как не стоит отвечать:
Ну... use case и user story — это одно и то же, просто в разной форме... В целом оба описывают сценарий пользователя, так что разницы особо нет
Или еще хуже будет, если скажете, что use case — это такая user story, но просто чуть подробнее
Это сразу покажет, что ты не особо и вникал. Хотя они оба про взаимодействие пользователя и системы, но цели, формат и глубина у них разные.
🤨 Что хочет услышать интервьюер?
• Понимаешь ли ты уровни детализации требований
• Умеешь ли переводить хотелку в технический сценарий
• Понимаешь ли, где и когда применять оба подхода
• Зрелость: ты не просто писака текста, а тот, кто знает, зачем и как ты это делаешь
😙 Как лучше отвечать на собесе:
User Story — это про пользовательскую потребность, где мы описываем фичу с точки зрения пользователя:
«Как [роль], я хочу [цель], чтобы [ценность]».
Лаконично, ясно, понятно бизнесу и пользователю. Такие истории легко обсуждать, они гибкие и делятся по спринтам.
Use Case — это про поведение системы при взаимодействии с пользователем.
Более формальный шаблон: акторы, предпосылки, шаги, альтернативы, постусловия. Это подробный сценарий, который позволяет разработчику и QA понимать, как будет функционировать система в реальных сценариях. Особенно это важно, когда есть исключения, интеграции, варианты потерь и ошибок.
Навсегда запоминаем, что user story отвечает на вопрос «Зачем?». А use case отвечает на вопрос «Что и как именно будет делать система».
Приведу пример:
🧾User Story:
Как клиент, я хочу просмотреть баланс карты через банкомат, чтобы быстро понять, сколько у меня доступно средств.
📚Use Case (упрощённый):
Актор: Клиент (держатель карты) — основной; Банкомат — вторичный (система).
Предусловия: Клиент имеет действующую банковскую карту; банкомат подключен к банковской системе.
Основной сценарий:
1. Клиент вставляет карту в банкомат и вводит PIN-код.
2. Система (Банкомат) считывает данные карты и проверяет корректность ПИН-кода.
3. Клиент выбирает опцию "Проверить баланс".
4. Система запрашивает текущий остаток по счету клиента в системе.
5. Система отображает баланс на экране.
6. Клиент завершается сеанс и забирает карту.
7. Система завершает обслуживание, возвращается в исходное состояние ожидания клиента.
Альтернативы: неверный PIN, сервер недоступен, баланс недоступен
Когда я сам еще проходил собесы, всегда начинал с user story (чтобы зафиксировать бизнес-ценность). А уже затем превращал её в use case, чтобы выявить непонятные точки, исключения и конфликтные сценарии. Хороший use case часто рождает следующие user story, когда мы уточняем детали.
Жду ваших ❤️🔥 если хотите, чтобы я продолжил разбирать вопросы с собесов
