Работа с требованиями на собеседовании аналитика
Это первый блок почти любого собеса аналитика, и валятся на нём чаще, чем кажется. Спрашивают не классификацию из учебника, а умение разложить кашу из пожеланий заказчика: где цель бизнеса, где поведение системы, а где рамка, которую двигать не вправе никто из команды.
Что спрашивают
- +Уровни: чем бизнес-требование отличается от функционального и почему уровень задаёт предмет высказывания, а не автор
- +НФТ против ограничений: что можно оптимизировать и торговать по цене, а что принимают как данность
- +Проверяемость: почему «система должна быть производительной» нельзя принять и как переписать это тремя частями
- +Сценарии: основной поток, альтернатива и исключение, и чем грозит постусловие, описанное только для успеха
- +Изменения: что такое baseline, как оценить влияние правки по связям и чем уточнение отличается от расползания объёма
Из чего состоит тема
Так тема разложена в тренажёре: движок ведёт прогресс по каждой подтеме отдельно и возвращает те, где вы ошибаетесь.
- Use case и сценарии13
- User story и критерии приёмки13
- Качество требований13
- Виды требований12
- Трассировка и изменения12
Разборы подтем
Конспект по каждой: что это, как отвечать вслух, на чём валятся, плюс вопросы для самопроверки.
- Виды требований12 вопросов
- Качество требований13 вопросов
- Use case и сценарии13 вопросов
- User story и критерии приёмки13 вопросов
- Трассировка и изменения12 вопросов
Примеры вопросов с разбором
- Что означает проверяемость требования?A)Требование согласовано всеми заинтересованными сторонамиB)Требование прошло вычитку у технического писателяC)Требование записано в системе учёта, а не в перепискеD)Есть однозначный способ установить, выполнено ли
показать ответ и разбор
+D)Есть однозначный способ установить, выполнено ли// разбор: Проверяемость означает существование процедуры приёмки: тест, замер, осмотр или демонстрация, результат которой не зависит от мнения проверяющего. Именно это свойство отличает требование от пожелания. Согласование, место хранения и качество текста важны, но они не делают формулировку проверяемой.
- Что показывает матрица трассировки требований?A)Порядок реализации требований по срокамB)Связи требований с целями и тестамиC)Оценку трудоёмкости каждого требованияD)Историю правок текста требования
показать ответ и разбор
+B)Связи требований с целями и тестами// разбор: Матрица отвечает на два вопроса: откуда взялось требование (какая бизнес-цель или документ его породил) и во что оно превратилось (код, тесты, приёмка). Это позволяет быстро оценивать влияние изменений и доказывать полноту покрытия. Сроки, оценки и история правок живут в других инструментах.
- Чем бизнес-требование отличается от функционального?A)Бизнес-требование пишет заказчик, функциональное — разработчикB)Разницы нет, это два названия одного уровняC)Бизнес-требование короче и не попадает в ТЗD)Одно про цель компании, другое про поведение системы
показать ответ и разбор
+D)Одно про цель компании, другое про поведение системы// разбор: Уровни отличаются не автором и не длиной, а предметом. Бизнес-требование фиксирует цель организации («сократить время обработки заявки вдвое»), функциональное — конкретное поведение системы («система рассчитывает срок по тарифу и показывает его в карточке»). Одно бизнес-требование обычно раскрывается в несколько функциональных.
- Кто такой актор в use case?A)Сотрудник заказчика, ведущий проектB)Модуль внутри проектируемой системыC)Конкретный пользователь с именем и учётной записьюD)Роль или внешняя система со своей целью
показать ответ и разбор
+D)Роль или внешняя система со своей целью// разбор: Актор — это роль вне границы системы: человек в определённой функции («кассир») или внешняя система («шлюз оплаты»). Именно роль, а не личность: один человек может выступать в двух ролях, и наоборот. Внутренние модули акторами не бывают — они по другую сторону границы, которую и рисует диаграмма.
- Какая часть user story отвечает за ценность?A)«Как <роль>»B)«Я хочу <действие>»C)«Чтобы <результат>»D)Заголовок карточки
показать ответ и разбор
+C)«Чтобы <результат>»// разбор: Третья часть отвечает на вопрос «зачем» и часто оказывается единственной по-настоящему полезной. Она позволяет обсудить альтернативные решения: если цель — «быстрее находить заказ», то поиск может оказаться дешевле и лучше, чем выгрузка в файл, которую просил заказчик. Без неё история превращается в наряд на работу.
- Требование атомарно, если…A)оно занимает не больше одного предложенияB)его реализует один разработчикC)оно содержит одно проверяемое утверждениеD)оно относится к одному экрану интерфейса
показать ответ и разбор
+C)оно содержит одно проверяемое утверждение// разбор: Атомарность — про единственность утверждения, а не про объём текста или зону ответственности. Требование «система отправляет письмо и SMS» неатомарно: письмо может работать, а SMS нет, и статус выполнения становится неопределённым. Разделение на два требования даёт независимую приёмку и честную трассировку.
- Что такое базовая версия (baseline) набора требований?A)Первый черновик, написанный аналитикомB)Требования с наивысшим приоритетомC)Набор требований, реализованных в текущем релизеD)Согласованный срез, правки только по процедуре
показать ответ и разбор
+D)Согласованный срез, правки только по процедуре// разбор: Baseline — точка отсчёта: с этого момента набор считается согласованным, и любая правка проходит через управление изменениями с оценкой влияния. Без базовой версии невозможно отличить уточнение от расширения объёма, и спор «мы так не договаривались» становится неразрешимым.
- Какое из требований — нефункциональное?A)Пользователь может отменить заказ до передачи в доставкуB)Система отправляет клиенту письмо при смене статусаC)Страница каталога отвечает за 300 мс на 95-м перцентилеD)Менеджер видит список заявок за выбранный период
показать ответ и разбор
+C)Страница каталога отвечает за 300 мс на 95-м перцентиле// разбор: Функциональное требование отвечает на вопрос «что система делает», нефункциональное — «насколько хорошо она это делает»: скорость, доступность, безопасность, совместимость. Время отклика с указанием перцентиля — классическое НФТ производительности, потому что описывает качество работы уже существующей функции, а не новое поведение.
- Что фиксирует предусловие use case?A)Что должно быть истинно до старта сценарияB)Первый шаг, который делает акторC)Результат, ожидаемый после завершенияD)Список ошибок, возможных в сценарии
показать ответ и разбор
+A)Что должно быть истинно до старта сценария// разбор: Предусловие — состояние мира, которое сценарий не проверяет, а принимает как данность: «пользователь авторизован», «в корзине есть товар». Оно экономит шаги и убирает бесконечные ветвления. Если условие на деле может нарушаться и это важно обработать — его место не в предусловии, а в альтернативном потоке.
это 9 из 63
Ещё 54 вопросов по теме — в тренажёре, с движком повторения
Прочитать разбор и ответить самому — разные навыки. В Сеньорчике вопросы идут сессиями, а движок возвращает подтемы, где вы ошибаетесь, пока они не начнут отскакивать. Бесплатно, лимит по энергии.
Частые вопросы
Что чаще всего спрашивают про требования?
Дают формулировку и просят найти в ней дефект. Это рабочий рефлекс, а не память: обычно там непроверяемость, слово-резинка вроде «современный» или конструкция «и/или», за которой прячется нерешённая развилка.
Чем ограничение отличается от нефункционального требования?
НФТ это измеримая характеристика, и способ её достижения остаётся за командой. Ограничение отнимает свободу выбора: только СУБД из реестра, только существующая шина. Его не оптимизируют, его оспаривают у того, кто наложил.