Начинайте задавать своим заказчикам вопросы как можно раньше, и задавайте вопросы чаще. Не стоит повторять их же словами то, что они сказали о своих пожеланиях. Помните: они имели в виду не то, что сказали вам. Я часто провожу такую проверку: в разговоре с заказчиком заменяю термины заказчика своими собственными и наблюдаю за его реакцией. Вы не поверите, как часто термин
Обсуждайте рабочие темы со своими заказчиками бесчисленное количество раз до тех пор, пока не придете к выводу, что вам действительно понятно, что им требуется. Попробуйте вместе с ними переформулировать задачу два-три раза. Обсуждайте с ними то, что происходит непосредственно перед выполнением задачи, и то, что следует за выполнением задачи, чтобы лучше понять контекст. Если есть возможность, обсудите ту же тему с разными людьми в разное время. Рассказы почти всегда будут разными, что выявит отдельные, но связанные факты. Рассказывая об одном и том же, два человека часто противоречат друг другу. Лучше всего разобраться с этими расхождениями, прежде чем приступать к сверхсложной задаче разработки.
Используйте в беседах наглядные средства. Это могут быть такие простые вещи, как доска во время совещания или простой макет на стадии проектирования, либо такие сложные, как действующий прототип. Общеизвестно, что использование наглядных средств во время обсуждения помогает удержать внимание и закрепить информацию в памяти. Пользуйтесь этим обстоятельством, чтобы обеспечить успех своего проекта.
В прежнюю эпоху своей жизни мне довелось поработать «мультимедийным программистом» в команде, выпускавшей гламурные продукты. Одна наша заказчица очень подробно описала, как она представляет себе внешний вид проекта. Цветовая схема, обсуждавшаяся на проектных совещаниях, предполагала проведение презентации на черном фоне. Мы думали, что все оговорено. Целые команды дизайнеров принялись выдавать сотни многослойных графических файлов. Уйму времени мы убили на формирование конечного продукта. В тот день, когда мы показали клиентке плоды своего труда, нас ждала ошеломительная новость. Увидев продукт и цвет фона, она произнесла: «Когда я говорила „черный“, я имела в виду „белый“». Как видите, «черное» не всегда значит «черное».
Авторы
Алан Гриффитс (Alan Griffiths)
Алан Гриффитс прошел через многие модные поветрия в процессах разработки, технологиях и языках программирования. За эти годы он создал работоспособные программы и процессы разработки для многих организаций, печатался в ряде журналов, выступал на конференциях и подружился со многими людьми. Твердо убежденный в том, что здравый смысл — редкий и ценный рыночный товар, Алан сейчас работает независимым консультантом в собственной компании Octopull Limited.
Алекс Миллер (Alex Miller)
Алекс Миллер — технический руководитель и инженер в Terracotta, Inc., специализирующейся на разработке решений кластеризации с открытым исходным кодом на Java. До Terracotta Алекс работал в BEA Systems над линейкой продуктов AquaLogic и был главным архитектором в MetaMatrix. В сферу его интересов попадают Java, конкурентные вычисления, распределенные системы, языки запросов и проектирование программного обеспечения.
Алекс с удовольствием ведет свой блог
Аллан Келли (Allan Kelly)
Аллан Келли — профессионал в области разработки программного обеспечения, но сейчас работает в роли менеджера команды разработки. Он помогает командам разработчиков повышать эффективность своего труда и внедрять методы гибкого программирования. Аллан работает в Лондоне, предлагает мелким и крупным компаниям услуги по обучению, коучингу и консультированию.
Аллан часто публикуется в журналах, появляется на конференциях и является соавтором «Changing Software Development: Learning to Be Agile» (John Wiley & Sons). У Келли степень бакалавра по информатике и MBA по администрированию. В настоящее время он пишет книгу о шаблонах бизнес-стратегий для компаний, выпускающих программное обеспечение. Подробнее узнать о нем можно на сайте