Классическая модель сбора историй говорит о том, что все истории необходимо собрать в начале проекта. В некоторых случаях сбор историй может тянуться недели, и даже месяцы. В отличии от традиционного процесса сбора историй, Agile процесс говорит о том что мы не понимаем что все истории собрать не можем. Будем собирать истории авансом, даже в том случае если они описаны на высоком уровне детализации. Дополнительным фактором этого, является то ,что детализированные истории устаревают со временем и теряется их актуальность. Поэтому высокий уровень истории позволяет нам сделать детализацию в тот момент, когда история берется на разработку. К тому же, мы экономии время и можем быстро создать прототип для оценки размера проекта на ранних стадиях разработки.
Сбор историй можно представить себе как ловлю рыбы. Мы берем сеть с разным размером ячеек и отлавливаем истории нужных нам размеров. Таким образом, мы можем закидывать разные сети для отлавливания историй разных размеров.
При таком способе выявления требований, мы сталкиваемся с рядом проблем:
- мы закидываем сеть сегодня, а требование может появиться завтра.
- мы прекрасно осведомлены тем, что мы не сможем выловить абсолютно все требования
- необходимо знать, где ловить
Для сбора историй используются техники, как традиционного сбора требований, так и прогрессивные методы.
- Интервьюирование
- Анкетирование
- Наблюдение
- Семинары по написанию требований
Интервьюирование.
Эта техника включает в себя личное общение с пользователями. Главным фактором успеха собеседования является грамотный план. План собеседования должен включать в себя открытые, контекстно-независимые вопросы.
Открытость вопроса заключается в том, что вопрос не направляет мысль человека, а инициирует мыслительный процесс. Остается только собирать мысли человека.
Контекстная независимость – это отсутствие ответа в постановке вопроса. Пример:
Контекстно-зависимы вопрос: Должна ли система делать автосохранение каждые 15 минут?
Контекстно-независимы вопрос: Какого поведения ожидает пользователь от системы в случае экстренного завершения приложения?
Анкетирование
Полезно в случае большого количества пользователей и большом количестве вопросов. В этом случае применяя методы статистики, мы можем выявить, с большой точностью, необходимые пользователям фичи истории.
Практично в случае определения характеристик новой функциональности, заложенной в истории.
Помогает расставить правильные приоритеты характеристик. В этом случае пользователи сами выбирают то что им действительно необходимо в настоящее время, а что может подождать.
Наблюдение
Полезная практика, когда разработчики наблюдают за действиями пользователей в процессе работы с продуктом. В этом случае все неудобные, неуместны, не нужные действия выявляются максимально быстро.
Одним из вариантов наблюдения является обратная связь. Пользователи пользуются продуктом и в случае каких либо проблем используют средства обратной связи, для оповещения о проблемах. Проблемная информация накапливается, обрабатывается, и команда может быстро реагировать на поступающие заявки. В настоящее время очень трудно найти продукты не использующие средства обратной связи.
Семинары по написанию историй
По моему мнению, одна из самых лучших практик. Собрать всех действующих лиц, связанных с продуктом, и совместными усилиями им устроить мозговой штурм для выявления требований и написания пользовательских историй. В результате работы такого семинара, мы получаем готовый прототип системы, который устраивает всех заинтересованных лиц, покрытый пользовательскими историями.
На сегодняшней встрече, посвященной этой главе, было предложена вариация практик анкетирования , наблюдения и семинара. Член команды, выполняющий роль аналитика, готовит анкету по новой функциональности, которая будет заложена в продукт, рассылает все заинтересованным лицам. После получения обратной связи устраивается семинар для мозгового штурма по поводу истории(ий). Обратная связь используется в качестве оценки построения анкеты. Таким образом, на каждой итерации построения анкеты, мастерство этого построения увеличивается. Можно завести check-list с критериями построение анкеты.
Послушать оригинал подкаста можно по адресу http://study-group.rpod.ru/139752.html.
Все подкасты по User Stories Applied можно найти на AgileGuru.Ru -> User Stories
На этом думаю все.
Всегда с Вами,
Михаил Шогин
Оригинал статьи
http://shogin-michael.blogspot.com/2010/01/user-stories-applied_31.html