Введение
Истории пользователей являются фундаментальным инструментом в гибкой разработке программного обеспечения, выступающим средством для фиксации и передачи требований к проекту. При создании историй пользователей важно, чтобы они были ясными, краткими и выполнимыми. Одним из подходов, способствующих достижению этой ясности, является рамочная модель SMART. SMART означает конкретность, измеримость, достижимость, релевантность и ограниченность по времени, и она предоставляет структурированный метод формулирования историй пользователей, повышающий вероятность успеха проекта. В этой статье мы подробно рассмотрим критерии SMART и проиллюстрируем их применение на примерах описаний проблем.

Понимание критериев SMART
Модель SMART предлагает набор критериев, которые помогают обеспечить чёткое определение историй пользователей и их соответствие целям проекта. Давайте рассмотрим каждый компонент SMART:
- Конкретность: Конкретная история пользователя должна быть детализированной и однозначной. Она должна отвечать на вопросы: Кто пользователь? Что ему нужно? Зачем ему это нужно?
- Измеримость: Измеримая история пользователя должна предоставлять чёткий способ определения её завершения. Часто это предполагает установление критериев, которые можно объективно оценить.
- Достижимость: Достижимая история пользователя должна быть реалистичной в рамках ограничений проекта. Она должна учитывать доступные ресурсы, время и технические возможности.
- Релевантность: Релевантная история пользователя должна способствовать достижению целей проекта. Она должна соответствовать общей концепции и целям, обеспечивая, чтобы работа не тратилась впустую на несущественные функции.
- Ограниченность по времени: История пользователя с ограниченным временем должна иметь чёткий график или дедлайн. Это помогает эффективно планировать и приоритизировать задачи.
Преимущества SMART-историй пользователей
Создание SMART-историй пользователей предоставляет несколько преимуществ в гибкой разработке:
- Чёткость: SMART-истории пользователей абсолютно ясны, снижая неоднозначность и недопонимание между членами команды.
- Измеримость: При наличии конкретных и измеримых критериев легче отслеживать прогресс и определять, когда история пользователей завершена.
- Достижимость: Команды могут реально планировать объём работы и устанавливать достижимые цели.
- Релевантность: SMART-истории пользователей обеспечивают, что команда сосредоточена на функциях, напрямую способствующих успеху проекта.
- Управление временем: Чёткие дедлайны способствуют эффективному планированию и приоритизации проекта.
Пример описания проблемы
Рассмотрим вымышленный проект: создание интернет-магазина. Одной из целей проекта является улучшение пользовательского опыта при поиске товаров. Для достижения этой цели команда решает внедрить фильтр поиска, который позволит пользователям уточнять результаты поиска. Вот начальное, нечёткое описание проблемы:
Описание проблемы (без соблюдения критериев SMART): «Как пользователь, я хочу улучшенную функциональность поиска на веб-сайте.»
Описание проблемы не содержит достаточной конкретности и не предоставляет измеримые критерии. Чтобы преобразовать его в SMART-историю пользователя, мы применим каждый компонент SMART.
Пример SMART-истории пользователя
Конкретный
“Как часто совершающий покупки пользователь, я хочу фильтр поиска на странице перечня продуктов веб-сайта, позволяющий мне уточнить результаты поиска по диапазону цен и категории товара, чтобы я мог легко найти и приобрести интересующие меня товары.»
Эта конкретная история пользователя четко определяет пользователя, функцию, которую он хочет, и причину этого.
Измеримый
«Я буду считать эту историю пользователя завершенной, когда смогу фильтровать товары по диапазону цен и категории товара, и результаты поиска будут обновляться мгновенно без необходимости обновления страницы.»
Измеримые критерии точно определяют, что составляет завершенную задачу.
Достижимый
«Команда разработки оценивает, что внедрение этого фильтра поиска займет примерно два спринта с учетом доступных ресурсов и технологической платформы.»
Этот компонент гарантирует, что задача достижима и осуществима в рамках текущих ограничений проекта.
Актуальный
«Эта функция соответствует цели нашего проекта по улучшению пользовательского опыта за счет повышения эффективности и удобства поиска товаров.»
История пользователя подчеркивает актуальность этой функции по отношению к общей цели проекта.
Ограниченный по времени
«Мы стремимся завершить эту историю пользователя в течение следующих двух спринтов, с ожидаемой датой завершения 15 ноября.»
Четко определенный срок помогает в приоритизации и планировании.
SMART-истории пользователей против не-SMART-историй пользователей
В следующей таблице вы можете увидеть четкое различие между SMART- и не-SMART-историями пользователей. SMART-истории пользователей являются конкретными, измеримыми, достижимыми, актуальными и ограниченными по времени, обеспечивая четкие детали и критерии успеха. В то же время не-SMART-истории пользователей не обладают этими важными элементами, что затрудняет понимание потребностей пользователя, измерение прогресса, эффективное планирование ресурсов, согласование с целями проекта и установление четкого срока завершения.
Вот таблица, сравнивающая SMART-истории пользователей с не-SMART-историями пользователей, используя те же примеры:
| Компонент | Пример SMART-истории пользователя | Пример не-SMART-истории пользователя |
|---|---|---|
| Конкретный | Как постоянный покупатель, я хочу иметь фильтр поиска на странице списка товаров веб-сайта, позволяющий уточнить результаты поиска по диапазону цен и категории товаров, чтобы я мог легко найти и приобрести интересующие меня товары. | Как пользователь, я хочу улучшенную функциональность поиска на веб-сайте. |
| Оценяемый | Я считаю, что эта пользовательская история завершена, когда я смогу фильтровать товары по диапазону цен и категории товаров, а результаты поиска обновляются мгновенно без необходимости обновления страницы. | Я хочу, чтобы поисковая система была улучшена. |
| Достижимый | Команда разработки оценивает, что внедрение этого фильтра поиска займет примерно два спринта с учетом доступных ресурсов и технологической платформы. | Нам нужно улучшить поиск, независимо от того, сколько это займет времени. |
| Актуальный | Эта функция соответствует цели нашего проекта по улучшению пользовательского опыта за счет повышения эффективности и удобства поиска товаров. | Давайте добавим фильтр поиска, потому что это сейчас в тренде. |
| Ограниченный по времени | Мы стремимся завершить эту пользовательскую историю в течение следующих двух спринтов, с предполагаемой датой завершения 15 ноября. | Мы должны работать над улучшением поиска, когда сможем. |
Заключение
Применение рамки SMART при создании пользовательских историй значительно повышает эффективность агILE-разработки. Обеспечивая конкретность, измеримость, достижимость, актуальность и ограниченность по времени пользовательских историй, команды могут гарантировать, что их работа соответствует целям проекта и плавно движется к успешному завершению. Помните, что пользовательские истории SMART — это мощный инструмент достижения успеха проекта, по одному четкому и краткому требованию за раз.











