?

Log in

No account? Create an account

Previous Entry | Next Entry


Между разработчиками ПО и пользователями ситуации непонимания имеют место достаточно часто. Пользователь хочет получить эффективный инструмент для решения тех или иных задач, к тому же простой в освоении и удобный в использовании, но имеет весьма приблизительное представление о специфике работы программиста. Программист же зачастую имеет весьма и весьма приблизительное представление о круге задач, с которыми имеет дело пользователь. То, что разработчику кажется блестяще реализованным, конечному пользователю может показаться неудобным. На вещи, которые представляются вполне очевидными пользователю, программист может вообще не обратить внимания. (Подробный анализ этих проблем см., например, в книге Дэвида Платта с провокационным, но выразительным названием «Софт — отстой! И что с этим делать?»). Как избежать ситуаций непонимания и помочь программисту и пользователю найти общий язык? (Данная тема уже не раз становилась предметом исследования представителей самых разных областей знаний — программистов, психологов, специалистов в области эргономики. Подробный и интересный обзор литературы по теме — здесь)

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

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

В деятельности нашей компании есть такие аспекты, при работе над которыми без прототипирования обойтись невозможно. Мы занимаемся разработкой систем электронного документооборота, систем управления взаимодействием с клиентами и систем управления веб-контентом. Все это — системы промышленного масштаба, построенные на клиент-серверных технологиях; они включают как десктопные, так и веб-интерфейсы. При внедрении таких систем в конкретной организации неизбежно встает проблема кастомизации интерфейсов. Мы считаем, что работе по кастомизации следует уделять особое внимание: зачастую конечными пользователями программных продуктов являются люди, совершенно далекие от компьютерных технологий.

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

На рынке программного обеспечения инструментов для создания прототипов представлено достаточно много. Они предназначены для решения самых разнообразных задач: от создания «карандашных» набросков до построения интерактивных прототипов высокой визуальной точности (см. достаточно подробный обзор; см. также материалы по теме здесь и здесь ) Казалось бы, при таком широком выборе можно без особого труда подобрать подходящий инструмент прототипирования. Но более детальное знакомство с имеющимися программами показало, что на самом деле все обстоит гораздо сложнее. При работе с софтом для прототипирования приходится иметь дело с целым рядом проблем, которые будут описаны ниже.

Проблема 1. Веб и десктоп

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

Проблема 2. Визуализация

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

Проблема 3. Движение

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

Создание действительно «живых», интерактивных прототипов зачастую оказывается сопряжено с целым рядом проблем: некоторые инструменты вообще не могут связывать интерфейсы, что, конечно же, существенно сужает круг решаемых задач.

Есть инструменты, создающие интерактивные прототипы, но единственно возможным форматом сохранения этих прототипов является .pdf. Это — очевидный минус: данный формат не обеспечивает высокой степени интерактивности. Прототип в формате .pdf пригоден для демонстрации внешнего вида, но не возможностей системы. «Живой» (запускаемый и кликабельный) прототип показывает будущее приложение в работе и позволяет разглядеть многие нюансы, на которые в статичном pdf-прототипе просто невозможно обратить внимание.

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

Проблема 4. Простота и доступность

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

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

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

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

И что в итоге?

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

Обсуждение этого поста на habrahabr.ru

Comments

( 4 comments — Leave a comment )
oleghka
Apr. 13th, 2011 01:57 pm (UTC)
интересно для кого вы пишите этот текст? для менеджеров? боюсь они будут покупать, то о чем их попросит производство

если для профессионалов, то умоляю вас, пишите коротко и по делу. выуживать среди такого океана банальщины какие либо интересные нюансы (если они там есть) ну очень не хочется
staskin1
Apr. 14th, 2011 10:19 am (UTC)
интересно для кого вы пишите этот текст?
Если шутливо и коротко - для поисковиков. Если серьезно, готовы делать и делаем выжимки для специалистов, раскидывая порционно в различные форумы. Инет сам по себе - океан банальщины, тем не менее спасибо за идею. Скорее всего, банальщину будем выливать на внешние ресурсы, например хабр, а выжатую конкретику на собственном блоге.
(Anonymous)
Nov. 11th, 2012 12:14 am (UTC)
Заработай с нами
Добро пожаловать на отличный сайт где вы сможете заработать и вывести деньги уже сегодня потратьте всего 5 минут и деньги Ваши [url=http://u.to/geiEAg]ЖМЕМ СЮДА[/url]
(Anonymous)
Jan. 9th, 2013 06:13 am (UTC)
SvetLanaNN
Проститутки Нижнего Новгорода http://putanann.com/
( 4 comments — Leave a comment )