С разрешения издательства Альпина Паблишер публикуем главу из книги журналиста Брайана Кристиана и ученого-когнитивиста Тома Гриффитса. По их мнению, программисты и математики уже давно разработали алгоритмы, которые позволяют компьютерам найти оптимальное решение в заданное время и с минимальными затратами сил и средств.

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

Как мы проводим каждый день, так мы проводим свою жизнь.
ЭННИ ДИЛЛАРД

«Почему бы нам не написать книгу о теории планирования? — спросил я. — Это же не должно занять много времени!» Написание книги, как ведение войны, зачастую влечет за собой грубые просчеты во времени. Пятнадцать лет спустя книга о планировании все еще не закончена.
ЮДЖИН ЛОУЛЕР

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

Некоторые имеют высокую срочность, но при этом не важны. Другие крайне важны, но могут подождать. Как говорил Аристотель, «мы есть то, что мы делаем изо дня в день», будь то мытье пола, совместный досуг с семьей, вовремя уплаченные налоги или изучение французского языка.

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

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

Конкурирующий бестселлер «Выйди из зоны комфорта» советует начинать с самой сложной задачи и постепенно переходить к более простым.

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

Уильям Джеймс, «отец американской психологии», утверждает, что «нет ничего более мучительного, чем постоянное присутствие нерешенной задачи в жизни человека».

Но Фрэнк Партной в книге «Подожди!» выступает за то, чтобы сознательно не начинать делать дела сию минуту.

У каждого гуру есть своя система, и сложно определиться, кого слушать.

Наука о времяпрепровождении

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

Четыре года спустя он закончил обучение и начал работать на Мидвэльском сталелитейном заводе — сначала токарем, затем бригадиром механического цеха и в конце концов стал главным инженером. За это время он пришел к выводу, что время работы техники (и людей) использовалось не очень-то эффективно. Этот вывод и лег в основу разработанной им дисциплины, которую он назвал «научный менеджмент».

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

Во втором десятилетии ХХ века он создаст свою знаменитую диаграмму, которая впоследствии поможет реализовать несколько наиболее амбициозных проектов столетия в сфере строительства — от дамбы Гувера до системы межштатных магистралей США. Век спустя диаграммы Ганта все еще украшают стены кабинетов и экраны ноутбуков руководителей проектов в таких компаниях, как Amazon, IKEA и SpaceX.

Тейлор и Гант сделали планирование объектом своих исследований и дали ему визуальную и концептуальную форму. Однако они не разрешили фундаментальный вопрос: какая же система планирования лучше? Первый намек на то, что на этот вопрос в принципе можно ответить, появился только спустя несколько десятилетий — в 1954 году в научной работе, опубликованной математиком-исследователем Селмером Джонсоном из корпорации RAND.

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

Количество времени, которое займет каждый процесс, напрямую зависит от того, что вы загружаете. Если одежда сильно запачкана, то времени на стирку потребуется больше, при этом время на сушку не будет отличаться от обычного. Большее количество вещей будет дольше сушиться, но стирка займет то же время, что и в случае меньшей загрузки. И здесь Джонсон задал вопрос: «Если за один подход вам необходимо постирать и посушить несколько условных комплектов вещей, как это лучше организовать?»

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

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

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

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

Далее мы рассмотрим только один крошечный класс такой литературы, где в отличие от переплетного дела или прачечной необходимо планировать работу одного устройства. Существенная для нас проблема планирования действительно касается только одного устройства — нас самих.

Брайан Кристиан и Том Гриффитс.

Справляемся с дедлайнами

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

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

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

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

Мы привыкли к тому, что, например, для каждой задачи существует срок исполнения и допустимая величина просрочки. Таким образом, мы можем ввести термин «максимальное опоздание выполнения набора задач» — наибольший среди этих задач срыв установленного срока исполнения (именно это будет учтено вашим работодателем при оценке вашей деятельности). Для розничных покупателей или заказчиков услуг, например, максимальная задержка выполнения задачи соответствует самому долгому времени ожидания для клиента.

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

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

Все, что важно, — это знать, когда задание должно быть исполнено.

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

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

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

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

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

Как разобраться с делами

Делай сложные дела, пока они простые, делай большие дела, пока они маленькие.
ЛАО-ЦЗЫ

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте на Зожнике:

Тайм-менеджмент для разгильдяев. Кто такие иррационалы?

Исследование ACE: в каком порядке делать упражнения эффективнее

«Триатлон – это новый ответ на кризис среднего возраста»

Как создать свой план питания

Жиросжигание и рельеф: что можно сделать за 3 недели