Основы разработки для UX-дизайнера

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

Daniel Zhukov
Дизайн-кабак

--

Основы разработки для UX-дизайнеров и сотрудничество с разработчиками

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

Почему научиться основам разработки это важно?

Если вы UX-дизайнер (дизайнер взаимодействий, дизайнер продуктов, дизайнер сервисов, UI дизайнер - ваш профиль на самом деле не имеет значения), скорее всего, вы работаете над цифровыми продуктами или услугами. Другими словами, вы создаете цифровые продукты.

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

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

Я считаю, что это не очень хороший вопрос. Вот вопросы получше:

  • Должны ли дизайнеры понимать затраты, риски, компромиссы дизайнерского решения?
  • Должны ли дизайнеры знать, как работают разработчики, с какими проблемами они сталкиваются, каковы их основные задачи?

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

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

Разработчики не должны диктовать дизайнерам как делать дизайн, а дизайнеры не должны давать разработчикам инструкции о том, как им писать свой код.

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

Поэтому вместо того, чтобы учиться кодить, вы должны

  • понять фундаментальные основы разработки и
  • быть в тесном сотрудничестве с разработчиками.

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

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

Это две основные области добавления аспектов разработки к вашей дизайн-работе.

Итак, давайте подробнее рассмотрим эти 2 области!

Аспекты разработки

В результате понимания технических ограничений и аспектов развития вы будете:

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

Вот несколько примеров дизайн-решений, которые вы не сможете принять не зная об аспектах разработки:

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

В этом скетче из серии UX Knowledge Base перечислены некоторые аспекты разработки, о которых вам следует знать. Используйте их в качестве отправной точки:

Аспекты разработки из скетча UX Knowledge Base

Сотрудничество

Второе основное направление, на котором вы должны сосредоточиться, - это сотрудничество.

Сотрудничество с разработчиками покажет:

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

Вот некоторые из основных областей сотрудничества:

  • Проводить совместные исследования (например, кто-то из вашей команды разработчиков может выступать в качестве дополнительного интервьюера)
  • Обобщение исследовательских данных и идей: разработчики могут представить свою уникальную перспективу
  • Проектирование с учетом аспектов разработки: например, проектирование под разные размеры экрана и разных устройств; создание многоуровневого пользовательского интерфейса; внятный дизайн форм, например, тип данных каждого пользовательского ввода, макс. длина текста
  • Прототипирование: разработчики могут помочь вам, создав прототип в коде, и они также могут добавить тестовый бэк-энд
  • Тестирование: разработчики могут наблюдать за юзабилити-тестами, делать заметки; после тестов вы должны обсудить результаты вместе (например, самые большие сюрпризы? Что запомнилось?)
  • Реализация: например, отслеживание прогресса разработчиков в системе контроля версий; написание автоматических тестов; сообщения об ошибках
  • Приоритизация: это постоянная деятельность в процессе разработки продукта, т.е. вы должны расставить приоритеты вместе во время начала проекта; исправления ошибок также должны быть приоритизированы
  • Дизайн на основе данных: разработчики могут помочь вам настроить A/B-тест или другие тесты
  • Командная работа в целом: сотрудничество - это создание общего понимания и коллективного поиска решений.

Более подробную информацию об этих совместных действиях вы найдете в следующем скетче из серии UX Knowledge Base:

Скетч о совместной работе дизайнеров и разработчиков из серии UX Knowledge Base

🙏 Спасибо за прочтение моей статьи! Пожалуйста, дайте мне знать, что вы думаете об этой теме. Вот два вопроса, которые мне особенно интересны:

  • Согласно вашему опыту, какие наиболее распространенные технические ограничения вам приходилось учитывать при работе?
  • Вспомните случай, когда у вас было отличное сотрудничество с разработчиками — что сделало его великолепным?

Перевод текста и скетчей — Даниил Жуков. Оригинал статьи тут. Все права на статью принадлежат их авторам. Связаться со мной — Facebook, Telegram

--

--