Автор: Джоэл Спольски
Перевод: Полезные сайты
В оригинале статья называлась The Iceberg Secret, Revealed и была написана 13 февраля 2002 года
«Я не знаю, что не так с моей командой разработчиков», думает Главный директор. «Всё шло так хорошо, когда мы начинали этот проект. Первые пару недель команда работала, как сумасшедшая, и сделала прекрасный работающий прототип. Но с того времени всё заглохло. Они просто не работают так же усердно.» Он выбирает титановую клюшку от Callaway и посылает кэдди за холодным лимонадом. «Наверное, если я уволю нескольких копуш, то смогу снова зажечь огонь!»
В это время разработчики даже не подозревают, что что-то идёт неправильно. На самом деле, ничего не идёт неправильно. Они идут точно по графику.
Не позволяйте этому случиться с вами! Я собираюсь раскрыть вам секрет, как работать с менеджерами, у которых не технический склад ума, что облегчит вашу жизнь в миллион раз. Это очень просто. Как только вы узнаете мой секрет, у вас больше не будет проблем с такими менеджерами (если вы, кончено, не начнёте спорить с ними о коэффициенте жёсткости их клюшек для гольфа).
Понятно, что программисты и выпускники бизнес-школ мыслят на разных языках. Я много думал об этой проблеме, потому что мне понятна мощь и выгоды тех редких личностей, которые умеют переводить с программистского языка на менеджерский и обратно.
С начала моей работы в разработке программ, почти всё, что я делал, было «массовым». То есть это были не программы для какого-то конкретного клиента – они были сделаны в надежде, что миллионы людей купят его. Но многим недоступна такая роскошь. Они могут быть консультантами, разрабатывающими проект для одного клиента или программистами непрограммистской компании, делающими чего-то там для бухгалтерии (или что вы там программируете на дому - для меня это тайна).
Вы замечали, что в этих проектах на заказ, единственная обычная причина срыва сроков, ошибок и общей убогости обычно сводится к словам: «эти (вставьте сюда прилагательное) клиенты не знают, что именно они хотят».
Вот три популярные версии этой патологии:
Если бы можно было всверлить с помощью самой мощной дрели DeWalt только одну мысль каждому начинающему консультанту в голову, то это было бы: клиенты не знают, что они хотят. Перестаньте ждать от клиентов, что они будут знать, чего они хотят. Этого никогда не случится. Смиритесь с этим.
Вместо этого, представьте, что вы всё равно что-то сделаете, и это должно понравиться клиентам, и будет это для них маленьким сюрпризом. ВЫ должны сделать иcследование. ВЫ должны придумать дизайн, который решает проблему клиента удобным для него способом.
Поставьте себя на их место. Представьте, что вы только что продали свою компанию Yahoo! за $100 000 000 и решили, что пора сделать ремонт в кухне. Поэтому вы нанимаете профессионального архитектора и объясняете, что «это должно быть круче, чем у моего друга Васи». Вы не имеете ни малейшего понятия, как это сделать. Вы не знаете, что вы хотите: комплект Bucalossi или плитку от Marazzi – это не входит в ваш словарный запас. Вы хотите, чтобы архитектор сделал что-то хорошее, и именно поэтому вы его наняли.
Адепты Экстремального Программирования говорят, что решение – позвать к себе клиента и включить его в каждый шаг процесса разработки дизайна, сделать его членом команды разработчиков. По-моему, это слишком «экстремально». Это как если бы мой архитектор показывал мне, как они разрабатывают дизайн кухни, и просил ответной реакции по каждой мелочи. Это надоедает: если бы я хотел стать архитектором, то я бы учился на архитектора.
В любом случае, на самом деле вы ведь не хотите, чтобы клиент был частью вашей команды? Ведь вероятнее всего представитель клиента – это какой-то слабак, который работает хуже всех, и никто не заметит его отсутствия. А вам придётся тратить всё время, отведённое на дизайн, для объяснения вещей односложными словами.
Примите факт, что ваши клиенты не знают, чего они хотят. Спроектируйте это сами, базируясь на вашем понимании. Если вам нужно немного времени для изучения области знаний или если вам нужен эксперт в этой области, это нормально, но проектирование – это ваша работа. Если вы сделали домашнее задание, изучив необходимую область знаний, и сделали хороший интерфейс, клиент будет рад.
Теперь, как и пообещал, я открою вам секрет перевода между языком клиентов (или технически недоразвитых менеджеров) и языком программистов.
Вы знаете, что 90% айсберга находится под водой? Ну и с большинством программ то же самое – есть красивенький интерфейс, который занимает 10% работы и потом 90% программистской работы «за кулисами». И если вы примете во внимание, что около половины времени уходит на исправление ошибок, то на пользовательский интерфейс уходит только 5% работы. И если вы ограничиваете себя только визуальной частью интерфейса, картинками, которые показываются в PowerPoint, то мы говорим сейчас менее, чем об 1%.
Это не секрет. Секрет в том, что люди, которые не являются программистами, не понимают этого.
Есть несколько очень важных следствий из этого секрета.
Важное следствие №1. Если вы покажете непрограммисту картинку, на которой интерфейс на 90% хуже, они будут думать, что программа на 90% хуже.
Важное следствие №2. Если вы покажете непрограммисту картинку, на которой интерфейс красив на 100%, они будут думать, что программа почти сделана.
Важное следствие №3. «Дотком» у которого прикольный, вылизанный сайт из четырёх страниц, будет стоить дороже, чем «Дотком» с высокофункциональным сайтом, с архивом за 3700 лет и серым фоном страниц по умолчанию.
Важное следствие №4. Когда клиент или нетехнический менеджер очень хочет принять участие в проекте, дайте ему несколько версий графического дизайна, чтобы они могли выбрать.
Важное следствие №5. Когда вы делаете презентацию клиенту, единственная важная вещь – это скриншот. Сделайте его на максимально красивым.
Помните Главного директора в начале статьи? Он был недоволен, потому что его команда показала ему красивые PowerPoint'ы в начале – на скорую руку сделанные в Photoshop'е, даже не в Visual Basic. А теперь, когда они на самом деле работают "за кулисами", то кажется, что они ничего не делают.
Что вы можете с этим всем сделать? Как только вы узнали «секрет айсберга», легко понять, как это побороть. Поймите, что на презентации, которую вы делаете с проектором, речь будет идти только о пикселях. Если вы можете, создайте интерфейс так, чтобы незаконченные вещи выглядели незаконченными. Например, используйте только контуры значков в панели инструментов, пока для них действительно не будет сделана функциональность. Если вы делаете веб-сервис, то может быть нужно убрать с главной страницы функции, для которых пока не написан код. Тогда люди могут видеть, как страница с 3 командами вырастает в страницу с 20 командами.
Более важно, чтобы вы держали под контролем то, что люди думают о графике. Предоставьте детальный график в виде Excel'евского файла. Каждую неделю шлите самовосхволяющие e-mail'ы, в которых говорится, что вы продвинулись с 32% работы до 35% и вы точно соблюдаете график, чтобы завершить 25 декабря. Удостоверьтесь, что реальные факты доминируют над вымыслами по поводу того, с правильной ли скоростью реализуется проект. Да, и не разрешайте вашим начальникам использовать титановые клюшки от Callaway, независимо от того, насколько сильно вы хотите, чтобы они выиграли, федерация USGA запретила их.
---
Оригинал статьи: http://local.joelonsoftware.com/wiki/Секрет айсберга