Когнитивные искажения в программировании. Часть 3

c696492ff38da87072273494ac8ceb93.png

Всем привет!

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

Сегодня на препарацию у нас:

  • корыстная предвзятость (self-serving bias);

  • ошибка планирования (planning fallacy);

  • эффект повального увлечения, конформизм (conformity);

  • эффект авторитета (authority bias).

Итак, поехали!

Корыстная предвзятость

8587b132b44d40f37d1bbe9c7e8e4a46.jpg

Часто переводят как «эгоистическая погрешность» или «эгоистическое предубеждение». В чем же она заключается? Это тенденция в случае успеха гладить самого себя по голове и приговаривать: «Ай молодец! Ай умница! Чудо, а не человек, всем человекам на зависть!» Ну, а если что-то пошло не так, то тут, конечно же, песенка другая: «Не виноватый я, меня подставили! И вообще это все ретроградный Меркурий на пару с магнитными бурями постарались. А вы так и вовсе мне задачу неправильно сформулировали, вот!». Короче, списываем все на влияние внешних факторов — и вуаля! Вы снова великолепны. Проявляется везде: и в личной жизни, и в хобби, и в работе. В общем, бдите.

Склонность к корыстной предвзятости сильно зависит от многих факторов. Думаю, стоит рассказать о них подробнее.

Культура. К примеру, в Японии люди не склонны к проявлению этого искажения.

Возраст. Пожилые чаще объясняют отрицательные последствия внутренними причинами.

Самооценка. Чем выше самооценка, тем более вероятно проявление этого искажения. Что, в общем-то, логично: чем выше самооценка, тем больше ее надо защищать.

И, наверное, самое главное — локус контроля. Он бывает внешним и внутренним. Люди с внутренним локусом считают, что лично они контролируют все вокруг и результат определяется их действиями. Ну, а люди с внешним уверены, что исход зависит от внешних сил и факторов. Случай, удача — и они ничего изменить не могут. Как вы догадались, вторые чаще демонстрируют корыстную предвзятость. Кстати, если все идет как надо и результаты удовлетворяют ожиданиям, разница будет не столь заметна.

Совет: соблюдайте баланс. Важно найти золотую середину: стараться не винить всех вокруг в своих бедах, но и не сваливаться в пучину самобичевания, особенно когда объективно никакие разумные действия не могли предотвратить неудачи. Вы видели выше слово «объективно», вот оно все и портит. Человек редко может быть объективным, а когда дело касается его самого, то и подавно. Иногда очень сложно понять, что пошло не так. То ли мы плохо постарались, то ли и вправду все сложилось не самым лучшим образом и такие риски было невозможно предусмотреть. Все же «черные лебеди» обычно прилетают неожиданно.

Вы, наверное, задаетесь вопросом: «А где тут про искажения в программировании?» И правда, в блоке выше все очень далеко от дел насущных и разработки в частности. Прошу простить меня за такое отступление, но эта информация пригодится для лучшего понимания того, о чем я расскажу дальше.

И вот теперь — возвращаемся ближе к разработке.

Ошибка планирования

5436fbaf8c7411af1d3bb12f9ff8bdcc.jpg

Тенденция недооценивать время выполнения задач, стоимость и длительность реализации проектов, особенно новых, сложных, больших и уникальных. Кстати, слышали, наверное, про законы Мерфи? В одном из них засветилось это искажение: «Всякая работа требует больше времени, чем вы думаете».

И самое забавное в этом искажении то, что оно не зависит от накопленного опыта, полученного при оценке аналогичных задач в прошлом. Мы все равно рассчитываем на гораздо меньшие затраты времени и ресурсов. Задача ведь кажется знакомой и понятной, и мы все, конечно же, учли (нет). В то же время искажение влияет только на оценку собственных задач. Объективность в отношении себя — это прям сложно.

Думается мне, чтобы найти ответы на вопросы «кто виноват?» и «что делать-то теперь, а?», надо разобрать причины возникновения искажения. Сразу огорчу. К единому ответу специалисты так и не пришли. Мне кажется, тут и не может быть одного ответа для всех. Искажение одно, а причин много. (Но все дороги ведут к факапу.) Так что я расскажу о тех, которые считаю наиболее частыми и реалистичными.

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

