Мне недавно задали следующую задачку на сообразительность: «Есть ванна полная воды. Рядом лежат кружка и чайная ложка. Тебя просят освободить ванну от воды. Что ты сделаешь?» Я, не задумываясь, ответил: «Выдерну пробку». Расчет же здесь идет на то, что человек начнет соображать, каким образом можно более эффективно использовать кружку и ложку, а про пробку даже и не подумает. Любопытно, что очень многие люди пытаются решать задачу именно так!
Это яркий пример того, что существует два типа мышления: идеализированное (модельное или научное) и инженерное (практическое). Пользуясь первым, человек решает задачу в идеализированной, упрощенной модели мира; пользуясь вторым, – в условиях реального мира.
К модельному мышлению нас начинают приучать еще в школе, т.к. большинство школьных задач очень просты и идеализированы. Даже в университетах очень многие дисциплины продолжают оперировать упрощенными моделями, которые учат решать учебные задачи, но не реальные проблемы. Это приводит к тому, что человек, сталкиваясь с необходимостью применить свои знания на практике, не может этого сделать, т.к. все его знания просто неприменимы в жестких условиях и ограничениях окружающего мира. Научное мышление оказывается непрактичным.
Идеализированный тип мышления полезен в ситуациях, когда необходимо «прощупать», представить путь решения проблемы, когда очень высока степень неопределенности и конечные условия пока неизвестны. Это характерно для научных исследований и связано с глубоким теоретическим пониманием функционирования объектов. Однако для решения конкретных практических задач важно не глубокое понимание теории, а конкретные практические знания об используемых объектах.
Часто бывает, что научный подход не может решить задачу в силу ее размерности или сложности, но задача успешно решается в реальном мире, если принять некоторые допущения и погрешности. Бывает и наоборот, когда в теории все просто, но, скажем, физические ограничения по ресурсам не позволяют претворить решение в жизнь.
Проиллюстрирую различия между типами мышления еще на двух примерах.
Задача: К хвосту кота привязана консервная банка. С какой скоростью должен бежать кот, чтобы не слышать звука гремящей за спиной жестянки?
- Ответ по идеализированному подходу: бежать быстрее скорости звука или стоять на месте (частный случай).
- Ответ по инженерному подходу: можно бегать вокруг банки с любой скоростью (банка при этом не двигается); можно бегать в среде, где нет атмосферы (звука не будет); можно на банку приклеить изоляцию и она не будет греметь; можно заткнуть уши коту; можно придать такую форму банке, что она будет взлетать при определенной скорости (меньшей скорости звука) и др.
Задача: Нарисуйте домик.
- Идеализированный рисунок будет, скорее всего, выглядеть как некий образ домика (квадратное основание, треугольная крыша, окно).
- Человек, мыслящий инженерно, сначала поинтересуется, для чего предназначен дом, в каком климате будет строиться, сколько человек в нем будут жить, какие дополнительные условия надо соблюсти. И только потом нарисует дом, представив свои решения по указанным требованиям.
Думаю, теперь очевидно важное отличие инженерного мышления. Оно практично. Поэтому и для разработки программного обеспечения, и для бизнеса в целом очень важно именно инженерное мышление. Так как и программистам, и бизнесменам приходится решать реальные задачи, которые зависят от множества условий и ограничений.
Technorati tags: психология, бизнес, psychology, business