Представьте, что вам никак не даётся решение какой-нибудь сложной рабочей задачи. Вы чувствуете, что решение есть, оно где-то рядом, но у вас не получается его «нащупать». Например, вы никак не можете найти очевидный баг. Такое бывает и с обычными повседневными задачами — вроде всё просто, все данные и условия перед глазами, а ответ никак не приходит в голову. Как будто забытое слово или песня, которые вертятся на языке, но никак не вспоминаются.

Обычные стандартные методы и шаблоны тут не подходят. Приходится изобретать что-то новое, но мозг никак не может «переключиться» — всё время пытается пойти по известной, наезженной дороге. Зато когда задачу всё-таки удаётся решить, мы чувствуем себя настоящими победителями — всегда приятно одолеть сложную проблему и найти для неё оптимальное решение.

Что же делать в таких случаях? Как подходить к решению таких задач? Как заставить свой мозг мыслить творчески?

Метод утёнка

Метод утёнка (rubber duck debugging) — это метод, который помогает найти ответ на сложный вопрос или решить трудную задачу. Смысл метода заключается в том, что вы делегируете задачу мысленному помощнику — резиновому утёнку.

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

Если вам, например, никак не удаётся найти ошибку в работе процедуры, вы можете шаг за шагом подробно объяснить утёнку, что делает каждая строка кода. Говорят, что это помогает быстро найти ошибочный фрагмент. Можно, конечно, пытаться объяснять что-то самому себе, но это почему-то не даёт таких же результатов, да и не так весело.

Вместо утёнка можно использовать любого другого собеседника. Это может быть мини-фигурка Lego или горшок с хлорофитумом. Знаю сразу нескольких разработчиков, разместивших около своих компьютеров глиняных лягушек в смешных шляпах. У меня на рабочем столе тоже есть личный пернатый «консультант». В конце концов, вы всегда можете побеседовать со своим любимым котом. Главное, чтобы вам было комфортно рассказывать реальному или воображаемому собеседнику о вашей проблеме.

Метод коридорного тестирования

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

Резиновый утёнок и коридорный собеседник / Wikimedia Commons
Резиновый утёнок и коридорный собеседник / Wikimedia Commons

Герой «Теории Большого взрыва» Шелдон Купер перед своим выступлением по радио как-то заявил: «Итак, это основные вопросы, которые завтра будут обсуждаться в радиопередаче. Мне необходимо убедиться в том, что они достаточно просты для понимания менее образованной публикой. Говард, почитай и скажи, что тебе непонятно». Друг Шелдона — Говард Воловиц, будучи отличным инженером, выпускником MIT и астронавтом побывавшим на МКС, после такого заявления, ясное дело, сильно расстроился.

По сути Шелдон применил метод, который известный специалист по юзабилити Якоб Нильсен назвал «коридорным тестированием» (hallway testing). Суть этого метода заключается в том, чтобы попросить несведущего случайного человека протестировать прототип вашего приложения, сайта или документа.

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

Якоб Нильсен пишет, что с помощью «коридорного тестирования» можно обнаружить до 95% ошибок, связанных с удобством и простотой использования. Сфера применения коридорного тестирования гораздо шире, чем проверка работы приложения или сайта. Так можно проверять тексты, архитектуры, идеи. Эта методика помогает получить мнение непредвзятого, неопытного человека, который видит ваш проект впервые. Те, кто использовали методику «коридорного тестирования», говорят, что они узнали о своём детище много нового и крайне неожиданного.

Если же у вас есть проблема или задача, на которую вы никак не можете найти ответ, попробуйте объяснить её своему коридорному собеседнику. Он выгодно отличается от утёнка тем, что может вам ответить. Причём ответ может быть довольно глупым, но обязательно к нему прислушайтесь. Возможно, вам захочется воскликнуть: «А что, так можно было?!»

Не бывает глупых вопросов и глупых ответов

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

Отбросить все свои знания нелегко: просто так память и интеллект не отключишь. Но ради решения сложной задачи стоит попытаться взглянуть на неё так, как будто всех ваших знаний не существует. Тут-то нам и поможет наш коридорный собеседник. За неимением такового можно побеседовать и с утёнком. Они помогут вам найти решение из разряда «Это настолько глупо, что может сработать».

Профессионалы в мире резиновых уточек / Wikimedia Commons
Профессионалы в мире резиновых уточек / Wikimedia Commons

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

Иногда полезно на некоторое время перестать быть серьёзным профессионалом и попробовать думать проще. Стереотипы и инертность мышления часто мешают нам взглянуть на проблему под другим углом. Но нам на помощь всегда готовы прийти резиновый утёнок или коридорный собеседник.

Статья была впервые опубликована на другом ресурсе 6 августа 2021.

Комментарии (4)


  1. tmplts
    17.01.2022 09:24
    +6

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

    Именно что байка. Сначала карандашом писали все (и наши, и не наши), но пыль от графита и фрагменты (слои) бумаги мешали, а еще были легковоспламенимы, поэтому когда появилась ручка Fisher (которую.и изобрели вроде бы не под руководством NASA), на нее пересели все.


  1. MentalBlood
    17.01.2022 10:02
    +1

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

    Это кстати пример XY-проблемы


  1. AnthonyAxenov
    17.01.2022 10:58
    +3

    По поводу утёнка. Где-то видел такую цитату (за точность зуб не дам):

    Мой кот -- самый умный на свете. Стоит ему рассказать о своей проблеме, всё сразу становится понятно.

    КМК, всё сводится к следующему: когда ты рассказываешь проблему, с которой столкнулся, ты невольно упорядочиваешь все известные тебе сведения с одной простой целью -- чтобы собеседник тебя понял. Тут даже не обязательно получать ответ. Важно хотя бы для себя самого понять свою же цепь рассуждений. И тут вполне подойдёт утёнок, кот, etc, зачем кому-то грузить голову страшными словами?

    Если нужен какой-то непредвзятый взгляд -- рассказываем человеку, ждём реакцию. Тут даже лучше: он чего-то не понимает, ты дополняешь (может, переформулируя). В такой беседе у самого чётче формируется понимание того, что ты говоришь. Я обычно объясняю всё на пальцах супруге. В какой-то момент ловишь инсайт и успешно решаешь задачу.

    Короче, хорошая метода, работает.


  1. andi123
    18.01.2022 09:43
    +2

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