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

Принцип № 8: снижайте риски – прототипируйте на ранних этапах и часто.

У нас есть гигантские компании, которые по традиции делают на компьютерах трехмерные модели, создают вещи и обнаруживают проблемы, когда уже слишком поздно.

Андерс Рэмси.

Как я уже говорил, прототипирование имеет ряд преимуществ, одно из которых – благоприятное соотношение затрат и прибыли. Рассмотрим две модели разработки: традиционную каскадную и модель с быстрым итеративным прототипированием.

В традиционной каскадной модели все функции и возможности системы планируются до начала разработки. Поэтому цикл планирования до начала непосредственной работы иногда длится 6–9 месяцев.

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

Представим, что темпы развития отрасли совпадают с вашими темпами разработки. В этом случае вы к данному моменту так вложились в проект, что выбрать другое направление почти невозможно. Корабль вышел в море, и ни изменить курс, ни вернуться нельзя.

Это очень затратная модель. Правильные решения встречаются реже, чем ошибки. Исправление промахов обходится в суммы, иногда равные 100% от первоначальных затрат. Поэтому ошибки так и остаются в системе, и конечный пользователь должен искать способы их обойти.

Другой метод более гибок. Вы выделяете небольшие куски и используете инкрементный[15], итеративный и эволюционный подход. А если вы вдобавок применяете прототипирование, то работаете только над небольшими фрагментами системы. Меньше вложений – меньше риск.

Вы выделяете по несколько недель на небольшой набор концепций и проверяете, эффективны они или нет. Если они не срабатывают, то вред намного меньше, поскольку вы теряете всего пару недель и можете выбрать другие, более эффективные идеи. Вам не нужно тратить на это еще 6, 9, 12 или 18 месяцев.

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

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

Чем раньше вы обнаружите ошибку, тем легче и дешевле будет ее исправить. И не пытайтесь обмануть себя – ошибки неизбежны. Согласно экспертным оценкам, изменения, внесенные на этапе проектирования, могут обойтись в 10% стоимости проекта, а в ходе разработки или после выпуска продукта – до 100%.

Если вы создаете прототипы рано и часто, вы снижаете риски и предупреждаете многие проблемы, экономите время, усилия и деньги.