Самая частая причина — это корыстная предвзятость. Прошлые успехи люди зачисляют на свой счет, а неудачи — на влияние внешних факторов. Да, да. Именно об этом искажении мы только что и говорили. В одном из исследований был выявлен интересный факт: когда люди делают свои прогнозы анонимно, они не склонны к излишнему оптимизму. Какой отсюда вывод? Люди дают оптимистические оценки, потому что хотят создать благоприятное впечатление у других. Ведь хочется, чтобы другие смотрели с восхищением, гладили по голове и приговаривали: «Ай молодец! Ай умница! Чудо, а не человек…» — ну и дальше по тексту. Некоторые из вас, наверное, заметили, что вроде там говорилось об интерпретации результатов, а сейчас — о создании впечатления. Дело в том, что мотиваций у корыстной предвзятости две. Самоусовершенствование (поддержание самооценки) и самопрезентация (стремление передать желаемый образ окружающим). Вот из-за второго фактора и происходит ошибка в планировании.

Вторая причина — императив одобрения. Часто основная доля планирования приходится на этап, когда надо получить одобрение (или даже финансирование). Как правило, тот, кто планирует, заинтересован в том, чтобы получить это самое одобрение. Как следствие — оценщик занижает оценку необходимых усилий. Проще получить прощение, чем одобрение. Мы же помним, что в случаях, когда мы про… пропустим дедлайны, уже у клиента будет работать искажение «Иррациональная эскалация» или «Ошибка невозвратных затрат». Джонс и Юске назвали такую преднамеренную недооценку стратегическим искажением.
Мне нравится. Предлагаю так и отвечать.

— Вы нас обманули! Обещали, что все будет готово неделю назад!
— Позвольте, позвольте! Вас никто не обманывал, это было стратегическое искажение.

Ну и напоследок еще одна причина. Думаю, в некоторых случаях имеет место проблема масштабирования. При любом процессе возникают случайные события. Они вызывают задержки и дополнительные расходы. И вся соль в том, что последствия негативных событий нелинейны. Влияние негативных событий становится сильнее с ростом сложности проекта. Это снежный ком, катящийся с горы. Чем сложнее проект, тем сложнее бороться с последствиями. Слишком много процессов и решений связаны друг с другом. Ни для кого не секрет, что при ошибочной или неоптимальной архитектуре может пострадать вся система.

Самые известные примеры:

— каждый второй проект, который вы делали.

Ладно, ладно, я шучу.

Сиднейский оперный театр должны были сдать в 1963 году. В итоге он был открыт в 1973 году, спустя десятилетие и в упрощенной версии. Первоначально стоимость оценивалась в семь миллионов долларов, но его несвоевременное завершение увеличило фактическую стоимость до ста двух миллионов.

Центральная магистраль в Бостоне была завершена на семь лет позже, чем планировалось, и с перерасходом в двенадцать миллиардов долларов.

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

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

Ну, а теперь немного о том, как противостоять.

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

Минус же этого подхода очевиден: требуется дополнительное время и большое количество когнитивных усилий.

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

Минусы: во-первых, всего не предусмотришь, во-вторых, на разработку стратегий тратится время.

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

Минусы. Нужен объективный анализ, а это время и усилия. Не всегда можно подобрать аналоги. Есть вероятность упустить некоторые факторы.

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

Минусы. Требуется время. И самое печальное, что время не одного человека, а нескольких. Сложно построить правильный процесс, в рамках которого удастся получить недостающую информацию о проекте и при этом сохранить анонимность. Но в целом задача решаема.

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

Минусы тут очевидны. Все зависит от того, насколько вы можете стать объективным. То есть успешность такого подхода примерно от 0 до 100. А как мы знаем, истина всегда где-то посередине. Или получится, или нет.

Совет: выберите для себя метод оценки, который дает наилучший результат. Даже если это потребует времени и ошибок. Еще можно высчитать свой коэффициент погрешности. Возможно, за вас уже кто-то это сделал. Возможно, ваш лид или руководитель проекта. Я в свое время высчитал, насколько обычно я оптимистичен, и добавляю коэффициент моей оптимистичности к итоговой оценке.

