← ко всем записям

О скоростях

Спешка хороша не только в ловле блох

Компания гугл в начале своего существования сделала скорость поиска своим приоритетом. Гипотеза была в том, что если поиск работает быстро - люди пользуются им чаще: скорость поощряет пробовать, получать обратную связь и пробовать снова. Мы злимся на вещи, которые работаю медленно (например, старый сканер или автор серии книг песнь льда и пламени), а машина, которая выглядит быстрой по-умолчанию кажется лучше, чем машина, которая выглядит медленной. Когда возникает мысль - ты можешь вбить ее в строку поиска гугла, и получить какое-то количество более-менее релевантных результатов. Поскольку между действием и ответом нет задержки - поиск ощущается как продолжение мысли.

Работать тоже лучше быстро: чем быстрее ты делаешь дело, тем больше дел ты успеваешь сделать за отрезок времени. Это не единственный плюс! Если ты работаешь быстро, “цена” нового действия снижается: ты знаешь, что дело тебя не похоронит, ты с ним быстро разберешься, ты не чувствуешь уныния. В результате ты охотнее берёшься за большее количество дел.

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

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

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

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

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

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

Общее правило: если ты быстро ешь пирог, то получаешь награду в виде дополнительного куска пирога. Если ты ешь медленно - уходишь с праздника голодным.

Для компаний справедливо тоже самое: если доставка товара займет месяц, я закажу другой товар, или ничего не закажу. Если товар можно получить через 30 секунд, просто взяв его с полки - я возьму два или три товара.

Вывод должен быть простой: если хочешь что-то делать хорошо - писать текст, выходить на пробежку в 5.45 утра, общаться с людьми - делай это быстро. Быстро не в значении “наплевательски”. Быстро - значит пушить себя, чтобы достигнуть определенной скорости. Быстро - значит устранить замедляющие факторы (такие как электронные туду-листы). Если делаешь что-то быстро - ты радуешься. Если делаешь медленно - грустишь.

Но как понять, будет ли задача быстрой?

Прежде чем ловить блох, их надо посчитать

Любой профессионал умеет оценивать время выполнения задачи. Изделие на станке будет изготовлено за 30 минут. Суп будет сварен за час. Текст будет написан за два. Компания достигнет финансовых результатов к концу третьего квартала.

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

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

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

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

Половина недели дает вклад в одну треть от половины недели, одна неделя - вклад в одну треть недели, две недели - вклад в две трети недели. Если сложить эти три вклада, получится общее среднее время. В сумме это даёт три с половиной недели, распределённые на три одинаково вероятных случая, то есть семь шестых недели, или примерно 1,17 недели.

Наша медиана профессиональной оценки не меняется, потому что она определяется не вкладом крайних значений, а порядком исходов: если упорядочить варианты от меньшего к большему, середина приходится ровно на одну неделю. При этом, в модели математического ожидания отклонения в большую сторону будут весить больше, чем отклонения в меньшую сторону (несмотря на субъективное ощущение “быстроты”, или, наоборот, “медленноты”).

Чтобы формально описать это расхождение, вводится фактор инфляции: отношение фактического времени к оценочному. Этот коэффициент не может быть отрицательным и редко бывает существенно меньше 1, но иногда бывает в разы больше 1. Такое поведение хорошо описывается логнормальным распределением: сейчас я про него расскажу.

Если взять логарифм фактора инфляции, получается обычное нормальное распределение, центрированное около нуля. Центр около нуля означает медианный коэффициент инфляции 1x, потому что log(1) = 0.

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

При этом важно, что распределение асимметрично: ускорение ограничено снизу, потому что нельзя сделать задачу за ноль времени, а перерасход времени ничем не ограничен сверху.

Например, log(реально / в оценке) = 1 дает фактор инфляции exp(1) ~ 2,72. А log(реально / в оценке) = 2 — уже exp(2) ~ 7,4. Поэтому среднее значение всегда будет расти быстрее медианы.

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

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

Отсюда следует эффект доминирования: если в плане из 20 задач есть одна задача с большим “0”, то время на ее выполнение способно поглотить большую часть времени всего проекта. По медиане она будет выглядеть обычной, а по значению математического ожидания займет х30 от медианы. Такова жизнь.

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

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

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

Это довольно депрессивно.

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

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

Еще одно решение - ограничить время выполнения проекта, и не оценивать время выполнения задач вообще. Пан или пропал.

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

В общем, работать надо быстро. Медленно лучше не работать.

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