Каталог решений - Думай медленно… Решай быстро

Думай медленно… Решай быстро

Думай медленно… Решай быстро

В наличии

Несколько дней назад коллег подарил мне книгу «Думай медленно… Решай быстро» Даниэль Канеман. При чтении я заметил, что понятия «Система 1», «Система 2» и их взаимодействие хорошо иллюстрируются примерами из повседневной работы программиста. Чтение стало занимательным, а сделанные выжимки по первой части я решил выложить в статью. Возможно кому-то это покажется интересным и захочется прочитать оригинал.

Категория:

Описание

Система 1 – работает автоматически, быстро, легко, без контроля.
Система 2 – выделяет внимание для сознательных умственных усилий.

Система 1 – предлагает решение, а Система 2 его принимает. Мы думаем, что решаем задачу при помощи Системы 2, но на самом деле Система 2 медленно «логически» проверяет «быстрые решения» предложенные Системой 1.

Пример: Надо организовать учет остатков на складе.
Система 1: Надо регистр, а для регистра регистратор и справочники…
Система 2: Логично, хорошее решение.

Система 1 предлагает образы переходя от одного образа к нескольким другим, не обязательно связанных с текущей задачей.  Система 2 анализирует предложенные образы последовательно. Так получается когерентность (связанность, понятность) решаемой задачи. Непонятное непроизвольно игнорируется. Поиск упущений требует дополнительных целенаправленных усилий Системы 2.
Целенаправленное использование Системы 2 в одном задании снижает желание использования Системы 2 в следующем задании, скорость увеличивается, а критичность снижается. Использование Системы 2 снижает удовольствие от исполнения заданий.

Пример: Надо организовать учет остатков на складе.
Система 1: Надо регистр, а для регистра регистратор и справочники…
Система 2: Дай еще варианты.

Система 1: В УНФ есть …
Система 2: Дай еще варианты.

Система 1: В Бухгалтерии есть один вариант реализации
Система 2: Буду сравнивать.., выбираю УНФ

Надо организовать учет взаиморасчетов.
Система 1: В УНФ есть …
Система 2: Логично, хорошее решение.

Надо организовать учет денег.
Система 1: Надо чаю попить…

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

Пример: Надо организовать учет остатков на складе.
Архитектор: Надо регистр, а для регистра регистратор и справочники…
Программист: Логично, хорошее решение.

Система 2 может направлять систему 1 на поиск. Можно целенаправленно вспомнить паттерн (прайминг) и проверить решение на соответствие (поиск).

Пример: Проверка качества «вручную» по чек-листу.

Повторение события, простые формулировки, ранее обдуманная мысль и хорошее настроение формируют когнитивную легкость. Легкое решение кажется правильным, хорошим. Ключевое слово «кажется», т.е. влияет на оценку сложности и трудоемкости. Работает и обратное – сложные слова и длинные предложения увеличивают оценку.
Если во время работы с заданием специально улыбаться (можно специально, растягивая уголки губ) задание будет казаться проще, бдительность Системы 2 снизится, снизится так-же и оценка. Если специально хмуриться – то наоборот. В тоже время «хорошее» настроение стимулирует Систему 1 и качество интуитивно предложенных решений будет существенно выше. Для критического анализа уже знакомой информации лучше использовать «серьезное» настроение.

Пример: Сначала сделаю прототип (пока хорошее настроение), потом исправлю ошибки в прошлых задачах (настроение ухудшиться) и проверю качество прототипа.

Паттерны, выраженные в простых мыслях, формируют легкость и скорость восприятия за счет активного использования Системы 1.
Кроме того паттерны формируют «норму». Отступление от нормы вызывает удивление и инициализирует поиск причины. В результате могут быть найдены причины там, где их нет. Более того может появиться новая «норма».

Пример: Пусть есть две процедуры, которые формируют печатные формы. У каждой печатно формы есть «Шапка», «Шапка таблицы», «Строка», «Подвал». Две процедуры отличаются только именем макета.
При чтении кода Система 1 не произвольно анализирует код, замечает повторение и подкидывает паттерн «Не повторяй код». Система 2 сверяет код, подтверждает повторение и объединяет эти процедуры в одну.
Так формируется ошибочное решение объединить участки кода, которые совпадают «пока что», но имеют разные причины для изменения. В будущем, когда печатне формы будут изменяться скорее всего код придется снова разделить.

Система 1 игнорирует неоднозначности и подавляет сомнения, использует контекст, склонна верить тому что видит и подтверждать (соглашаться со всем). Мерой успеха Системы 1 является когерентность (связанность). В результате из-за различных контекстов могут возникать ошибки восприятия.

Пример: Пусть есть следующий код:

  Функция СоздатьКонтрагента()
  	Контрагент = Справочники.Контрагенты.СоздатьЭлемент();
  	Контрагент.Заполнить(Основание)
  	
  	Возврат Контрагент;
  КонецФункции
  
  Функция ИНН_Контрагента(Контрагент)
  	Запрос = Новый Запрос("ВЫБРАТЬ ИНН ИЗ Справочник.Контрагенты ГДЕ Ссылка = &Контрагент");
  	Запрос.УстановитьПараметр("Контрагент", Контрагент);
  	Выборка = Запрос.Выполнить().Выбрать();
  	
  	Результат = ?(Выборка.Следующий(), Выборка.ИНН, "");
  	Возврат Результат;
  КонецФункции
  
  Процедура МояПроцедура()
  	
  	Контрагент = СоздатьКонтрагента();
  	ИНН = ИНН_Контрагента(Контрагент);
  
  КонецПроцедуры

Система 1 используя контекст все три метода прочитает как «хорошие» и только Система 2, специально направленная на поиск ошибок, может определить, что нельзя передавать объект в запрос.  

Система 1 при оценке сопоставляет интенсивности, в результате можно сравнивать несопоставимые величины (точность вычислений и достоверность информации). Такие «подмены» могут приводить к замене сложного вопроса на более простой.

Пример:

Сложный вопрос (игнорируется)

Просто вопрос (реально решается)

Какая точность прогноза?
(надо вычислить возможные отклонения)

Какая точность вычислений?
(указывается количество знаков после «,»)

Правильно ли ведется учет?
(надо проверить последовательность операций, взаимодействие разных регистров)

Правильно ли используется регистр?
(проверяется отдельная операция в отдельном регистре, связи игнорируются).

has been added to your cart:
Оформление заказа