Фуф. Было сложновато. Думаю, теперь надо поговорить о чем-то более легком и приземленном. Давайте, к примеру, обсудим конформизм.

Эффект повального увлечения, конформизм

247af58d00b7d97f9b0fbf8c15b03504.jpg

Это боязнь выделяться из толпы, тенденция делать (или верить в) вещи, потому что много других людей делают это (или верят в это). Относится к групповому мышлению, стадному поведению и маниям.

Если простыми словами, то конформизм — это быть как все. Изменение в поведении или мнении человека под влиянием реального или воображаемого давления со стороны другого человека или группы людей. Разумеется, сюда может добавиться и эффект авторитета, и еще куча всего. На самом деле это называется конформностью. Но конформизм используется как синоним, хотя в обыденной речи имеет немного негативный оттенок и означает приспособленчество.

Традиционно выделяют два вида конформности:

  • внутренняя (пересмотр человеком своих взглядов);

  • внешняя (человек остается верен своим убеждениям, но избегает на внешнем, поведенческом уровне противопоставления себя обществу).

Если утрировать, то в первом случае вы реально начинаете считать, что не ставить точку с запятой в коде — хорошо. Во втором случае продолжаете считать, что «это дичь какая-то», но все же не ставите, потому что на проекте так принято.

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

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

Разумеется, как и все в психологии, подверженность конформизму обуславливается многими факторами.

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

Микросоциальные характеристики: статус и роль в группе, значимость группы.

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

Культурные особенности: к примеру, в Японии и Китае конформность будет интерпретирована как тактичность.

Очень часто можно заметить, что некоторые разработчики используют те или иные решения, абсолютно не задумываясь о том, почему они это делают, зачем, нужно ли это. Карго-культ во всей красе. В целом, если все это используют, наверное, и в нашем случае сработает. Но будет ли это эффективно и объективно оправданно? Разумеется, обратное поведение и изобретение велосипеда для каждого случая — тоже не особо здоровая история.

Совет: если вы бежите в ногу со всеми, убедитесь, что вокруг не лемминги и вы тоже не лемминг. (Да, я знаю, что роскомнадзорнуться с обрыва леммингам мешает то, что это миф. А было бы такое удачное сравнение, эх…)

Эффект авторитета

750a0f9848e727be6adc60e8bbed7edc.jpg

Зависимость от мнения авторитетной фигуры. Кто кого считает авторитетом — это уже, конечно, отдельный вопрос. Люди соглашаются с суждением авторитетной или известной фигуры и зависят от его мнения, напрочь забывая, что любой человек в первую очередь человек. Он тоже может ошибаться. Очень забавно, когда в диспуте приводят цитату того, кто авторитетом является только для одного из дискутирующих. Ну и в программировании часто при обсуждении тех или иных подходов можно услышать: «Вот Вася (можете добавить любые имена по вкусу) сказал, что надо делать так». Я ни в коем случае не хочу поставить под сомнение компетенции тех людей, имена которых вы добавили выше. Но есть одно маленькое «но». Они, в первую очередь, люди. Они могут болеть, грустить, страдать, радоваться, заблуждаться и, конечно, быть подвержены когнитивным искажениям.

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

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

Эксперименты

ef48bbd912fbaed244f95a40e4685bad.jpg

Ну, а теперь — к вкусному! Эксперименты!

Я, если честно, тащусь (в смысле я в шоке, конечно же) от психологических экспериментов, которые проводили в прошлом веке. Сказать, что они порой были за гранью добра и зла, — это не сказать ничего. Если будет интересно, почитайте, к примеру, про эксперимент «Маленький Альберт» (Little Albert experiment).

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

