пятница, 12 августа 2011 г.

Прототипирование

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




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

Как можно делать прототип?
1. На бумаге. Рисовать, раскрашивать. Достоинства:- быстро, просто, можно делать в любом месте. Недостатки: постоянно приходится переделывать, нет возможности сразу внести много изменений.
2. Макетирование на бумаге.  Заранее составляются основные элементы, которые потом раскладываются на бумаге в определенных местах. Достоинства: быстро, просто, позволяют прийти к согласию относительно расположения основных блоков. Недостатки: трудно оценить размеры блоков, требует значительной переработки в дальнейшем.
3. Создание прототипа в какой-нибудь программе из офисных пакетов. Достоинства: офисные пакеты стоят практически на всех ПК, создается быстро, позволяет легко менять цветовую гамму, расположение блоков и их размер. Недостатки: в офисных пакетах нет большого количества стандартных форм, нельзя создать динамический прототип.
4. В специальных программах для создания прототипов. Достоинства: большое количество стандартных форм, возможность легкого изменения размеров и расположения блоков, возможность создания динамического прототипа. Недостатки: платность программ, нужно время на их освоение, трудность при создании своих элементов.
5. С помощью средств разработки. Такие прототипы, чаще всего, делаются при разработке ПО. Они позволяют быстро определить расположение основных элементов на экране. Достоинства: наглядность и возможность оценить как это все будет выглядеть для пользователя. Недостатки: необходимо уметь пользоваться средой разработки, а так же ее установка на локальном ПК.
6. В какой-нибудь программе для дизайна. Достоинства: можно подобрать красивые цветовые и визуальные решения. Недостатки: нельзя сделать динамический прототип, необходимо серьезное владение программой.

В какой последовательности делается прототип?
1. Собираются требования от заказчика. Определяется суть проекта.
2. Составляется предварительный список страниц/экранных форм проекта.
3. Определяются основные элементы каждой страницы или экранной формы.
4. Определяется  цель и глубина прототипа (статический или динамический, определение необходимости создания прототипа сразу в нужной цветовой гамме, надо ли отрисовывать все варианты реакций на событие в случае динамического прототипа).  Например, страница регистрации пользователя на сайте. В случае неправильного заполнения полей должно выводиться сообщение об ошибке. При создании динамического прототипа можно сделать отдельные реакции на каждый вариант ошибки, что потребует много сил и времени, а можно просто учесть, что сообщение об ошибке требует места для вывода.
5.  Создание прототипа.
6. Редактирование прототипа и документации по проекту.

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


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


Ссылки по теме:
1. Результаты опросов и исследований на хабре
2. Много полезного в комментариях
3. Обзор средств прототипирования в блоге, посвященному юзабилити
4. Еще один инструмент прототипирования
5. «Дизайн пользовательского интерфейса2 Искусство мыть слона» — это электронная книга о дизайне пользовательских интерфейсов
6. Очень интересный сайт, посвященный gui. Много материала
7. Общие советы относительно прототипирования
8. Сводная таблица средств прототипирования