Лаура встаёт.
– Время вернуться к работе. Марк, почему бы тебе не накрыть на стол?
Марк идёт в столовую и раздвигает стол, чтобы за ним могли разместиться 14 человек. Будут все члены семьи, София, офис-менеджер отца, с сыном и ещё несколько человек с работы. Люди не должны проводить День благодарения в одиночестве, и все должны быть в хорошем настроении. Чтобы избежать ещё одной ссоры, Марк решает держаться подальше от отца, на другом конце стола. Он приносит складные стулья из подвала и ставит на стол любимый мамин сервиз из тончайшего фарфора.
Лаура ворожит у плиты. Пытаясь быть полезным, Марк достаёт горошек из морозилки.
– Положи обратно, – не оборачиваясь, говорит мать. – Если мы приготовим горошек слишком рано, он остынет, превратится в пюре, и придётся делать новый.
Плохая синхронизация также может быть причиной двойной работы, отмечает про себя Марк.
– Если хочешь принести пользу, почисти батат, – Лаура указывает на небольшую горку батата на столешнице.
– Конечно, – говорит Марк. – Что сейчас происходит?
– Поскольку у нас только одна духовка и она занята индейкой большую часть дня, все остальные блюда нужно планировать вокруг неё. Батат, картофель и запечённые овощи должны быть готовы к тому моменту, когда мы достанем индейку из духовки. Всё остальное было приготовлено вчера или будет готовиться на плите.
– А запеканка из зелёной фасоли?
– Для неё нет места в духовке, поэтому я готовлю её в медленноварке[13] на низкой температуре, это занимает около четырёх-пяти часов.
– Мы можем приготовить её на высокой температуре. Это намного эффективнее; запеканка будет готова в два раза быстрее.
– И зачем мне это? – хмурится Лаура. – Кому какое дело, насколько эффективно я готовлю запеканку? За пару часов до того, как мы сядем за стол, у меня столько дел, что мне не до возни с запеканкой. Нужно видеть полную картину, Марк. Учитывать все задачи и понимать, когда каким блюдом стоит заняться.
Марк понимает, что только что произошло. Он думал в терминах локального оптимума, поэтому и предложил способ более эффективного использования медленноварки. Но мать права. Естественно. Принятие решения в пользу локального оптимума нарушило бы синхронизацию. Важнее общий оптимум: синхронизировать все задачи так, чтобы всё было готово вовремя.
– А что насчёт клюквенного соуса? Ты его сейчас будешь делать?
– Нет. Сегодня у меня нет на это времени. Поэтому я сделала его вчера. Он уже в холодильнике.
Чистя батат, Марк пытается разложить по полочкам всё, что успел усвоить. Чтобы уложиться в срок по подобным проектам, следует начинать с планирования основной задачи, а затем координировать с ней все остальные. И для каждой учесть, сколько на неё нужно времени и какие ресурсы для этого потребуются. Мы не хотим работать над одной задачей, когда должны работать над другой, и уж точно не хотим застрять из-за того, что нужный ресурс занят другими задачами. Поэтому на этапе планирования мы определяем правильный порядок выполнения задач, помня, что часть из них нужно завершить до начала работы над основной задачей, а какие-то можно выполнять параллельно. Кроме того, нужно следить за тем, чтобы не пришлось ничего переделывать.
Марк начинает понимать, что имел в виду профессор, когда говорил, что синхронизация – важное правило потока в таких проектах. Если что-то пойдёт не так, то либо придётся отказаться от некоторых блюд (искать компромисс по объёму и содержанию проекта), либо задержать ужин (сорвать срок).
Около полудня Марк едет за тётей Мириам. Тёте Мириам восемьдесят пять, но она сохранила ясный ум и острый язык. Она живёт в доме для престарелых недалеко от дома его родителей.
Встраиваясь в поток машин на Мэйн-стрит, Марк мысленно возвращается к концепции синхронизации. Он вполне доволен результатом своего анализа. Хотя сейчас, когда он об этом думает, он понимает, что синхронизация в организациях происходит не только между задачами. Она часто происходит между командами или, как в его отделе, между людьми. Все заняты, и у каждого своё расписание и приоритеты. Даже организация встречи часто превращается в непростую задачу. Логично, что такую синхронизацию следует проводить так же, как синхронизацию между задачами. Нужно выявить «индеек» – ключевых фигур, которые обычно самые занятые, и увязать их расписания с расписанием остальных.
Его мать синхронизирует задачи в одном проекте, готовке ужина на День благодарения. А если бы это была мультипроектная среда, например она готовила бы ещё и ужин для соседей? Всё стало бы сложнее. Духовка или медленноварка могли бы стать проблемой. Если одно или несколько блюд из соседского ужина нужно было бы поставить в духовку, пока там запекается индейка, соседский проект бы начал задерживаться. То же самое произошло бы, если одно из блюд должно бы было попасть в медленноварку, пока там готовится запеканка из зелёной фасоли. При правильном планировании, помимо синхронизации задач в каждом из ужинов, необходимо учитывать очередь задач, ожидающих обработки критическими ресурсами. Наличие ресурса с ограниченной мощностью должно быть учтено на этапе планирования, так как это неизбежно повлияет на время выполнения проекта.
Эта проблема не уникальна для инженерии. Марку известны и другие проектные среды, где есть критические ресурсы, такие как специализированные испытательные лаборатории, аэродинамические трубы и краны.
Марк останавливает у главного входа дома престарелых. Тётя Мириам уже ждёт его. Он помогает ей сесть в машину, складывает её ходунки и кладёт их в багажник. Садясь за руль, он готовится к неизбежному. С тех пор, как он стал старшеклассником, тётя Мириам неизменно задаёт ему один и тот же вопрос.
– Ну что, сыночек, ты нашёл себе хорошую девушку?
21. Один на один
Наступил вторник следующей недели. Прошло около полутора месяцев с тех пор, как они заморозили проекты, и около месяца с начала подготовки полных комплектов. С минуты на минуту должна прийти Линда.
Марк каждую неделю проводит встречи с каждым проектным менеджером. Один на один, по 10–15 минут, на круг получается примерно пара часов в неделю. Он заботится о своих сотрудниках и хочет быть уверенным, что у них всё в порядке. Он также интересуется их работой: если что-то отвлекает их или они где-то застряли, он предпочитает узнавать об этом как можно раньше.
Процесс уже отработан. Марк спрашивает, как у них дела, чтобы убедиться, что «их земля по-прежнему круглая». Он заранее придумывает тему, которая интересна им обоим. Затем он хочет узнать об их проектах. Он понимает, что люди ценят эти краткие встречи и ждут их. Им нравится их личное время с Марком, когда разговор идёт только о них и ни о ком другом.
С Линдой Марк любит говорить о лучших заведениях в городе. У Линды чутьё на них. Сегодня она рекомендует новый пивной ресторан Hammersmith в самом центре.
– Тебе обязательно нужно туда сходить. Декор очень крутой, а еда вообще отпад.
– Звучит заманчиво!
Они переходят к обсуждению работы. Линда рассказывает о коде, над которым она работает для одного из их приоритетных проектов. Используя возможности ИИ, они могут заставить роботизированную руку адаптировать свои реакции к изменяющимся условиям так, как это было невозможно раньше.
Линда – талантливый эксперт по самому передовому программному обеспечению и человек, к которому идут за помощью, когда другие программисты не могут справиться с возникшей проблемой. Она одна из самых занятых людей в инженерном отделе, если не самая занятая.
Марк знает, что некоторые сотрудники жалуются, и хочет узнать, что происходит.
– Как дела с уменьшением многозадачности?
– Параллельных проектов стало гораздо меньше, и это очень здорово, – радостно сообщает Линда. – Я тут ещё кое-что придумала. Раньше мой день состоял из постоянных прерываний. Все, кто сталкивался с проблемами в коде, бежали ко мне, и мне регулярно приходилось переключаться. Но теперь я решила, что, когда я плотно занята, всем придётся подождать. Если кому-то нужна моя помощь, они могут написать мне в наш корпоративный мессенджер. Каждые несколько часов, когда я заканчиваю очередную задачу, я просматриваю уведомления и, если вижу что-то срочное, откликаюсь, прежде чем перейти к своей следующей задаче.
Марк одобрительно кивает.
– Таким образом, ты следишь за всеми, не задерживаешь важные проекты и делаешь намного больше.
Избегая плохой многозадачности, Линда работает гораздо более эффективно, но это труднее, чем она думала.
– Людям не нравится, что я недоступна по их первому зову. Нужно время, чтобы они привыкли к новым правилам и перестали подталкивать меня к многозадачности.
Учитывая нетерпеливость людей и их локальный фокус на собственных задачах, Марк думает, что люди никогда не перестанут. Эта борьба никогда не закончится. Она твёрдо намерена следовать своим новым правилам, но всё имеет свою цену.
– Я оказалась в некотором смысле в изоляции. Хорошо, что я могу поговорить с тобой об этом.
Марк сочувственно кивает. Иногда быть менеджером или экспертом одиноко. Он уверяет Линду, что она всегда может прийти к нему за поддержкой. Для него такой отдушиной всегда был отец, но сейчас всё изменилось.
– Есть ещё что-нибудь, с чем я могу помочь?
– Есть кое-что.
У Линды, как у эксперта по ПО, такая загрузка что у неё не остаётся времени на проект, за который её назначили ответственной, и сейчас они отстают по срокам.
– Я хотела бы посвятить всё своё время программному обеспечению.
Марк снова осознаёт, как изменилось его восприятие с тех пор, как он начал думать в терминах потока. Как и во многих небольших компаниях, традиционно все их старшие инженеры становились проектными менеджерами. Без исключений. Но теперь он понимает, что если Линде приходится совмещать обязанности эксперта и менеджера, одно будет всегда происходить за счёт другого. Учитывая полную картину, лучше, чтобы Линда занималась исключительно кодом. Марк согласен и делает себе пометку приостановить её проект и как м