22 дек. 2010 г.

Разработчики и дизайнеры должны быть друзьями

Автор: Дэвид Платт.
Оригинал статьи: Devs and Designers Should Be Friends.

Разработчики и дизайнеры обычно не очень-то ладят, а зря. Впервые я столкнулся с этой антипатией на конференции Tech·Ed - 2007 в Барселоне (Испания), — в первый раз я не просмотрел полностью серию докладов для дизайнеров. Слушатели разнесли эту серию в пух и прах, поэтому руководство вынуждено было отменить ее по окончании второго дня мероприятия. Я ознакомился с несколькими из этих докладов и счел их качество приемлемым. Я не видел обычных ляпов наподобие неработающих презентаций или докладчиков, выступавших с похмелья. Думаю, сообщество разработчиков не было готово услышать основную идею: этим новомодным графическим окружениям, Windows Presentation Foundation (WPF) и Silverlight, требовались новые члены команды, с другими навыками, но со статусом разработчиков.


Их отношения друг к другу не очень-то улучшились. Мой ключевой доклад на Dev Days в Амстердаме (Нидерланды) в 2008 г. удовлетворил оба сообщества, но после него дизайнеры ушли в свой мир и не присоединились к разработчикам до вечера, пока не появилось пиво (странно, что это работает). То же самое случилось на ReMix в Милане в 2009 г., за исключением того, что там было вино.

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

Взаимная неприязнь разработчиков и дизайнеров напоминает мне о конфликте ковбоев и фермеров в мюзикле “Oklahoma!” (1943 г., злоупотребление восклицательным знаком началось задолго до Yahoo!). В песне "Фермер и ковбой должны быть друзьями" тете Элли пришлось взяться за пистолет, чтобы заставить две группы танцевать вместе (на YouTube есть клип, позволяющий полюбоваться великолепным представлением).

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

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


Тем, кто делает программы, надо сплотиться,
Тем, кто делает программы, надо подружиться.
Одни в C# с головой ныряют,
Другие c Expression Blend летают.


Кодеру с дизайнером надо дружить,
Кодеру с дизайнером надо дружить,
Один отбеливает зубы,
Другой думает на XAML,
Но нет причины не дружить.

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

Пример. На недавнем совещании с европейским клиентом я предложил классическое диалоговое окно для поиска заказчика, с текстовым полем для идентификатора и календарем для даты рождения, для каждого из элементов управления были предусмотрены метки.
Дизайнер сказал: "Отлично, но это действие выполняется очень часто. Что скажете насчет поля поиска на панели инструментов, как у Google? Пользователь вводит в него данные, и мы получаем их оттуда, как в поисковом механизме".
- Да, я могу обработать любые входные данные, - сказал разработчик, - у меня есть несколько хороших классов, это не займет много времени.
(На самом деле заняло, но так и бывает)
- Можно поместить в текстовое поле подсказку, чтобы пользователь знал, для чего оно, - добавил я.
Дзинь! - и через несколько дней у нас был тестовый прототип для пользователей.

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

Комментариев нет:

Отправить комментарий