Выполнять дела в том порядке, в каком они идут в вашем списке, гораздо лучше, чем откладывать их на потом. Приведу лозунг фирмы Nike: «Просто сделай это».
Если ваш список настолько короткий, что вы можете переделать все дела за один день, такой подход тем более оправдан. Если неважно, в какое время дня вы выполнили ту или иную задачу, не все ли равно, в каком порядке вы их выполняли?
Здесь уместна аналогия с загруженностью компьютерной сети. Когда нагрузка невелика, службы, связанные с телефонией, не испытывают проблем. Но когда нагрузка в сети возрастает, эти службы работают лучше, если принята одна из более сложных схем расстановки приоритетов или система оценки качества обслуживания (quality of service, QoS). При малой нагрузке годится любая схема. При большой требуется что-то более структурированное. Если список дел невелик, можно расставлять приоритеты как угодно. Если мы завалены делами, нам потребуется схема посложнее.
Развивая аналогию, хочу спросить вас: знаете ли вы, что система оценки качества обслуживания часто сводится не к тому, что какие-то пакеты обслуживаются лучше? Фактически она сводится к тому, что некоторые пакеты обслуживаются хуже! Если разобраться, внутри системы оценки качества обслуживания происходят довольно любопытные вещи. При небольшой загрузке сеть работает так, словно никакой системы оценки качества нет. Пакеты приходят и уходят. Но когда нагрузка возрастает, отсутствие системы оценки качества приводит к отбрасыванию любого пакета, поступившего последним. Иными словами, в буфере нет места для новых пакетов, и они игнорируются. Совсем другое дело, если работает система оценки качества обслуживания. Когда буфер переполнен, последний пакет не отбрасывается; вместо этого из буфера выкидывается пакет с более низким приоритетом. То есть, платя интернет-провайдеру за лучшее обслуживание при определенном трафике, вы платите за то, чтобы вас не выкинули при повышенной нагрузке. Вы буквально даете провайдеру взятку, чтобы, когда нагрузка в сети возрастает, он выкидывал пакет другого клиента!
То же самое происходит при расстановке приоритетов ваших заданий. В вашем распоряжении ограниченные ресурсы и ограниченный запас времени. Если мы завалены работой, то начинаем недовольно ворчать по поводу любого нового запроса. В действительности же нам следует просмотреть список текущих дел и определить, нет ли там пунктов, выполнение которых можно отсрочить. (К сожалению, взятки нам не светят!)
Вот маленький секрет, который я узнал от Ральфа Лоуры (Ralph Loura), когда он был моим начальником в Bell Labs. Если у вас имеется список дел, то при любом порядке их выполнения будет затрачено (примерно) одно и то же время. Однако если вы будете выполнять их в том порядке, какого ждут от вас клиенты, они будут считать, что вы работаете быстро. При том же объеме работы для вас больше понимания у клиентов. Круто, а?!
Чего же ждут от вас клиенты? Разумеется, каждый из них хочет, чтобы его запрос был выполнен немедленно, тем не менее, отдавая себе отчет в том, что на все требуется время. Представление может быть далеким от реальности часто по причине непонимания компьютерных технологий, но все же мы можем разбить ожидания пользователей на несколько категорий:
• Некоторые запросы должны выполняться быстро. В качестве примеров можно привести восстановление пароля, выделение IP-адреса и удаление защищенного файла. У таких запросов есть одна общая особенность. Как правило, это малозначительные дела, которые задерживают выполнение чего-то серьезного (со стороны пользователя). Представьте себе раздражение пользователя, который не может приступить к работе, пока не восстановлен пароль, а вы выполняете его просьбу лишь через несколько часов.
• Срочные задачи, включающие период ожидания («Поспеши и подожди»), должны начинаться как можно раньше. Задачи, выполнение которых предшествует другим задачам, должны, по мнению пользователей, начинаться безотлагательно. Например, заказ какой-нибудь детали включает в себя собственно размещение заказа и долгий период ожидания поставки. Только после этого вышедшую из строя деталь можно заменить на новую. Если ожидание длится две недели, то пользователь рассчитывает, что вы быстро сделаете заказ, и две недели не растянутся на три.
• Некоторые запросы выполняются долго. Сюда относятся установка нового компьютера, создание службы «с нуля» и вообще все, что связано с поставкой товаров. Даже если продавец обещает доставку в течение суток, люди понимают, что их запрос нельзя выполнить немедленно.
• При аварийной ситуации вся остальная работа прекращается. Последняя категория — аварийные ситуации. Пользователи не только считают, что в таких случаях приостанавливается любая другая работа, но и верят в то, что все системные администраторы заняты ликвидацией аварии. Как правило, пользователи не знают, что в группе системных администраторов есть разделение труда.
Теперь, лучше представляя ожидания клиентов, вы можете воспользоваться этим знанием. Как? Предположим, ваш список дел выглядит так, как показано на рис. 8.1.
Выполнив эти дела в том порядке, в каком они перечислены, вы, скорее всего, будете весьма довольны своей производительностью. Вы сделали все в тот день, когда требовалось, и у вас ушло шесть с половиной часов (плюс час на обед). Очень неплохо для вас.
Однако ваша деятельность разошлась с представлениями клиентов о том, сколько времени должно уйти на решение их проблем. Сотрудник, сделавший запрос Т7, был вынужден целый день ждать того, на что, по его мнению, требуется пара минут. Если бы этим клиентом был я, то вспылил бы. Из-за отсутствия IP-адреса на целый день задержалась установка нового лабораторного оборудования.
(На самом деле, скорее всего, раздраженный нетерпеливый клиент не стал бы ждать целый день. Он «пинговал» бы IP-адреса до тех пор, пока не нашел свободный на тот момент и не воспользовался бы им. Мог случиться какой-нибудь конфликт, и вся система перестала бы работать, и вы потеряли бы на этом целый день. Впрочем, я отвлекся…).
Давайте изменим порядок выполнения дел с учетом представления клиентов о том, сколько времени требует та или иная задача. Задачи, о которых известно, что они решаются быстро, мы переставим в начало и выполним с утра. Остальные можно выполнить позже. Из этого правила мы сделаем одно исключение, в чем вы вскоре убедитесь. Список с новым порядком задач представлен на рис. 8.2.
Вы начинаете свой день с выполнения задач Т1 и Т7, потому что клиенты ожидают их скорого выполнения, и еще потому, что эти задачи, скорее всего, тормозят крупные проекты. Вы, конечно, уложитесь в предполагаемые сроки выполнения этих задач.
Следующая задача (Т5) относится к категории «Поспеши и подожди». Независимо от того, насколько быстро вы оформите заказ, он будет выполнен только через день-два. Однако если вы не будете тянуть с заказом, то избежите претензий со стороны клиента.
Следующая задача (Т4) выполняется за 30 минут. Можете проверить.
Задача Т2 не требует много времени, но ожидание ее выполнения выражается в сроках, а не в часах и минутах. Если завтра к работе приступает новый сотрудник, ожидается, что к его приходу учетная запись будет создана независимо от того, создадите вы ее за минуту или за день, утром или вечером. Поскольку для задачи установлен крайний срок, важно, чтобы она просто была выполнена.
Если бы возникла аварийная ситуация (например, из-за того, что два хоста оказались сконфигурированы с одним IP-адресом) и вся работа остановилась, то наше расписание было бы нарушено. Тем не менее я все равно постарался бы создать учетную запись до появления нового сотрудника. Другие дела пришлось бы отложить на день, и это не вызвало бы непонимания клиентов в условиях аварийной