Прототипирование. Практическое руководство.

Принцип № 2: планируйте немногое, прототипируйте остальное.

Программные системы меняются постоянно и быстро. Планируя немногое и прототипируя остальное, вы действуете последовательно, компенсируя постоянное изменение условий.

Чем больше работы вы делаете в процессе планирования, тем лучше. Однако существует точка убывания доходности, так что руководствуйтесь здравым смыслом.

Меня часто спрашивают: что нужно спланировать, прежде чем начать прототипирование? Единого рецепта нет. Лично я делаю до 70% проекта в виде набросков и затем приступаю непосредственно к прототипированию.

Почему 70%? Тому есть две основные причины. Во-первых, моя цель – получить отзывы от аудитории, и чем быстрее я представлю ей проект, тем раньше появится отклик. Во-вторых, прототипирование – отличный инструмент для работы над проектом. Если я проделаю 70% работы на бумаге, то во время прототипирования выполню оставшуюся часть.

Поэтому прототипирование – смелый и решительный шаг. Тем, кто использует каскадную модель[14] или работает в условиях ограничения сроков, оно, скорее всего, неудобно. Но попробовать стоит. Отведите 70% времени на создание плана на лекционной доске или бумаге, а затем начните прототипирование. Я уверен, вам понравится результат.

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

Есть и другие важные факторы, например среда разработки, используемые инструменты и т. п. Возможно, вам лучше потратить на план не 70% времени, а больше (или меньше). Поэкспериментируйте с количеством времени на планирование и прототипирование. После нескольких попыток вы найдете для себя золотую середину.

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