Лев!
Эпик — огромная задача, которую не сделать за одну итерацию: колонизировать Марс, организовать свадьбу, добавить Эпл‑пей на сайт и в мобильное приложение.
Пользовательская история — задача поменьше, которую можно сделать за одну итерацию или быстрее. Формулируются в особом формате: как будущий колонизатор я хочу отправить 5000 тонн панелей на Марс, чтобы собрать из них первую марсианскую базу
Обычно эпики разбивают на пользовательские истории, которые затем дробят на маленькие задачи. Покажу на примере, как сам разбиваю эпики на задачи, и поделюсь статьями по теме.
Эпик — огромная задача, которую не сделать за одну итерацию: колонизировать Марс, организовать свадьбу, добавить Эпл‑пей на сайт и в мобильное приложение.
Пользовательская история — задача поменьше, которую можно сделать за одну итерацию или быстрее. Формулируются в особом формате: как будущий колонизатор я хочу отправить 5000 тонн панелей на Марс, чтобы собрать из них первую марсианскую базу
Ситуация:
В Школе бюро есть первая ступень, которая привязана к набору и проходит два раза в год. На первой ступени студенты изучают лекции, сдают тесты и выполняют задания в течение 16 недель.
Задача — сделать первую ступень круглогодичной: поступить на нее можно будет в любой момент, а не только во время набора. Занятия будут идти 16 недель и начинаться по желанию клиента.
Записываю, роли, которых затронут изменения: клиенты, деканат, преподаватели, бухгалтерия. Разбиваю на задачи, пользовательские истории, отталкиваясь от ролей:
Клиенты
Платят за себя и поступают на первую ступень
Платят за кого‑то и дарят обучение на первой ступени
Платят за себя и поступают на первую ступень по конкурсу
Участвуют в конкурсе на бесплатное место
Начинают занятия в удобное для себя время
Видят учебный план в школьном кабинете с правильными датами и дедлайнами
Сдают тесты и задания со своими индивидуальными дедлайнами
Видят свой прогресс относительно других студентов на странице школы
В конце обучения получают сертификаты нового образца
Деканат
Видит в админке досье студентов: контакты, дату начала занятий
Видит конкурсы на бесплатное место, помогает преподавателям с оценкой работ
Отслеживает студентов, срывающих дедлайны
Переводит студента, победившего в конкурсе, на бесплатное место
Преподаватели
Оценивают студенческие работы, поданные в конкурсе на бесплатное место
Бухгалтерия
Видит в админке будущие платежи студентов, оплачивающих учебу частями
Видит в админке прошедшие платежи, сгруппированные по месяцам и использованным промокодам
Получившиеся истории разбиваю на шаги. Ставлю себя на место пользователя и мысленно прохожу по сценарию, выписывая каждый шаг. Например, чтобы я как клиент мог заплатить за себя и поступить на первую ступень, нужно:
Попасть на промостраницу нового набора.
Воспользоваться интерфейсом покупки.
Поступить на первую ступень через этот интерфейс.
Заплатить за поступление.
Убедиться, что меня точно приняли, получив квитанцию и подтверждение почтой.
Затем превращаю этот список в задачи, выписывая всё, что нужно сделать или изменить в существующем коде. Например, чтобы клиенты могли заплатить за себя и поступить на первую ступень, нужно сделать:
промостраницы новых наборов;
школьный Пейбар, интерфейс покупки;
почтовые квитанции, подтверждающие покупку;
письма и состояния Пейбара, помогающие незалогиненному пользователю создать и войти в Бюросферу;
тарифные планы, подсказывающие билингу и промостраницам, сколько сейчас стоит поступление;
школьный билинг, бэкенд, отвечающий за списания и продажу.
После этого можно примерно оценить время, нужное на получившиеся задачи и истории. С этими оценками я иду к клиенту, хозяину продукта, чтобы сприоритизировать фичи. Получается так:
Первая итерация
Промостраницы новых наборов.
Вторая итерация
Предзаказ: можно оформить предзаказ себе или в подарок. Есть вступительное задание и возможность попробовать поступить на бесплатное.
Третья итерация
Покупка. Начало занятий и правильные дедлайны. Оценка вступительных заданий и бесплатные места.
Четвёртая итерация
Билинг платежей частями. Сертификаты.
Пятая итерация
Хвосты: срывы дедлайнов, автоматические конкурсы.
Остаётся детализировать задачи: разбить на подзадачи, назначить ответственных и отдать в работу.
Ещё по теме
P. S. Это был совет о веб‑разработке. Хотите знать всё о коде, тестах, фронтенд‑разработке, цеэсэсе, яваскрипте, рельсах и джейде? Присылайте вопросы.