Каков хороший процесс написания карточек-историй?[закрыто]

StackOverflow https://stackoverflow.com/questions/235299

Вопрос

Мы как раз собираемся определить карты историй для следующего проекта.

  • У нас есть хорошее представление о том, чего хочет клиент, посредством семинаров.
  • У нас есть документ с бизнес-требованиями, который будет ими подписан.

Наш процесс определения историй следующий:

  1. Берем функцию, которую хочет клиент, и пишем историю
  2. У нас есть краткое обсуждение дизайна среди команды.
  3. Затем мы определяем оценку карты.
  4. Если карта длиннее 3 дней, мы разбиваем ее дальше и повторяем шаг 2.

К сожалению, заказчик хочет оценить, сколько времени займет реализация всего проекта, поэтому нам необходимо заранее определить все истории.

Это занимает некоторое время и может быть весьма утомительным.

Какие еще методы можно использовать для определения карт-историй?Это может занять какие-то еще способы сбора требований на картах историй?

РЕДАКТИРОВАТЬ:

  1. Это не первый раз, когда мы это делаем, это нормальный процесс.
  2. Клиент является внутренним клиентом
  3. Мне интересно, как вы пишете карты, которые в конечном итоге кодируете.
Это было полезно?

Решение

Я бы предложил что-то, что мы назвали «игрой по планированию выпуска».Это очень похоже на то, что вы делаете для итерации, однако мы сделали это на более высоком уровне.То есть мы берем набор функций или функциональных точек, которые пользователь хотел получить для конкретной версии, и оцениваем, зная, что мы собираемся быть способ выключенный.Затем вы можете сложить все эти оценки вместе, чтобы получить приблизительное представление о том, когда, по вашему мнению, на основе вашей текущей информации вы сможете доставить свой продукт.

Это должно дать вашим клиентам некоторое представление о том, когда вы собираетесь выпустить релиз, но вам все равно придется настаивать на том, что вам нужно немного места для маневра, потому что, как и ваши клиенты, вы не можете предсказать будущее (или, по крайней мере, я не могу).

Другие советы

Вы не можете знать, когда все будет сделано, и при этом следовать гибкому процессу.Даже если вы очень много работаете, чтобы все оценить, чем больше работа, тем больше ваш процент ошибок.Большинство смет для проектов среднего размера в конечном итоге получают скидку в 2 раза, а для более крупных — в 10 раз.

Вместо этого я бы попросил клиента указать функциональную плановую дату.Разговор идет так:

Ты:Когда вам нужны эти функции?

(Клиент:Когда вы сможете их доставить?

Ты:Давайте сначала обозначим границы.Если бы я реализовал все эти функции за 10 лет, было бы это слишком поздно?

С:Конечно.

Ты:Если я предоставлю все эти функции завтра, будет ли это достаточно скоро?

С:Конечно.

Ты:А что будет через 1 год?

С:Это все еще слишком поздно.

Ты:3 месяца?

С:Это слишком поздно, примерно на 2 месяца.Мы должны быть готовы использовать это с нашей управленческой командой в январе.

Вы думаете):Ах-ха!

Ты:Мы не сможем реализовать все эти функции за 2 месяца.Я думаю, мы могли бы доставить эти 4 истории за 1 месяц, а эти 3 магазина — в следующем месяце.

С:Нам действительно понадобится функция X в январе.

Ты:Хорошо, если мы добавим функцию X, нам придется удалить функцию.Что вам не нужно?

С:Мы можем обойтись только частью признака Y.

Ты:ХОРОШО.Мы возьмем этот список и составим более детальную смету.

С (подумайте):Ха!Я получил то, что хотел!

Я снова и снова обнаруживал, что основная причина оценок и планирования «всего» заключается в том, что они хотят получить обещание доставить что-то к определенной дате.Проработка целевой даты работает намного лучше, потому что она:

  1. Заставляет клиента помочь найти компромисс

  2. Раскрывает истинную причину оценок

  3. Уменьшает количество объектов для оценки.

  4. Помогает определить, какие функции важны для какого спринта.

Я бы не стал разбивать истории на такие мелкие детали для планирования выпуска (что, похоже, именно то, что вы хотите сделать).В любом случае планирование выпуска будет менее точным (потому что со временем все изменится), поэтому имеет смысл использовать менее точную единицу измерения для оценки.

Обычно мы используем «Покер планирования», где 13 или 21 — максимально допустимое значение, прежде чем историю нужно будет разделить.Для планирования выпуска мы оцениваем в "идеальные дни", для планирования итерации в "идеальные часы".Хорошо работает для нас.

Как вы планируете выпускать приложение для клиента?Вы осуществляете поэтапные поставки?Или это планирование первоначального результата?

Я предлагаю разбить разработку на двух- или трехнедельные спринты, а затем добавить дополнительную неделю для каждого спринта в бюджет поставки, чтобы выиграть себе немного дополнительного времени...на случай, если клиент передумает о какой-либо функции (так и будет).Мы надеемся, что это облегчит оценку окончательной даты поставки...

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

Надеюсь, это поможет.

Обычно я заранее прошу только названия рассказов.Я пытаюсь посмотреть, смогу ли я отсортировать их хотя бы по порядку величины.Я даю очень приблизительную оценку, основанную на количестве названий и моей предполагаемой скорости/титула.Обычно я прошу клиента разбить названия на (1) нужно иметь сейчас, (2) нужно, но можно подождать, и (3) это было бы неплохо.

Я начинаю с рассмотрения группы (1) и собираю достаточно информации, чтобы разбить их на набор выпусков.На этом этапе я обычно могу дать более точную оценку, используя более подробную информацию для оценки каждого заголовка.Я планирую только группы (1) историй.Если в выпуске слишком много историй группы (1), мы разбиваем его на несколько последовательных выпусков/итераций.

Когда проходит примерно месяц после начала работы над историями группы (2), я снова беседую с клиентом (обычно на более целенаправленном сеансе планирования).постоянно разговариваем с ними), чтобы начать процесс заново с групповыми (2) историями.

Истории, которые добавляются по мере реализации проекта, помещаются в нужную группу и обрабатываются в соответствии с этой группой — если это текущая версия, достаточно деталей для работы, если позже — только заголовок в качестве заполнителя.

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

Если вы пытаетесь быть верным XP, я бы посоветовал вам пойти здесь и узнайте о разнице между планированием выпуска и планированием итерации.Вам не следует выполнять оценку отдельных задач, пока вы не будете готовы приступить к написанию кода.

Истории != Задания.Истории разбиваются на задачи, для которых вы затем выполняете оценку <3 дней.Оценка историй более открыта, и вы сможете определить пороговые значения для оценок историй, которые лучше всего подойдут вам и вашей команде, после того, как вы сделаете это в течение некоторого времени.(IE < 1 недели, 2 недели, > 2 недель и т. д.)

Самая важная часть оценки — это отслеживание фактического затраченного времени и внесение корректировок в процесс оценки.XP – это обратная связь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top