Основная задача этой техники – обеспечить структуру в неопределенной ситуации.
Мы еще только приступаем к работе над проектом, и информация о том, что делать, с
кем работать, какой будет результат проекта, еще недостаточно формализована. Для
того, чтобы в этой ситуации не наделать много ненужной работы – то есть не
вовлекать лишних людей, не переделывать, не формировать документы, которые
никому не будут нужны, – необходимо процесс планировать: создать структуру,
которая позволит нам эффективно действовать в условиях неопределенности.
Для того, чтобы спланировать процесс выявления требований, нам нужно, выполнить следующие шаги.
- Первое – определить цели выявления требований: кто является заказчиком этого процесса, кто будет работать с теми требованиями, которые мы соберем, зачем это делается.
- Следующий шаг – проанализировать и определить, какие существуют источники требований: откуда мы можем черпать информацию для того, чтобы эти требования определить.
- Исходя из полученных целей и источников требований, которые нам доступны, мы выбираем шаги и техники, которые мы будем применять для того, чтобы эти требования извлечь и зафиксировать.
- Следующий шаг, обязательный в любой задаче – согласовать с теми, кто будет пользоваться результатами нашей работы, форму результатов. То есть, как мы должны оформить требования.
- Возможно, будет достаточно неформального описания, иногда такое бывает.
- Возможно, кто-то планирует работать над проектом в формате гибких методологий, и, по большому счету, ему нужен некий story board, некая информация для команды, с которой нужно начать, и нет необходимости формальных спецификаций.
- В каких-то ситуациях проект в дальнейшем будет передаваться на аутсорсинг или на исполнение независимым исполнителем, и соответственно, требования должны быть сформулированы максимально детально и точно.
После определения формы результатов появляется возможность оценить те ресурсы и время, которые необходимы для того, чтобы реализовать задуманное и собрать требования.
Очень важный факт: абсолютное и календарное время в процессе работы с
требованиями очень часто не соответствует друг другу, потому что для того, чтобы
получить ту или иную информацию от представителя заказчика, необходимо, чтобы
мы смогли с ним встретиться и обсудить соответствующие вопросы. Поэтому, прежде чем предоставить календарный план заказчику, необходимо убедиться, что в
календарном плане присутствует взаимодействие со всеми необходимыми людьми, и эти люди подтвердили возможность взаимодействовать с нами в этот период времени.
Для коллег, которые думают, что это слишком большие усилия: если у нас возникает
проблема договориться о том, чтобы аналитик пообщался с заказчиком, представьте
себе, насколько проблематично будет обеспечить свободный доступ разработчиков с целью получить информацию от того же самого представителя заказчика в тот
момент, когда возникнет потребность у разработчика.
Поэтому, если у нас возникают проблемы с формированием календарного плана, или мы не знаем, каким образом это обеспечить для сбора требований, такие проблемы, если не гораздо серьезней, гарантированно возникнут у команды разработки, если этого не будет сделано.
И последний этап, связанный с любым планированием – необходимо оценить те
риски, те последствия, которые возникают из-за принятых решений.
К примеру, если мы решили не дожидаться выхода из отпуска какого-то из
специалистов заказчика и начать разработку до того, как получим от него
некоторые данные или информацию, мы должны четко сформулировать, в какой
области у нас возникает риск и что с ним нужно сделать. На осуществление планирования процесса выявления требований опытному
специалисту, как правило, требуется около 8 часов. Ответы на необходимые вопросы
о том, как будут использованы результаты работы аналитиков, можно получить от
руководителя проекта или координатора.