cartmendum (cartmendum) wrote,
cartmendum
cartmendum

Categories:

Мы лажаем, потому, что боимся облажаться

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

В своей книге Коберн вводит понятие Failure Modes (переведу как «проигрышные стратегии»). Одной из этих Failure Modes является «Fail conservatively rather than succeed differently» (облажаться привычным образом вместо того, отличиться по-новому). Звучит примерно также, как я сформулировал это ранее, только Коберн написал свою книгу за 10 лет до того, как я свой пост. Ну не суть…

В своей книге Коберн основывается на экспериментах Пиателли-Палмарини (Piattelli-Palmarini). К слову, это один человек – профессор лингвистики и психологии в университете Аризоны. Эксперимент представлял собой исследование стратегий поведения людей в ситуациях, идентичных с математической точки зрения.

Ситуация первая. Вам дают $300, и потом предоставляют выбор:
  • Вы получаете еще $100
  • Вы получаете еще $200, но с вероятностью 50% (с такой же вероятностью вы не получаете ничего).
Ситуация вторая: Вам дают $500, и потом предоставляют выбор:
  • У вас отбирают $100
  • У вас отбирают $200, но с вероятностью 50% (с такой же вероятностью вам оставляют $500)
Теория игр гласит, что в каждой из этих ситуаций оба выбора равноправны. То есть, рациональному игроку будет пофигу, что выбирать. Если бы все мыслили рационально, то число людей, выбравших ту или иную стратегию в каждой из описанных выше ситуаций, было бы одинаковым. Но не тут-то было… Согласно результатам эксперимента, большинство испытуемых в первой ситуации выбирали гарантированные $100 (то есть избегали риска), тогда как во второй ситуации шли на риск в попытке сохранить уже имеющееся.

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

Какой вывод мы из этого делаем?

Помню свою горячую молодость, когда мы лабали автоматизированные тесты для авиационного ПО. Спецификации на это ПО были формализованы до безумия, а если быть более конкретным, то задавались в виде сложной логической функции многих переменных. Суть в том, что высокая степень формализации позволяла автоматизировать работу. В моей горячей голове родилась идея, создать прогу, выполняющую работу команды из 10 человек. Я пришел к руководителю и сказал: «Я готов попытать счастья и взлабать эту прогу. Мне потребуется еще один человечек в помощь и если мы успеем, то завершим проект чуть ли не за половину отведенного времени. Но есть шанс, что мы облажаемся, и тогда мы продолбаем сроки процентов на 20-30». Такой расклад очень сильно напоминал Ситуацию 1 из Пиаттелли-Палмарини. Что выбрать? Как обычно сдать проект, яростно вкалывая матерясь и скандаля на последних неделях (вариант «как обычно»)? Или попытаться с блеском выполнить проект в 2 раза быстрее, но рискуя облажаться так, что вкалывание и матюки не спасут?

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

Понимаю, что «машина, пишущая тесты по требованиям сама» для многих это звучит как фантастика… Многие могут сказать «и правильно, что отказали, много вас таких программистов, которым все кажется простым пока не начали писать код». Я бы не упоминал этот случай, если бы не создал эту машинку в паре с верным боевым товарищем (случилось это годом позже, в далеком 2005). Было не просто… Реально пару месяцев, я ходил только пешком, что бы думать… Выпил центнер пива… Выкурил не один блок сигарет… В результате выдумал аппарат трехзначной матричной логики, который позволил свести задачу нахождения полного набора тестовых сценариев к сложению и перемножению матриц особого вида. И оно взлетело! Исходники сего чуда на С++ до сих пор с огромною любовью хранятся на моем харде.

Почему же во втором заходе компания рискнула нашими человекочасами ради сомнительного результата? Поменялся расклад… Фактически мы лабали эту штуку в наше свободное время, с условием, что это время будет оплачено позже и только при условии, что эта штука взлетит. Мы справились, показав на 80% задач сокращение трудозатрат на составление тестовых сценариев в разы! Не смотря на то, что полные затраты на проект (включая тонну «бумажной» работы) сократились всего-лишь на 10-20%, эта разработка окупила себя на первом же проекте.

Если бы ситуация не встала тем боком, каким она встала, хрен бы кто рискнул ради негарантированного улучшения. Оставаться на месте обороняя уже достигнутые результаты на много спокойнее. Для прорыва вперед нужно пойти на риск отката назад и в случаях, когда матожидание смещения вперед положительно, рисковать нужно, но мы этого не делаем, так как боимся облажаться. Мы рискуем, когда что-то тянет нас назад, и рискуем просто ради того, что бы остаться на том месте, к которому мы уже привыкли. А при таком раскладе движения вперед нет – это просто замедлят деградацию.

И как результат, мы лажаем просто потому, что боимся облажаться…

Мне нравится, как dumtest  сформулировал правило преодоления этого барьера. Четко и емко – «не ссать»!
Tags: project management, zen
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 15 comments