Итак, самый известный эксперимент — эксперимент Милгрэма. Идея заключается в том, как далеко могут зайти люди, уверенные, что это делается с согласия, во благо и в честь чего-то, подчиняясь командам стороннего человека (авторитета). Сама реализация эксперимента достаточно проста. Он был представлен как опыт влияния боли на память. «Учитель» зачитывал «ученику» список ассоциативных пар слов, которые «ученик» должен был запомнить. Затем «учитель» зачитывал первое слово из пары и четыре варианта ответа. «Ученику» нужно было выбрать правильный ответ и нажать соответствующую кнопку. В случае ошибки «учитель» сообщал, что ответ неверен, предупреждал, удар каким напряжением получит «ученик», нажимал на кнопку, якобы наказывающую «ученика» ударом тока, и затем озвучивал правильный ответ. Начав с 15 В, «учитель» с каждой новой ошибкой должен был увеличивать напряжение с шагом в 15 В вплоть до 450 В. При достижении 450 В экспериментатор требовал, чтобы «учитель» продолжал использовать последний выключатель (450 В). После трехкратного использования последнего переключателя эксперимент прекращался.

На самом деле «учеником» был актер, а ответы и ошибки подбирались так, чтобы на каждый верный ответ приходилось 3 неверных. Если испытуемый «учитель» начинал колебаться, то экспериментатор требовал продолжения с помощью одной из фраз (примерный перевод на русский):

«Please continue.» или «Please go on.» — «Пожалуйста, продолжайте».
«The experiment requires that you continue.» — «Эксперимент требует, чтобы вы продолжили».
«It is absolutely essential that you continue.» — «Очень важно, чтобы вы продолжали».
«You have no other choice; you must go on.» — «У вас нет другого выбора, вы должны продолжать».

Эксперимент прерывался, если были произнесены все четыре фазы друг за другом. Результаты были весьма впечатляющими: 65% «учителей» дошли до конца. Это, на минуточку, больше половины.

Есть еще тюремный эксперимент. Там еще жестче. Советую прочитать. К нему, правда, очень много критики. Хороший и подробный перевод статьи об этом эксперименте и всем, что с ним связано, тут.

Ну и достаточно лайтовый эксперимент Аша. Там вообще все просто.
Все участники, кроме одного, были подсадными утками. В контрольную группу подсадные утки, разумеется, не входили. Участники сидели в аудитории, и им демонстрировали по порядку две карточки: на первой изображена одна вертикальная линия, на второй — три, только одна из которых такой же длины, что и линия на первой карточке. Задача студентов довольно проста: необходимо ответить на вопрос: «Какая из трех линий на второй карточке имеет такую же длину, что и линия, изображенная на первой карточке?». Испытуемому предстояло просмотреть 18 пар карточек и, соответственно, ответить на 18 вопросов. Каждый раз он отвечал последним в группе. На первые два вопроса все дают одинаковые, правильные, ответы. Но на третьем этапе подсадные утки дают один и тот же неправильный ответ, что приводит испытуемого в замешательство. Если он отвечает правильно, не соглашаясь с мнением большинства, то начинает испытывать чрезвычайный дискомфорт. Как правило, в каждом эксперименте на 18 вопросов 12 раз все подсадные утки отвечали неправильно, но в некоторых случаях один или несколько подставных участников были проинструктированы отвечать правильно на все 18 вопросов.

В итоге 75% испытуемых подчинились заведомо ошибочному представлению большинства, по крайней мере, в одном вопросе. Общая доля ошибочных ответов составила 37%. В то же время в контрольной группе один ошибочный ответ дал только один человек из тридцати пяти. Когда же заговорщики не были единодушны в своем суждении, испытуемые гораздо чаще не соглашались с большинством. Если независимых испытуемых было двое или если один из подставных участников получал задание давать правильные ответы, количество ошибок падало более чем в четыре раза. Когда кто-то из подставных давал неверные ответы, но также не совпадающие с основным, ошибка также сокращалась до 9–12% в зависимости от категоричности «третьего мнения».

Это были обычные люди. Скажем так, среднестатистические индивидуумы. Показатели вышли просто поразительные. Стоит еще заметить, что вопрос-то был простой. Не должно было быть вообще места сомнению. Это не обсуждение скорости рендеринга или оптимальной архитектуры, где в силу большого количества нюансов можно сомневаться в своих знаниях. Возможно, кто-то сейчас подумал, что он не относится к среднестатистическому большинству и определенно стоит на следующей ступени эволюции. Возможно. Я лишь напомню, что 75% водителей считают, что на дороге они внимательнее, чем среднестатистический водитель. Я думаю, вы видите противоречие и нестыковку в цифрах?

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

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

© Habrahabr.ru