четверг, 18 декабря 2008 г.

Хорошие и плохие вопросы

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

Глупо: Где мне найти информацию о Foonly Flurbamatic?

Этот вопрос просто напрашивается на ответ "STFW".

Правильно: Я попытался поискать в Web с помощью Google по запросу "Foonly Flurbamatic 2600", но полезных ссылок не получил. Не знает ли кто-нибудь, где найти информацию о программировании этого устройства?

Этот вопрошающий уже поискал в Web и, похоже, у него - реальная проблема.

Глупо: Я не могу скомпилировать код проекта foo. Почему он некорректен?

Он думает, что кто-то другой облажался. Самоуверенный тип.

Правильно: Код проекта foo не компилируется в ОС Nulix версии 6.2. Я прочитал ЧаВО (FAQ), но там нет ничего о проблемах с Nulix. Вот запись сеанса компиляции; что я сделал неправильно?

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

Глупо: У меня проблемы с материнской платой. Не может ли кто-нибудь помочь?

Любой хакер на такой вопрос в уме ответит, скорее всего так: "Хорошо. Может, тебе еще помочь срыгнуть и пеленку поменять?", и нажмет клавишу Delete.

Правильно: Я попробовал X, Y и Z на материнской плате S2464. Когда это не сработало, я попробовал A, B и C. Обратите внимание на странный симптом при попытке сделать C. Очевидно, что эта фигня не фурычит, но результаты получаются непредсказуемые. Что обычно приводит к тому, что не фурычат многопроцессорные материнские платы с Athlon? Нет ли у кого идей для дополнительных тестов, которые помогут изолировать проблему?

Этот товарищ, напротив, кажется, достоин ответа. Он продемонстрировал способность решать проблемы, а не просто ждет, пока ответ упадет ему с неба.

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

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

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

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

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