Несколько месяцев назад мы в первый раз опробовали Balsamiq Mockups. Это такая небольшая и очень удобная программа для построения макетов пользовательских интерфейсов. Чтобы представлять о чем идет речь, сразу прикладываю один из экранов, который мы в ней нарисовали.
Когда мы начали с ней играть, я даже не мог предположить, что эта программа так повлияет на наш процесс разработки и приведет к таким радикальным изменениям.
Значительную долю нашей работы составляет разработка бизнес-приложений типа интернет-банк, управление онлайновой рекламой или CRM. Если мы разрабатываем общедоступное публичное приложение, то и оно обычно включает достаточно серьезную админку. Например, сейчас мы делаем систему электронной коммерции, где в открытом доступе будет около 15 экранов, а админка составляет на данный момент уже около 40 различных экранов и продолжает расти.
Немаловажно, что у нас в команде нет своих дизайнеров и проектировщиков интерфейса.
До того как мы познакомились с Balsamiq Mockups наш процесс разработки экранов запускался так. Мы брали функциональные требования, делали по ним «требования для дизайнера». Эти требования мы отдавали либо дизайнеру с навыками проектировщика интерфейсов, либо проектировщику интерфейсов с навыками дизайнера, либо сначала – проектировщику, а потом дизайнеру. В любом случае, поскольку все эти специалисты внешние, они живут и работают в ритме своих компаний, а не в ритме наших проектов. Поэтому, они выделяют, например месяц на наш проект и за этот месяц стараются сделать все, т.е. нарисовать все экраны.
Этот месяц мы непрерывно общаемся, обсуждаем черновики экранов, стараемся вложить наши знания и понимание бизнеса в мозги проектировщика интерфейсов. В общем-то – это достаточно трудоемкий и изматывающий процесс. В результате при наличии взаимопонимания сторон и достаточного опыта и интеллекта на стороне проектировщика (пока тьфу-тьфу – везло с этим) мы через месяц получаем экраны и возможность двигаться дальше.
Что здесь важно? Фактически работа проектировщика состоит из двух крупных блоков:
- Аналитический: вывести весь необходимый бизнес-функционал на экран и ничего не забыть
- Юзабилистский: выбрать и расположить интерфейсные элементы на плоскости оптимальным образом
Проблема в том, что для проектировщика интерфейсов аналитический блок требует глубокого погружения в сущность бизнеса, а мы имеем дело с достаточно сложными бизнес-моделями. Это трудозатратно и не всегда интересно самому проектировщику. Но мы-то к моменту начала разработки уже во всем разобрались, разложили проект на фичи, провели аналитику.
Поэтому после того, как мы освоили Balsamiq, мы набрались смелости (и наглости) и стали вместо функциональных требований сразу рисовать интерфейсы. Т.е. те 80% функционала Интернет-системы, которые выходят на фронт-енд, мы сразу и рисуем. При этом, поскольку мы понимаем предметную область и суть бизнеса, мы делаем это довольно быстро. Фактически за программой сидит руководитель проекта или аналитик или ведущий разработчик, который понимает суть дела и общается с заказчиком, и рисует экраны. Т.е. вместо многословного документа мы получаем на выходе картинку, и процесс сильно упрощается:
Теперь миссия проектировщика интерфейсов состоит в том, чтобы из наших не очень еще «юзабельных» картинок сделать удобные интерфейсы сохранив в неприкосновенности функционал.
В результате мы получаем несколько чудесных следствий. Отпадает необходимость писать громоздкие требования. 80% требований теперь можно выразить графически с помощью мокапов.
Мы получаем возможность встраивать проектирование интерфейсов в Agile-процесс. За счет этого скорость разработки существенно возрастает, стадия «разгона» проекта существенно укорачивается. Об этом – в отдельном посте.
Улучшается коммуникация с заказчиком. Теперь можно обсуждать с заказчиком не длинные тексты, а картинки. Понятно, что шанс понять друг друга становится гораздо выше. А это в конце-концов – главный фактор успеха любого проекта.
Теперь собственно о программе Balsamiq Mockups. Не исключаю, что существуют программы прототипирования и лучше, мы честно говоря не сравнивали. Мы выбрали ее исходя из обзоров и рейтингов в сети. Протестировали – понравилась – купили. На мой взгляд она идеально подходит для тех целей, которые мы ставим и дает ровно то, что нужно: не больше, не меньше. А это встречается не так часто.