— Да. В какой-то мере. Я хотел бы посвятить это совещание составлению как можно большего количества карточек историй. Отмена и повтор действия — это слишком мало. Потом, не нужно стремиться к тому, чтобы все наши истории были такими маленькими. На деле нам бы надо объединить эти две истории, отмену и повтор действия.
— Хорошо, я сделаю это, — сказал Фрэнк и написал карточку истории (23.3). — А как показать, что эта карточка связана с двумя другими? Их нужно как-то пронумеровать?
— Нет, просто разорви первые две карточки, — ответил Карлос. — Они нам больше не нужны.
Фрэнк разорвал первые две карточки.
— Карлос, Фрэнк не включил в карточку причину. Там нет «с тем, чтобы». Это нормально? — спросил Аллан.
— Эй, это всего лишь моя вторая история! — Фрэнк шутливо парировал выпад.
— В действительности, — пояснил Карлос, — «с тем, чтобы» требуется не всегда. Если это помогает сделать историю более ясной, то такое дополнение нужно. Но слишком беспокоиться о нем не стоит, особенно в истории вроде этой, где и так понятно, почему пользователь хочет иметь данную возможность.
— Карлос, ты сказал, что нам нужно написать все истории сегодня, даже если некоторые из них будут сформулированы в самом общем виде. Но разве нельзя добавить истории позже? — спросила Роуз.
— Конечно, можно. Мы обязательно будем добавлять какие-то истории позже. Если это будет не так, значит, мы подходим к игре недостаточно креативно. Я и мысли не допускаю, что позже у нас не появятся новые идеи, более удачные, чем те, с которых мы начинаем сегодня. Цель письменного изложения «всех» историй сегодня — описать наши знания, пусть даже в общем виде, о том, какие функции наиболее желательны. Это здорово поможет Саше и Аллану, которые будут разрабатывать архитектуру игры и продумывать подходы к созданию генератора ходов.
— Это здорово, Карлос. Продолжим. Может быть, мы все просто начнем писать карточки?
— Можно, — сказал Карлос. — Но лучше, если мы придадим этой работе определенную структуру. Давайте обсудим, что может понадобиться пользователю в различные моменты игры — до начала игры, во время игры и даже после ее окончания.
Со стороны членов команды послышались возгласы согласия, а Карлос продолжил:
— Что может пользователь захотеть сделать сразу после загрузки Havannah?
— Начать игру.
— Восстановить сохраненную партию.
— Выбрать уровень сложности.
— Ну вот, давайте запишем это, — сказал Карлос. Через несколько минут команда выдала кучу историй (табл. 23.1).
— Карлос, — сказал Фрэнк, — если эти истории представляют то, что пользователь может захотеть до начала игры, почему в их число включили «Как игрок я хочу, чтобы в игре был музыкальный фон»? Ведь это нечто нужное игроку во время игры, а не до ее начала.
— Мы просто проводим мозговой штурм, чтобы определить круг пользовательских историй, — ответил Карлос. — Для нас пока не важно, какие истории связаны с периодом до начала игры, а какие с процессом самой игры. Такой подход, на мой взгляд, помогает осмыслить, что нам нужно в игре.
— Понятно. А что делать дальше?
— Теперь давайте подумаем, чего пользователь может захотеть во время игры.
В ответ на предложение Карлоса члены команды написали истории, представленные в табл. 23.2.
— А теперь, я думаю, нам надо перейти к тому, что пользователь может захотеть сделать после завершения игры, — сказал Фрэнк.
— Вряд ли после завершения игры ее участник может хотеть многого. Мы не подумали о возможности сохранения игры ранее, поэтому можно добавить такую историю, — сказал Прасад.
— Игрок может также захотеть вернуться и просмотреть ходы. Deep Black & White поддерживает такую возможность, — заметила Роуз. — Я могу сделать комментарий к ходу вроде такого: «Я также обдумывала возможность пойти на клетку А3».
— Окей, запишем это в виде историй, — сказал Карлос (результат представлен в табл. 23.3).
— Что дальше, Карлос? — спросил Аллан.
— Пока ты будешь шлифовать Deep Black & White в течение следующих двух недель, Делани проведет более глубокое исследование продукта.
— Да, — добавила Делани. — Я хочу проработать с потенциальными пользователями набор функций, которые они считают наиболее важными.
— Однако, прежде чем мы завершим сегодняшнюю работу, нам нужно дать каждой истории примерную оценку, — сказал Карлос.
— Конечно, давайте оценим их. Но сначала сделаем 10-минутный перерыв, — предложил Аллан.
Оценка пользовательских историй
— Теперь, — подвел итог совещания Карлос, — займемся оценкой размера историй в пунктах.
— А что такое
— Пункт — это безразмерная величина объема и сложности истории, — ответил Карлос. — Предположим, мы решили, что оценка сохранения партии составляет три пункта. Если, на наш взгляд, реализация восстановления сохраненной партии требует таких же усилий, то мы присвоим ей оценку «три пункта». Если же мы решим, что восстановление партии требует чуть меньше усилий, то дадим ей два пункта.
— Получается, что числа ничего не значат? — спросил Фрэнк.