Глава 30
Мыслить шире, делать больше
3 ноября, понедельник
Через час после встречи со Стивом я все еще обдумываю про себя комментарии Эрика. Я чувствую, что уже почти подобрался к чему-то очень важному, но вопросов остается по-прежнему слишком много. В итоге я решаю ему позвонить.
«Да?» – отвечает он.
«Это Билл, – говорю я. – Мне нужно чуть больше информации о том, что за чертовщину, как предполагается, мы должны тут делать».
«Встретимся на улице», – отвечает он и вешает трубку.
Когда я выхожу наружу, меня пронизывает осенний ветер. Осматриваюсь по сторонам несколько мгновений, пока не слышу гудок. Эрик сидит в очень дорогом на вид красном кабриолете «BMW», верх опущен. «Залезай. Скорее!»
«Отличная тачка», – констатирую я, втискиваясь на пассажирское сиденье.
«Спасибо, – говорит он. – Мой приятель настоял, чтобы, пока я в городе, я пользовался его автомобилем».
Когда он нажимает на педаль газа, я тут же судорожно вцепляюсь в подлокотники кресла и, осознав свою ошибку, торопливо пристегиваюсь. На полу салона валяется женская сумочка, и я размышляю, кто этот загадочный «друг».
«Мы снова едем на завод», – сообщает Эрик.
Когда я прошу его поднять крышу, он внимательно смотрит на меня и говорит: «Я думал бывших морпехов не бывает. Возможно, там теперь с вами обращаются не так жестко, как в мое время».
«Ты служил в армии?» – спрашиваю я, пытаясь удержаться и не обрушить на него целую лавину вопросов.
Эрик смеется: «Больше двадцати лет».
«Ты был офицером, я полагаю?»
«Майор, силы специального назначения, армия США, – отвечает он, глядя на меня. Я молюсь, чтобы он хоть одним глазом поглядывал на дорогу, учитывая то, как быстро мы едем. Вместо этого он продолжает: – То же подразделение, что и у Стива, только он пришел уже офицером. Меня же завербовали совсем молодым, как и тебя».
Эрик больше ничего не рассказывает, но я уже и так могу представить себе его военную карьеру. Он был старшим унтер-офицером, как и многие из тех, с кем мне приходилось иметь дело, и теперь я понимаю, откуда идет его фамильярная манера общения с людьми. Он, должно быть, был одним из тех редких людей с большим потенциалом, которого заметило начальство, решившее отправить Эрика в колледж, а затем и в офицерскую школу. А потом он вернулся на свое прежнее место как самый возрастной младший лейтенант, скорее всего, лет на десять старше всех остальных.
Чтобы пройти через такое, нужно быть особенным человеком.
Мы добираемся до завода в рекордное время, и вот мы уже снова стоим наверху, на мостике. Эрик начинает речь, которую я ждал. «Промышленное предприятие – это система. С одной стороны, в нее поступают материалы, и должны быть проделаны тысячи операций, прежде чем эти материалы смогут покинуть завод в виде законченной продукции. Все работает вместе. Если какой-то производственный участок конфликтует с другими участками, особенно если непосредственное производство находится в состоянии войны с инженерной частью, каждый дюйм на пути к успеху превратится в проблему. – Эрик поворачивается ко мне. – Ты должен перестать думать как руководитель производственного участка. Ты должен мыслить шире, как управляющий заводом. Или еще лучше, думай как человек, который создал это промышленное предприятие и все его процессы. Ты должен постоянно наблюдать за всем рабочим процессом, определять, где у него слабые места, и использовать любые возможные технологии и знания, чтобы убедиться в эффективном выполнении работы. Ты должен включить своего «внутреннего Оллспоу». – Я уже готов спросить его, что такое Оллспоу, но он энергично продолжает: – На производстве у нас есть мера, которую называют временем такта. Она обозначает допустимое время изготовления продукта к сроку, который назвал клиент. Если какая-то из операций по ходу работы занимает больше времени, чем время такта, ты не сможешь выполнить требования заказчика.
Поэтому когда ты носишься кругами и кричишь: «О, нет! У нас не готова среда для «Феникса»! Помогите! Помогите! О, нет! Мы не можем реализовать запуск, потому что кто-то снова сломал тестовую среду!» – пискляво произносит Эрик, – это означает, что время цикла какой-то критической операции в твоей зоне ответственности больше, чем время такта. Это причина, по которой ты не можешь выполнить требования клиентов.
Как выполнение части Второго пути ты должен создать обратную связь, охватывающую все части проектирования, создания и разработки продукции. Учитывая твои беседы с Диком, можно сказать, что ты способен вклиниться в процесс на более раннем этапе. – Указывая на этаж перед нами, Эрик говорит: – Посмотри на длинную череду оборудования между оранжевыми полосками на полу. Именно на этой линии производятся самые прибыльные единицы продукции, которые у нас есть. Но по стечению обстоятельств именно здесь происходят две самые долгие операции: нанесение цветного порошкового покрытия и термическая обработка в печи».
Скрестив руки, он смотрит вверх. «В прежние дни, когда время цикла данных операций было намного длиннее времени такта, мы никогда не могли выполнить требования заказчика. Как жизнь может быть столь несправедливой? Наиболее прибыльные единицы зависят от обоих наших ограничений: печи для термообработки и красильных камер! Что же делать?
Клиенты предлагали нам деньги, умоляя нас производить больше этой продукции, но нам пришлось их вернуть. Время подготовки для каждого процесса доходило до нескольких часов или даже дней. Нам приходилось выпускать огромные партии одного наименования, чтобы хоть как-то исправить показатели, но все говорили, что тут уж ничего не поделаешь.
То, как такую же проблему решили в Toyota, – это легенда, – продолжает Эрик. – В 1950-е годы процесс штамповки капотов занимал у них около трех дней. Для него требовалось приводить в движение огромные тяжелейшие штампы, весящие по несколько тонн. Подготовительное время операции было настолько длинным, что им приходилось увеличивать объем единовременно выпускаемой партии, что не давало им использовать одну и ту же штамповочную машину для производства нескольких моделей машин одновременно. Нельзя сделать всего одну крышку капота для Prius и затем одну для Camry, если для перенастройки оборудования требуется три дня, верно?
Что они сделали? – спрашивает он риторически. – Они подробно изучили все шаги, требующиеся для переналадки оборудования, а затем провели серию усовершенствований, которые сократили период подготовки до десяти минут. Именно тогда появился легендарный термин «быстрая переналадка» (SMED).
Мы изучили все работы Оно, Спира и Ротера. Мы знали, что должны сократить объем выпускаемых партий, но мы имели дело не с пресс-машинами. Мы имели дело с краской и сушкой. После недель обсуждений, исследований и экспериментов у нас появилась сумасшедшая идея – может быть, мы можем красить и сушить краску в одной машине.
Мы собрали четыре производственных участка в один и избавились от более чем тридцати подверженных ошибкам ручных операций, полностью автоматизировав рабочий цикл. Таким образом был достигнут однонаправленный ход работы, что позволило нам избавиться от лишнего времени настройки оборудования. Показатели взлетели до небес.
Плюсы данного решения были огромными, – заключает он с гордостью. – Во-первых, когда мы обнаруживали какие-то дефекты, то сразу же могли их зафиксировать, не изучая последовательно все операции в цепочке. Во-вторых, рабочий процесс наладился, потому что никакой из производственных участков не создавал продукцию, которая в дальнейшем могла лишь ждать своей очереди до следующего участка. Но самым важным следствием было то, что мы сократили время выполнения заказа с месяца до недели. Мы могли создать и доставить все что угодно и сколько угодно по желанию клиента и никогда не сталкивались с тем, что наши магазины были заполнены никому не нужным дерьмом, которое приходилось ликвидировать по бросовым ценам.
Теперь твоя очередь, – жестко произносит он, тыкая меня пальцем мне в грудь. – Ты должен выяснить, как снизить ваше время переналадки и уменьшить время цикла внедрения кода.
Думаю, твоя цель должна быть… – говорит он и на мгновенье останавливается, – десять выкаток в день. Почему нет?»
У меня отваливается челюсть. «Это невозможно».
«Серьезно? – невозмутимо спрашивает Эрик. – Позволь мне рассказать тебе одну историю. Вернемся в 2009 год, когда я был председателем правления в одной технологической компании. Тогда один из наших инженеров посетил конференцию, посвященную скорости информационных процессов, и вернулся обратно словно буйнопомешанный – полный опасных, невозможных идей. Он увидел презентацию Джона Оллспоу и его коллеги Пола Хаммонда, которая перевернула его мировоззрение. Оллспоу и Хаммонд управляли отделом IT-сопровождения и группой инженеров в компании Flickr. Вместо того чтобы конфликтовать между собой, как кошка с собакой, они рассказывали о том, как вместе работали, и обычно им удавалось реализовывать до десяти запусков в день! И это в мире, где большая часть IT-организаций внедряет по приложению в квартал или даже в год. Представь себе. Они справлялись с внедрением кодов в тысячу раз быстрее.
И позволь мне сказать тебе, – продолжает он, – мы все думали, что наш инженер съехал с катушек. Но я понял, что практики, которые используют Оллспоу и Хаммонд, являются неизбежным следствием применения Трех путей в IT-системе. Таким образом мы совершенно по-другому стали управлять IT-отделом и в итоге спасли нашу компанию».
«Как они это делали?» – спрашиваю я, ошарашенный.
«Хороший вопрос. Оллспоу научил нас, что разработчики и IT-сопровождение должны сотрудничать друг с другом, а также вместе с бизнес-отделом и с группой тестировщиков. Тогда они становились суперкомандой, которая могла достичь невероятных результатов. Они также знали, что до тех пор, пока код не развернут на боевых серверах, никаких ценностей не создается, потому что он лишь остается «работой в процессе». Оллспоу продолжал снижать размеры партий, ускоряя движение работы. В частности, он сделал так, чтобы все среды всегда были доступны, когда бы ни понадобились. Он автоматизировал процесс разработки и внедрения программного обеспечения, осознав, что к внутренней инфраструктуре нужно отнестись так же, как к коду, к приложению, которое создает отдел разработки. Это позволило ему сформировать одношаговую процедуру создания среды и внедрения приложения, прямо совсем как мы, когда смогли свести покраску и сушку к одной автоматизированной процедуре.
Оллспоу научил нас, что разработчики и it-сопровождение должны сотрудничать друг с другом, а также вместе с бизнес-отделом и с группой тестировщиков.
Теперь мы знаем, что Оллспоу и Хаммонд не были безумцами. Джез Хамбл и Дэвид Фарли независимо от них пришли к тем же заключениям и описали все технологии и принципы, которые позволяют осуществлять несколько выкаток в день в книге «Непрерывное развертывание ПО». Эрик Рис затем показал нам, как данные возможности могут помочь бизнесу и привести его к победе в книге «Бизнес с нуля».
Эрик сейчас оживлен больше, чем когда-либо при нашей встрече. Качая головой, он сурово смотрит на меня.
«Твой следующий шаг сейчас уже должен быть очевиден, салага. Чтобы ты мог выполнить требования заказчиков, в том числе твоих приятелей-разработчиков, – говорит он, – ты должен создать то, что Хамбл и Фарли назвали конвейером развертывания. Это автоматизированный процесс, который включает в себя весь цикл – от тестирования кода до его выкатки. Ты должен наладить полный контроль версий. Следить за всем процессом. Не только контролировать сам код, но и все, что требуется для создания среды. Затем тебе нужно автоматизировать весь процесс создания среды. Тебе нужен четкий конвейер развертывания – создаешь ли ты тестовые или рабочие среды, запускаешь ли в них код или что еще. Именно так ты сможешь снизить время, требующееся на настройку и элиминацию ошибок. И так ты сможешь увеличить темп работы».
«Подожди-ка, – не совсем понимаю я. – Что именно мне нужно автоматизировать?»
Взгляд Эрика снова становится суровым. «Иди, спроси Брента. Подключи его к работе этой вашей новой команды и убедись, что он ни на что не отвлекается. Сейчас, больше чем когда-либо, пока ты не автоматизируешь весь процесс, он будет твоим бутылочным горлышком. Убери человека из процесса развертывания. И выясни, как можно осуществлять по десять выкаток в день».
Я позволяю выйти на волю своему скептицизму: «Десять выкаток в день? Я уверен, никто нас ни о чем подобном не просит. Не ставишь ли ты передо мной цель, которая превосходит нужды бизнеса?»
Эрик вздыхает, закатывая глаза. «Перестань фокусироваться на цели из конкретного числа запусков. Цели бизнеса касаются не только технической скорости. Суть в том, насколько хорошо вы замечаете изменения рынка и отвечаете на них, и как долго вы просчитываете риски. Речь идет о постоянном экспериментировании.
Если вы окажетесь не в состоянии экспериментировать и побить своих конкурентов за время, которое дает вам рынок, весь корабль потонет. Новые возможности – это всегда риск. Следовательно, чем быстрее ты можешь донести эти возможности до рынка и протестировать их, тем лучше будут твои результаты. И бизнес в таком случае начинает делать деньги быстрее.
Стив возлагает все надежды по выживанию компании на твою способность быстро реализовывать и запускать новые возможности. Поэтому возвращайся на работу к Крису, чтобы вместе с ним выяснить, как вы можете автоматизировать процесс развертывания, и не только самого внедрения кода, но и разработки среды, в которой вы будете его внедрять!»
«Ладно-ладно, – соглашаюсь я. – Но почему ты захотел, чтобы я проделал весь этот тяжелый путь? Не лучше ли было объяснить мне все прямо там, в переговорной?»
«Ты считаешь, что IT-сопровождение является ракетой по сравнению с медленной телегой производства. Какой вздор, – презрительно говорит Эрик. – С моей точки зрения, люди в этом здании намного более креативны и храбры, чем все, что я видел у вас там в IT-отделе».
Глава 31
От невероятного к возможному
3 ноября, понедельник
Уже 12:13, когда я захожу в комнату, где заседает наша команда. Мои волосы и рубашка промокли до нитки, пока мы ехали обратно в кабриолете Эрика.
Крис говорит: «…и поэтому Стив организовал эту небольшую команду, чтобы мы могли повысить показатели всей компании и сделали все, что возможно, чтобы оказать позитивное влияние в подарочный сезон продаж».
Крис оборачивается ко мне и показывает на другой конец комнаты: «Я заказал ланч для всех. Не стесняйся; и, подожди, что с тобой случилось?»
Я отмахиваюсь от его вопроса. Глядя, куда он показывает, я приятно удивлен, увидев сэндвичи с индейкой.
Хватая бутерброд, занимаю свое место и пытаюсь угадать, какие настроения у всех присутствующих, особенно у Брента.
Брент тем временем спрашивает: «Можете еще раз объяснить, почему я здесь?»
«Именно это мы и попытаемся выяснить, – говорит Вэс настойчиво. – Ты знаешь столько же, сколько и мы. Один из потенциальных председателей правления настоял на том, что ты должен быть частью нашей команды. Довольно странное решение, но он столько раз оказывался прав, что я доверяю ему во всем, даже если понятия не имею, почему нужно поступить так или иначе».
Патти присоединяется к разговору: «Ну что же, он дал нам пару подсказок. Сказал, что проблемы, над которыми нам нужно поразмыслить, касаются процесса внедрения приложений и того, как мы формируем среды для него. Из-за хаоса, к которому приводит каждое развертывание «Феникса», он, похоже, считает, что мы что-то делаем фундаментально неправильно». Разворачивая сэндвич, я присоединяюсь к беседе: «Я только что встречался с ним. Он указал мне на несколько вещей и объяснил, как в «Toyota» осуществляют процесс быстрой переналадки производства. Он считает, что нам нужно построить процесс, позволяющий нам осуществлять до десяти выкаток в день. Он не только настаивает на том, что такое возможно, но говорит, что это полностью отвечает нуждам бизнеса и что только это поможет компании не просто выжить, но и выиграть на рынке».
К моему удивлению, Крис начинает свирепеть: «Что?! Зачем, ради всего святого, нам понадобится реализовывать по десять выкаток в день?! Наши самые короткие интервалы на сегодня – три недели. Нам просто нечего внедрять по десять раз в день!»
Патти качает головой: «Ты уверен? А как насчет фиксации багов? Как насчет повышения качества работы сайта, когда он стопорится, вроде как при последних двух выкатках? Не хотелось бы тебе осуществлять эти изменения в продукции на постоянной основе, а не ломая все правила, пытаясь что-то исправить в срочном порядке?»
Крис раздумывает пару минут, прежде чем ответить. «Интересно. Я бы назвал такого рода меры патчами или релизами низшего порядка. Но ты права – это тоже настоящие внедрения. И было бы очень здо́рово, если бы мы могли фиксировать сбои быстрее, но десять выкаток в день?»
Размышляя о том, что сказал Эрик, я добавляю: «Как насчет того, чтобы маркетинг мог запускать свои изменения в наш контент быстрее или проводить разного рода эксперименты, а также осуществлять А/B-тестирования, чтобы увидеть, какое предложение работает лучше?»
Вэс кладет обе руки на стол: «Послушайте, что я вам скажу, народ. То, о чем вы говорите, просто невозможно сделать. Мы здесь имеем дело с законами физики. Подумайте, сколько времени это занимает сейчас: требуется, по крайней мере, неделя подготовки и больше восьми часов на саму выкатку!»
Именно так сказал бы я сам до своей поездки на завод с Эриком. Сейчас же я говорю: «Слушайте, возможно, Вэс и прав, но просвети-ка меня: сколько шагов в полном процессе внедрения? Мы говорим о двадцати шагах, о двух сотнях или о двух тысячах?»
Вэс чешет голову несколько мгновений и говорит: «Что ты думаешь, Брент? Я бы сказал, что порядка сотни шагов…»
«Серьезно? – отвечает Брент. – Я считаю, что скорее двадцать шагов».
Уильям встревает: «Я не уверен, где вы начинаете считать, но если мы начнем с того момента, когда разработчики создают код и мы помечаем его как «кандидат на релиз», я бы говорил о сотне шагов – то есть еще до того, как мы передаем все в IT-сопровождение».
Ох.
Вэс прерывает его: «Нет-нет-нет. Билл говорил «шаги внедрения». Давайте не будем копать глубже…»
Тем временем я думаю о том, что Эрик советовал мне мыслить как управляющий производством, а не как руководитель производственного участка. Внезапно я понимаю: возможно, он имел в виду, что я должен разрушить границы между разработчиками и IT-сопровождением.
«Вы, ребята, оба неправы, – обращаюсь я к Вэсу и Уильяму. – Уильям, не мог бы ты, пожалуйста, записать все шаги на доске? Я бы начал с момента, когда код принят, и до того момента, когда вы передаете его нашей группе».
Он кивает, подходит к доске и начинает рисовать прямоугольники, рассказывая о шагах по мере продвижения. В следующие десять минут Уильям доказывает, что в работе около сотни шагов, включая автоматические тесты в среде разработки; создание среды для контроля качества, которая подходит для разработчиков; запуск кода внутри нее; прохождение всех тестов, внедрение и перенос его в среду, которая подходит для группы контроля качества; нагрузочное тестирование и, в конце концов, дело переходит к отделу IT-сопровождения.
Когда Уильям заканчивает, на доске нарисовано тридцать прямоугольников. Глядя на Вэса, я вижу, что он совсем не раздражен, а глубоко погружен в свои мысли, потирает лоб, глядя на схему на доске.
Я подаю знак Бренту и Вэсу, что один из них должен продолжить с того места, где закончил Уильям.
Брент встает и начинает рисовать квадраты, которые отражают процесс, включающий получение кода, подготовку новых серверов, установку и настройку конфигурации операционной системы, баз данных и приложений, внесение всех изменений в сети, фаерволы и распределители нагрузки, а затем тестирование, позволяющее убедиться, что выкатка прошла успешно.
Я пристально изучаю всю схему целиком: она поразительно напоминает мне производственный этаж завода. Каждый из данных шагов подобен производственному участку, со своими машинами, людьми, методами и измерениями. Работа IT-отдела, возможно, намного труднее, чем работа производства. Наша деятельность не просто невидима, из-за чего ее сложнее отследить, в нашем процессе гораздо больше вещей, которые могут пойти не так, как нужно.
Огромное количество конфигураций должно быть задано правильно, в системах должно быть достаточно памяти, все файлы нужно поместить в правильное место, и сам код, и все среды должны работать корректно.
Одна самая маленькая ошибка может погубить весь процесс. И это, конечно, значит, что мы нуждаемся в более строгой дисциплине и планировании, чем на производстве.
Я не могу дождаться, чтобы рассказать о своем открытии Эрику.
Осознавая важность и масштабность стоящей перед нами задачи, я подхожу к доске, беру красный маркер и говорю: «Я поставлю большую красную звезду рядом с каждым шагом, на котором у нас были проблемы в предыдущие запуски».
Начиная делать пометки на доске, начинаю объяснять: «Так как обновленная тестовая среда контроля качества была недоступна, мы использовали старую версию. Из-за провала всех тестов мы внесли изменения в код и в среду, что модифицировало ее по сравнению со средой разработчиков и рабочей средой, и так как мы никогда эти среды не синхронизировали, у нас с ними возникнут проблемы и в следующий раз».
Оставив несколько красных звезд на схеме Уильяма, я перехожу к квадратам Брента: «Так как у нас не было правильных инструкций по развертыванию, нам потребовалось пять раз все переделывать, чтобы запустить скрипты. В результате мы получили большие проблемы, потому что среда была изменена, о чем я уже говорил».
Я не думал, что так будет, но к концу моей речи практически все фигуры и Уильяма, и Брента в красных звездах.
Оборачиваясь, я вижу разочарованные лица своих сотрудников, осознавших случившееся. Понимая свою возможную ошибку, я торопливо добавляю: «Слушайте, у меня нет цели винить кого-то из вас или говорить, что мы дерьмово работаем. Я лишь пытаюсь разобраться с нашей проблемой. Давайте попробуем решить ее как команда, а не обвинять друг друга, ладно?»
Патти говорит: «Ты знаешь, происходящее напоминает мне увиденное у ребят на производстве – они делают так все время. Если бы кто-то из них сейчас зашел внутрь, то я уверена, они бы подумали, что мы строим «карту потока создания ценности». Не против, если я добавлю пару элементов?»
Я отдаю ей маркер и сажусь на свое место.
По некоторым из элементов Патти спрашивает, как долго обычно занимает та или иная операция, быстро записывая эти цифры над фигурами. Затем она узнает, приходится ли работе ждать перед каждым конкретным шагом, и если да, то рисует перед прямоугольником треугольник, который обозначает текущую работу.
Вот дерьмо. Для Патти сходство между нашими выкатками и заводской очередью – это не академический вопрос. Она действительно относится к нашему процессу развертывания так, будто речь идет о производстве! Патти использует инструменты и методы бережливого производства, которые работники завода применяют, чтобы задокументировать и усовершенствовать свои процессы.
Внезапно я понимаю, что Эрик имел в виду, когда говорил о «конвейере развертывания». Даже если наша работа и не выглядит как заводское производство, это все равно поток создания ценностей.
Я поправляю сам себя. Это наш поток создания ценностей, и я уверен, что мы на пороге того, чтобы понять наконец, как можно резко ускорить движение работы в данном потоке.
После того как Патти заканчивает отмечать длительность шагов, она перерисовывает схемы, используя сокращенные названия конкретных шагов. На другой доске Патти записывает ключевые моменты: «среды» и «развертывания».
Указывая на то, что только что написала, она говорит: «В текущем процессе перед нами стоят две проблемы: на каждом шаге среды почти всегда не доступны, когда они нам нужны, а когда они все же доступны, требуется проделать значительную работу, чтобы синхронизировать их между собой. Правильно?»
Вэс фыркает, говоря: «Не жди, что мы будем тебе рукоплескать за утверждение чего-то настолько очевидного, но ты права».
Она продолжает: «Другой очевидный источник незапланированной работы и долгого времени развертывания – в процессе выкатки кода, когда отдел IT-сопровождения получает то, что нам передает отдел разработки, осуществляет контроль версии кода и затем создает пакеты для развертывания. Хотя Крис и его команда стараются изо всех сил документировать код и конфигурацию, что-то всегда ускользает и обнаруживается, только когда весь код стопорится в рабочей среде уже после запуска. Верно?»
В этот раз Вэс не отвечает сразу. Брент опережает его, говоря: «Ты все верно ухватила. Уильям может подробнее рассказать об этих проблемах: инструкции по релизу никогда не соответствуют последней версии, поэтому мы всегда долго разбираемся, пытаясь докопаться до истины, переписываем скрипты для инсталляции и снова и снова все инсталлируем…»
«Все так», – соглашается Уильям, решительно кивая.
«В таком случае я бы предложила нам сфокусироваться на этих двух зонах, – глядя на доску, делает вывод Патти и возвращаясь на свое место. – Идеи?»
Брент говорит: «Вероятно, мы с Уильямом можем поработать вместе, чтобы составить инструкцию по развертыванию, которая позволит исправить все наши ошибки?»
Я киваю, слушая идеи, но ни одна из них не кажется каким-то невероятным озарением, которое нам так нужно. Эрик описывал сокращение времени наладки для процесса штамповки капотов. Он, кажется, пытался показать, что это очень важно. Но почему?
«Заставлять каждую группу совместно создавать среду – это, очевидно, нерабочий прием. Что бы мы ни делали, от нас требуется нечто большее, чем цель в «десять развертываний в день», – рассуждаю я. – Следовательно, нам нужно значительно автоматизировать все наши процессы. Брент, мы сумеем спроектировать общий процесс организации сред, чтобы мы могли одновременно получать среды для разработчиков, контроля качества и рабочие среды, и поддерживать их в синхронном состоянии?»
«Интересная идея, – отвечает Брент, смотря на доску. Он встает и рисует три прямоугольника, названные «Разработка», «Контроль качества» и «Рабочая». А затем снизу от них он рисует еще один, озаглавленный «Процедура построения» со стрелками к каждому из вышерасположенных окошек.
«Твоя идея на самом деле просто превосходна, Билл, – говорит он. – Если у нас будет общая процедура построения и все станут использовать одни и те же инструменты для создания своих сред, разработчики начнут писать код, который по крайней мере будет соответствовать итоговой рабочей среде. Одно это само по себе будет огромным улучшением».
Он вытаскивает изо рта колпачок от маркера. «Чтобы построить среду для «Феникса», мы используем несколько нами же написанных скриптов. С толикой документации и порядка готов поспорить, мы сможем сотворить нечто полезное и вполне удобоваримое за пару дней».
Я оборачиваюсь к Крису: «Выглядит многообещающе. Если бы мы могли стандартизировать среды и запустить такой стандартный процесс во всех трех отделах – у разработчиков, у тестировщиков и в IT-сопровождении, – мы были бы в состоянии снизить количество проблем в процессе развертывания».
Крис кажется взволнованным: «Брент, если тебе и всем остальным кажется, что мы на верном пути, я бы хотел пригласить тебя на планерки нашей команды. Ты поможешь нам интегрировать данный процесс создания среды в процесс разработки так скоро, как только возможно. Прямо сейчас мы по большей части фокусируемся на написании запускаемого кода в конце проекта. Я предлагаю нам изменить требования. В конце каждых трех недель мы должны иметь не только запускаемый код, но и конкретную среду для этого кода, а также к этому моменту он уже должен быть проверен на соответствие своей версии».
Брент широко улыбается услышанному предложению. Прежде чем Вэс может ответить, я говорю: «Полностью согласен. Но прежде чем мы пойдем дальше, можем мы изучить другие проблемы, которые подметила Патти? Даже если мы примем предложения Криса, все еще будут сложности со скриптами развертывания. Если бы у нас была волшебная палочка и если бы у нас существовала обновленная тестовая среда, как бы мы должны были внедрять код? Каждый раз, когда мы это делаем, мы пересылаем туда-сюда коды, скрипты и кто знает, сколько всего еще, между группами».
Патти встревает: «На производстве, если мы видим, что работа идет в обратном направлении, это доработка. Когда подобное происходит, можете быть уверены, количество документации и информации будет довольно мало и, следовательно, данные процессы нельзя будет воспроизвести. И значит, со временем все станет еще хуже. Они называют это действиями, «не добавляющими ценности» или «тратой времени». – Глядя на первую доску, она продолжает: – Если мы перестроим процесс, нам нужно, чтобы на самых начальных этапах в него были вовлечены правильные люди. Их можно сравнить с группой инженеров на производстве, которая в состоянии убедиться, что все детали спроектированы таким образом, что они оптимизированы для производства и что производственные линии оптимизированы для таких деталей, и в идеале мы имеем однонаправленный поток работы».
Я киваю, улыбаясь сходству между словами Патти и рекомендациями Эрика.
Оборачиваясь к Уильяму и Бренту, я говорю: «Ладно, ребята, волшебная палочка у вас в руках. Вы на передней линии. Скажите мне, как бы вы организовали ход работы, чтобы она никогда не двигалась в обратном направлении, а, наоборот, текла вперед быстро и эффективно?»
Когда они оба несколько затравленно смотрят на меня, я выразительно произношу: «У вас есть волшебная палочка. Используйте ее!»
«Насколько могущественная палочка?» – уточняет Уильям.
Я повторяю ранее сказанное Мэгги. «Это очень могущественная волшебная палочка. Может сделать все что угодно».
Уильям подходит к доске и указывает на окошко, в котором написано «Принятый код». «Если бы я мог взмахнуть такой палочкой, я бы изменил вот здесь. Вместо того чтобы получать исходный код или скомпилированный код от разработчиков, я бы хотел получать пакет с кодом, который был бы готов к развертыванию.
И знаете, – продолжает он. – Я настолько этого хочу, что я добровольно возьму на себя ответственность по созданию этого пакета. У меня на примете есть подходящий человек, она будет ответственна за передачу кода от разработчиков. Когда он получит статус «готов к тестированию», мы будем генерировать пакет с кодом, который будет пусковым сигналом для автоматизированного запуска в тестовую среду. А позже, возможно, и для рабочей среды тоже».
«Ого. Ты действительно можешь это сделать? – спрашивает Вэс. – Было бы просто невероятно! Давай сделаем, я надеюсь, Брент не против?»
«Ты шутишь? – спрашивает Брент, начиная хохотать. – Да я бы угощал любыми напитками целый год того, у кого бы получилось такое! Мне очень нравится идея. И я хочу помочь создать новые инструменты развертывания. Как я уже сказал, есть несколько инструментов, которые я уже написал, и которые можно использовать для начала».
Я чувствую, что комната наполнена энергией и воодушевлением. И я поражен тем, как быстро мы перешли от уверенности в том, что «десять развертываний в день – это лишь фантазия», к обсуждению того, насколько близко мы можем воплотить ее в жизнь.
Внезапно Патти поднимает голову и говорит: «Подождите-ка секунду. «Феникс» имеет дело с данными наших клиентов, которые нужно защищать. Может быть, нужно чтобы кто-то из команды Джона присоединился к нам?»
Мы смотрим друг на друга, соглашаясь, что его определенно нужно привлечь.
И снова я удивляюсь тому, как много нам удалось изменить в этой компании.
Глава 32
Проект «Единорог»
10 ноября, понедельник
Следующие две недели пролетают в заседаниях оперативной команды, которые занимают большую часть моего времени, так же как и времени Вэса и Патти.
Прошло уже десять лет с тех пор, как я последний раз взаимодействовал с разработчиками на постоянной основе. Я и забыл, насколько странными они могут быть. На мой взгляд, они скорее похожи на инди-музыкантов, чем на инженеров.
Мои ребята хотели назвать его «куджо» или «кинжал». но разработчики настаивали на «единороге». Единорог? Который с радугами и заботливыми мишками?
В мои дни на разработчиках красовались карманные протекторы, а не винтажные футболки и сандалии, с собой же они носили логарифмические линейки, а не скейтборды.
По многим причинам большая часть этих ребят – полная противоположность мне по темпераменту. Мне нравятся люди, которые создают определенные правила и следуют им, ценят строгость и дисциплину. Они же сторонятся подобных вещей, выбирая причуды и непостоянство. Но спасибо богу, что они здесь.
Я знаю, что верить в стереотипы о профессии нехорошо. Я знаю, что команде нужны самые разнообразные навыки, если мы хотим добиться успеха. Вопрос в том, как все устроить, чтобы мы могли все вместе работать ради общей цели. Первая сложность – придумать название проекту оперативной команды. Мы не могли называть его «Мини-«Феникс», поэтому в итоге потратили час, обсуждая разные имена.
Мои ребята хотели назвать его «Куджо» или «Кинжал». Но разработчики настаивали на «Единороге».
Единорог? Который с радугами и заботливыми мишками?
Но вопреки всем моим ожиданиям, «Единорог» победил в голосовании.
Разработчики. Никогда их не пойму.
Несмотря на все мое негодование из-за названия, проект «Единорог» довольно неплохо продвигался. Готовые на все, чтобы добиться более эффективных продаж и лучших рекомендаций клиентов, мы начали чистить кодовую базу, которая находилась в совершенном беспорядке из-за громадины «Феникса».
Было удивительно наблюдать, как команда борется с трудностями. Первой из задач стал анализ сведений о покупках наших клиентов, он оказался первым кирпичиком. Даже простое касание баз данных продукции означало ссылки на их хранилища, а любое изменение в них требовало получения одобрения у их архитекторов.
Несмотря на то что вся компания в это время уже могла вылететь из бизнеса, разработчики и Брент решили создать абсолютно новую базу данных, используя доступные инструменты, в которую данные копировались бы не только из «Феникса», но и из системы ввода заказов и из систем контроля учета.
Поступив таким образом, мы смогли бы развивать, тестировать и даже запускать операции, не задевая «Феникса» или другие критические для бизнеса приложения. А отгородившись от других проектов, мы были способны осуществлять любые изменения, не ставя их под удар. В то же время процессы, частью которых мы не являлись, не могли задеть наши проекты.
Я всем сердцем болею за применение такого подхода. Однако небольшая часть меня задается вопросом, как долго мы сможем справляться с неизбежным разрастанием, если каждый проект будет создавать по своей прихоти собственную базу данных. Я напоминаю себе о необходимости убедиться, что мы стандартизируем те типы баз данных, которые применяем в работе, дабы быть уверенными в том, что у нас есть все необходимое для их поддержки в долгосрочной перспективе.
Тем временем Брент работал с командой Уильяма над созданием процедур построения и автоматизации механизмов, которые могли бы одновременно создавать рабочие среды, а также среды для разработки и тестирования. Мы были поражены тем, что в течение трех недель работы, возможно, впервые на нашей памяти, все разработчики использовали одни и те же операционные системы, версии библиотек, базы данных, настройки баз данных и так далее.
«Просто невероятно, – сказал один из разработчиков на одной из ретроспективных встреч. – В случае с «Фениксом» требовалось три или четыре недели, чтобы все необходимое заработало на машинах новых в проекте людей, потому что у нас никогда не было полного списка всего, что нужно установить. А теперь все, что нам нужно сделать, – это проверить виртуальную машину, которую создали Брент и команда, и все – ты готов к работе».
Также мы все были поражены тем, что доступная тестовая среда соответствовала среде разработчиков на ранней стадии проекта. Это тоже было беспрецедентно. Нам пришлось провести множество настроек, потому что в системах разработчиков значительно меньше памяти, чем у тестировщиков, а у последних ее меньше, чем в боевых серверах. Но большая часть сред были идентичны и могли быть модифицированы и обновлены за минуты.
Автоматизированные развертывания кода все еще не работали, то же и с перемещением кода между средами, но команда Уильяма достаточно много занималась этими возможностями, и мы пребывали в уверенности, что скоро и они будут запущены.
Находясь на пике нашей деятельности, мы выполнили множество задач раньше срока. Разработчики спроектировали отчеты, показывающие графу «клиенты, которые купили данный продукт, также купили следующее». Формирование отчетов длилось в сотни раз дольше, чем предполагалось, но они обещали, что в будущем этот процесс значительно ускорится.
Из-за столь быстрого прогресса мы решили сократить наши короткие плановые периоды до двух недель. Таким образом мы смогли чаще обсуждать наши дела и принимать различные решения.
«Феникс» продолжает следовать плану, написанному три года назад. Я стараюсь не думать о том, что это уже слишком.
Кажется, что наш прогресс растет экспоненциально. Мы планируем и реализуем решения быстрее, чем когда-либо, и разрыв в скорости между «Единорогом» и «Фениксом» становится все больше. Команды, занятые «Фениксом», берут наши новые методы на заметку и используют их, что даже там позволяет получить результаты, которые, как мы полагали, невозможны.
«Единорога», похоже, уже не остановить, и он живет своей жизнью. Сомневаюсь, что мы смогли бы прервать работу всех этих людей и вернуть их на старый путь, даже если бы захотели.
Я сижу на встрече по бюджету. Звонит Вэс: «У нас большая проблема».
Выходя из комнаты, я говорю: «В чем дело?»
«Последние два дня никто не может найти Брента. Не знаешь, где он может быть?» – спрашивает он.
«Нет, – отвечаю. – Подожди, что значит вы не можете его найти? Он в порядке? Вы звонили ему на мобильный, так ведь?»
Вэс и не пытается скрыть раздражения. «Ну, конечно, я звонил ему на мобильный! Я оставляю ему сообщения на голосовой почте каждый час. Все пытаются его разыскать. У нас работы немерено, а члены его команды начали – черт, это Брент звонит… Не вешай трубку…»
Я слышу, как он берет городской телефон, с раздражением говоря: «Где тебя черти носят? Все тебя ищут! Нет… нет… Де-Мойн? Что ты там делаешь? Никто мне не сказал… Секретная миссия для Дика и Сары? Что за дерьмо…»
Я удивленно слушаю его разговор, пока Вэс пытается докопаться до правды. В конце концов, я слышу, как он произносит: «Подожди секунду. Нужно узнать, что Билл решит делать…» – и он снова берет мобильный.
«Так, ты, наверное, слышал частично, да?» – спрашивает он меня.
«Скажи ему, что я перезвоню прямо сейчас».
Положив трубку, я набираю Брента, задаваясь вопросом, что Сара натворила на этот раз.
«Привет, Билл», – раздается его голос.
«Тебя не затруднит объяснить мне, что происходит и почему ты в Де-Мойне?» – говорю я вежливо.
«Никто от Дика не предупреждал тебя? – удивляется он. Когда я ничего не отвечаю, он продолжает: – Дик и команда финансового отдела поймали меня у дверей вчера с утра и заставили стать частью команды по разработке плана, посвященного разделению компании. Вероятно, это топ-приоритет, и они хотели выяснить, каковы будут последствия для IT-систем».
«А почему Дик включил тебя в команду?» – спрашиваю я.
«Я не знаю, – отвечает он. – Поверь мне, я совсем не хочу здесь быть. Я ненавижу самолеты. На моем месте должен быть один из бизнес-аналитиков, но, возможно, они запрягли меня, потому что я знаю, как большая часть систем связана между собой, к чему они относятся, какие сервисы от них зависят… Кстати говоря, уже сейчас могу тебе сказать, что разделение компании станет сущим ночным кошмаром».
Я вспоминаю свой проект по интеграции. Большое было дело. Разделение компании, скорее всего, окажется еще сложнее.
Если оно затронет каждое из сотни приложений, которые мы поддерживаем, Брент вероятнее всего прав. Нам потребуются годы.
IT-системы повсюду, это не просто как отрезать какую-то деталь. Скорее похоже на отделение нервной системы от тела компании.
Вспомнив, что Дик и Сара отобрали моего ключевого сотрудника, даже не спросив меня, я настойчиво говорю: «Брент, слушай внимательно: твой самый главный приоритет – выяснить, что нужно твоим коллегам по проекту «Единорог», и дать им необходимое. Я сделаю несколько звонков, но думаю, что моя ассистентка Элен забронирует тебе билет на обратный рейс сегодня вечером. Ты понимаешь?»
«Ты хочешь, чтобы я вернулся», – констатирует он.
«Да».
«А что скажут Дик и Сара?»
Я раздумываю несколько мгновений. «Скажи им, что я вызвал тебя по срочному делу и что ты с ними свяжешься».
«Ладно… – говорит Брент. – Что происходит?»
«Все просто, – начинаю объяснять я. – «Единорог» – это единственная возможность для нас выполнить квартальные показатели. Еще один проваленный квартал, и правление наверняка разделит компанию, и тогда уж ты сможешь выполнить их задание. Но если мы выполним показатели, есть шанс сохранить компанию в целости. Так что «Единорог» – наш главный приоритет. Стив высказался об этом абсолютно ясно».
Брент отвечает нерешительно: «Ладно. Просто скажи мне, куда ехать, и я приеду. Только сам разбирайся с последствиями», – он определенно раздражен запутанностью ситуации.
Но точно не так раздражен, как я.
Я звоню ассистентке Стива, Стэйси, и говорю ей, что я уже в пути.
Заходя в здание № 2, чтобы найти Стива, я звоню Вэсу.
«Что ты сделал?.. – хихикает он. – Просто великолепно. Теперь ты в центре политической борьбы со Стивом на одной стороне и Диком и Сарой на другой. И, что обидно, я не уверен, правильную ли сторону я выбрал, – спустя мгновение он добавляет: – Ты правда думаешь, что Стив поддержит нас в этой ситуации и не даст задний ход?»
Я подавляю вздох. «Надеюсь на него. Если мы не получим обратно Брента, «Единорог» потонет. И это, скорее всего, значит, что мы получим нового генерального директора, нас отправят на аутсорс и уж точно заставят разбираться с тем, как разделить компанию. Дерьмовая работенка, как считаешь?»
Я кладу трубку и захожу в офис Стива. Он улыбается и говорит: «Доброе утро. Стэйси сказала, у тебя для меня плохие новости». Рассказываю ему, что я выяснил во время телефонного разговора с Брентом, и вижу, как его лицо становится абсолютно багровым. А казалось бы, Стив должен быть в курсе, все-таки он – генеральный директор компании.
Очевидно, нет.
Спустя некоторое время Стив, в конце концов, произносит: «Правление уверило меня, что они не будут рассматривать вариант разделения компании, пока мы не получим квартальные цифры. Видимо, они потеряли терпение. Так какое влияние окажет на «Единорога» уход Брента?»
«Я разговаривал с Крисом, Вэсом и Патти, – отвечаю я. – Проект просто потонет. От природы я – скептик, тем не менее, я считаю, что «Единорог» может сработать. Более того, многое из того, что мы придумываем и реализуем в нем, начинает использовать и команда «Феникса», получая отличные результаты. – Чтобы подчеркнуть свою точку зрения, я говорю: – Без Брента мы не сможем осуществить те цели по продажам и прибыли, которые возложили на «Единорога». Никаких шансов».
Поджимая губы, Стив спрашивает: «А что случится, если ты заменишь Брента не менее способным парнем?»
Я рассказываю Стиву то, что мне говорил Вэс, и теперь я и сам так думаю. «Брент уникален. Для «Феникса» нужен кто-то, кого уважают разработчики, кто имеет большой опыт взаимодействия со всей нашей IT-инфраструктурой и может описать ее им, чтобы мы могли реально воплотить результаты их работы в жизнь. Подобные навыки – редкость, и у нас нет больше никого, кто мог бы прямо сейчас играть такую роль».
«А что будет, если ты отправишь другого сотрудника на задание Дика?» – спрашивает он.
«Думаю, что возможно результаты исследования будут не настолько точными, но в целом он справится не хуже», – отвечаю я.
Стив откидывается на стуле и какое-то время молчит.
В конце концов он произносит: «Возвращай Брента сюда. Я разберусь с остальным».
Глава 33
Показатели растут
11 ноября, вторник
На следующий день Брент вернулся к «Единорогу», а один из инженеров третьей линии присоединился к команде Дика где-то на снежном Среднем Западе. Через несколько часов я получаю письмо от Сары.
От кого: Сара МолтонСара
Кому: Боб Штраусс
Копия: Дик Лондри, Стив Мастерс, Билл Палмер
Дата: 11 ноября, 7:24
Тема: Кто-то недооценивает проект Талон
Боб, я узнала, что Билл Палмер, действующий вице-президент отдела IT-сопровождения, украл критически важного сотрудника с проекта Талон.
Билл, я глубоко озабочена твоими недавними действиями. Пожалуйста, объясни нам, почему ты приказал Бренту вернуться домой? Это абсолютно неприемлемо. Правление приказало нам изучить стратегические возможности.
Я прикажу Бренту присоединиться к команде Талон как можно скорее. Пожалуйста, подтверди, что ты понимаешь смысл моего сообщения.
Искренне обеспокоенный тем, что ко мне обращаются через письмо к председателю правления компании, я звоню Стиву, который, очевидно, в ярости из-за поведения Сары. Придя в себя, он уверяет меня, что разберется с этим и чтобы я продолжал действовать по плану.
На очередной ежедневной встрече по поводу «Единорога» Уильям выглядит расстроенным.
«Хорошие новости состоят в том, что вчера вечером мы сгенерировали первый отчет по продвижению и, кажется, все получилось правильно. Но код работает в пятьдесят раз медленнее, чем мы ожидали. Один из алгоритмов кластеризации не распараллеливает его так, как мы хотели, поэтому система работает над прогнозом уже более двадцати четырех часов, и это даже с нашей небольшой тестовой базой данных».
В комнате слышатся ворчание и вздохи.
Один из разработчиков говорит: «Не можем ли мы использовать здесь грубую физическую силу? Просто подключить к процессу больше жестких дисков. С достаточным количеством серверов мы сможем сократить время работы кода».
«Ты издеваешься? – отвечает ему Вэс с раздражением. – У нас есть бюджет лишь на двадцать быстрейших серверов, которые мы смогли найти. Тебе понадобятся тысячи серверов, чтобы сократить время до нужного нам. Это больше одного миллиона долларов внебюджетных средств!»
Я поджимаю губы. Вэс прав. «Феникс» и так выходит за рамки бюджета, а мы обсуждаем огромную сумму денег. Учитывая все финансовые обстоятельства, получить ее просто невозможно.
«Нам не нужно никакое новое оборудование, – встревает один из разработчиков. – Мы потратили много усилий, создавая образы программ, которыми мы сможем полноценно пользоваться. Почему не отправить их в облако? Мы могли бы запускать одновременно сотни или тысячи работающих копий программы, если они нам понадобятся, и выключать их, когда закончим, оплачивая лишь время пользования».
Вэс смотрит на Брента, тот говорит: «Это возможно. Мы уже используем виртуализацию для большей части наших сред. Должно быть, не очень сложно конвертировать их так, чтобы они работали на облачном сервисе нашего провайдера».
После паузы он добавляет: «Знаете, это будет весело. Я всегда хотел попробовать что-нибудь подобное.
Радостное воодушевление Брента заразно.
Мы начинаем придумывать задачи для выяснения реальности нашего плана. Брент объединяется в команду с разработчиком, который предложил идею быстро сделать прототип, чтобы посмотреть, осуществимо ли это.
Мэгги, которая настолько заинтересовалась «Единорогом», что постоянно присутствует на наших встречах, вызывается добровольцем для изучения цен на такие услуги и обещает позвонить своим приятелям (нашим коллегам), чтобы узнать, делали ли они такое раньше и возможно получить у них какие-либо рекомендации.
Один из инженеров по безопасности из отдела Джона прерывает нас: «Отправление данных наших клиентов на облачный сервер может быть связано с некоторыми рисками вроде случайного разглашения персональных данных или неавторизованного пользователя, который получит доступ к вычислительным серверам».
«Это верно, – отвечаю я. – Ты можешь составить список топ-рисков, о которых нам нужно подумать, и подготовить перечень потенциальных контрмер и средств контроля?»
Он улыбается в ответ. Один из разработчиков вызывается поработать вместе с ним.
К концу встречи я удивлен количеству непредвиденных положительных результатов автоматизации процесса развертывания. Разработчики могут быстрее масштабировать приложения, и, возможно, с нашей стороны потребуется внести некоторые изменения.
Несмотря на это, я очень сильно сомневаюсь в успехе всей нашей облачной суматохи. Людям кажется, что они открыли какой-то вид волшебного эликсира, который просто и моментально сокращает затраты. А по-моему, мы собираемся лишь обратиться к другой форме аутсорсинга. С другой стороны, почему бы и нет, если так мы решим нашу проблему. Как бы то ни было, я напоминаю Вэсу о необходимости сохранять здравый смысл.
Неделю спустя, снова на совещании. Вся команда «Единорога» собралась в одном месте. Это завершение очередного периода, и лидер разработчиков жаждет продемонстрировать, чего достигла команда.
«Я с трудом могу поверить в то, как много мы сумели сделать, – начинает он. – Благодаря автоматизации процессов развертывания перенести вычислительные программы в облако было не так сложно. На самом деле все так хорошо работает, что мы рассматриваем вариант превратить внутренние рабочие среды в тестовые и использовать облачный сервер для наших рабочих сред.
Мы начинали формировать отчеты каждый вечер и запускали сотни вычислительных операций. Когда отчеты были готовы, мы останавливали процесс. Это продолжалось последние четыре дня, и все работает хорошо – правда хорошо».
У Брента на лице широкая улыбка, как и у остальных членов команды.
Следующим обычно отчитывается менеджер по продукции, но в сегодня слово берет Мэгги. Очевидно, она испытывает нечто большее, чем просто обычный интерес к проекту.
Мэгги начинает презентацию с помощью проектора: «Вот промо-предложения, созданные благодаря «Единорогу» для моего клиентского аккаунта. Как вы можете видеть, тут учтена моя история покупок, и в предложении меня информируют, что на зимнюю резину и аккумуляторы пятидесятипроцентная скидка. Я перешла на наш сайт и заказала оба товара, потому что они мне на самом деле нужны. Компания только что получила прибыль, так как у нас избыточные запасы этих товаров и на них высокие наценки».
Я улыбаюсь. Теперь все и правда прекрасно.
«А вот промпредложение для Вэса, – улыбается она, переходя к следующему слайду. – Кажется, что для тебя есть скидка на тормозные диски и топливные присадки. Это тебе интересно?»
Вэс тоже отвечает ей улыбкой: «Неплохо!»
Мэгги объясняет, что все подобные предложения формируются в системе «Феникса», и они лишь ждут, чтобы клиенты наконец смогли ими воспользоваться.
Она продолжает: «Вот мое предложение: я бы хотела устроить e-mail рассылку для одного процента наших клиентов и посмотреть, что случится. День Благодарения через неделю. Если мы проведем пару испытаний и все пойдет хорошо, то на Черную Пятницу мы запустим полную акцию, а ведь это самый горячий день покупок в году».
«Звучит хорошо, – откликаюсь я. – Вэс, есть возражения?»
Вэс качает головой. «С точки зрения отдела IT-сопровождения не могу придумать ни одного довода против. Вся тяжелая работа уже была проделана. Если Крис, Уильям и маркетинг уверены, что код работает, я голосую за».
Все согласны. По словам Мэгги, ее команда готова работать всю ночь, если потребуется, над запуском этой кампании.
Я улыбаюсь. Хоть раз наше ночное бдение не будет связано с какими-то проблемами. И даже наоборот. Люди останутся работать всю ночь, потому что все идет как надо.
В следующий понедельник по дороге на работу я ощущаю наступление настоящих осенних холодов, хотя солнце светит по-прежнему ярко. Кажется, что перед выходными на День Благодарения будет отличная неделя. А еще меня немного поразило то, что по телевизору уже начали показывать рекламу с Санта-Клаусом – ее крутили на протяжение всего уик-энда.
Зайдя в свой кабинет, я скидываю тяжелое пальто на стул. И оборачиваюсь, когда слышу, как Патти заходит ко мне, широко улыбаясь: «Ты слышал эти удивительные новости от отдела маркетинга?»
Когда я качаю головой, она нетерпеливо говорит: «Прочитай письмо, которое прислала Мэгги».
Я открываю свой ноутбук и читаю:
От кого: Мэгги ЛиМэгги
Кому: Крис Аллерс, Билл Палмер
Копия: Стив Мастерс, Вэс Дэвис, Сара Молтон
Дата: 24 ноября, 7:47
Тема: первая кампания продвижения с «Единорогом»: НЕВЕРОЯТНО!
Маркетинговая команда работала допоздна все выходные, и мы таки смогли запустить тестовую кампанию по одному проценту клиентов. Результаты просто ПОТРЯСАЮЩИЕ! Больше двадцати процентов респондентов перешли на наш сайт, больше шести процентов сделали покупки. Это очень высокие показатели: примерно в 54 раза выше, чем при любой кампании, которую мы проводили до этого.
Мы предлагаем провести промоакцию с «Единорогом» для всех клиентов на День Благодарения. Я работаю над созданием информационной панели, с помощью которой можно будет смотреть результаты по кампаниям «Единорога» в реальном времени.
Также прошу обратить внимание, что все товары по акции продаются с высокой наценкой, поэтому в итоге мы должны оказаться в большом плюсе.
P. S. Билл, исходя из вышесказанного, мы ожидаем большой приток клиентов на сайт. Можем мы быть уверены, что он снова не обвалится?
Все, отличная работа!
«Просто отлично, – говорю я Патти. – Поработай с Вэсом, чтобы выяснить, какие шаги необходимы для поддержки сайта. На все про все у нас только три дня – времени совсем немного. Мы же не хотим снова облажаться и превратить потенциальных клиентов в наших ненавистников».
Маркетинговая команда работала допоздна все выходные, и мы таки смогли запустить тестовую кампанию по одному проценту клиентов. Результаты просто потрясающие!
Она кивает и уже готова ответить на вибрирующий у нее на столе телефон. Мгновенье спустя мой тоже начинает подавать признаки жизни. Патти быстро смотрит на экран: «Леди-дракон снова в деле. Я бы хотела иметь кнопочку «отписаться» от ее писем». С этими словами она выходит из моего кабинета.
Полчаса спустя Стив присылает поздравительное сообщение команде «Единорога», все с удовольствием его читают. Что еще более удивительно, он отправляет открытый ответ Саре, убеждая ее перестать «раскачивать лодку и устраивать проблемы» и «увидеться со мной, как только ты сможешь». Однако череда открытых писем, которые летают туда-сюда между Сарой, Стивом и Бобом, продолжается. Видеть, как Сара общается с нашим председателем правления, Бобом, тоскливо и неприятно. Кажется, что ее совершенно не заботит ни очевидность ее действий, ни все те мосты, которые она за собой сжигает.
Я захожу в переговорную, собираясь обсудить с Джоном проблемы по соответствию SOX-404 и вопросы безопасности «Единорога». На нем оксфордская рубашка, жилет и запонки. Джон выглядит так, будто только что снимался для Vanity Fair и, похоже, каждый день продолжает брить голову.
«Я поражен, как быстро были преодолены трудности, связанные с безопасностью «Единорога», – говорит он. – Однако по сравнению с «Фениксом», все они – легкая задачка. Цикл настолько короткий, что порой мы можем фиксировать какие-либо сбои в течение часа. Обычно это занимает день или два. А вот восстановление «Феникса» напоминает мне выдергивание зубов безо всякой анестезии. Обычно нам приходилось ждать около квартала, чтобы реализовать какие-то значительные изменения, и постоянно крутиться, пытаясь исправить что-то в случае чрезвычайной ситуации.
На самом деле, – продолжает Джон, – процесс исправления ошибок настолько прост, потому что мы можем перестроить все что угодно, всего лишь нажатием кнопки. Если случится неисправность, то мы еще раз можем все перестроить с нуля».
Я киваю: «Иногда я тоже поражаюсь тому, что мы можем делать благодаря коротким циклам «Единорога». В «Феникс» мы вносим исправления и реализуем запуски раз в квартал. Но за последние пять недель мы осуществили около двадцати изменений в коде «Единорога» и в развертывании на рабочие сервера. Это уже становится обычным делом. Как ты и сказал – полная противоположность «Фениксу».
Джон отвечает: «Большая часть опасений, которые были у меня относительно «Единорога», теперь не кажутся мне актуальными. Мы запустили регулярные проверки, желая убедиться в том, что разработчики, имеющие ежедневный доступ к рабочей среде, имеют лишь права на чтение, и мы добились значительных успехов в интеграции наших тестов безопасности в процессы конструирования. Я практически уверен, что любые изменения, которые могли бы задеть безопасность данных или модули распознавания, быстро были бы засечены. – Он откидывается назад, скрестив руки за головой: – Я волновался как не знаю кто, когда думал о проверке безопасности «Единорога». Частично мои опасения были связаны с тем, что раньше нам требовался месяц только на составление отчета о безопасности приложения. В случае чрезвычайной необходимости, вроде проверок аудита, мы могли обернуться за неделю.
Но идея о десяти развертываниях в день! – восклицает он. – Полное безумие! Однако вы заставили нас автоматизировать процесс тестирования безопасности, и мы интегрировали его в те же процессы, которые Уильям использует для своих тестирований. После этого мы проводим тестирование каждый раз, когда разработчики составляют новый код».
Затем он добавляет: «Ты должен знать, что мы совсем недавно закрыли последние проблемы, связанные с аудитом на соответствие SOX-404. Мы смогли доказать аудиторам (отчасти спасибо новому процессу контроля за изменениями, который ты запустил), что весь текущий контроль очень жесткий, и мы закрыли все аудиторские проблемы, накопившиеся за три года. С улыбкой Джон говорит: – Поздравляю, Билл. Ты сделал то, что не удалось ни одному твоему предшественнику, – мы наконец стряхнули с себя аудиторов!»
К моему удивлению, короткая предпраздничная неделя проходит как по маслу. Прежде чем в среду все отправляются на каникулы, большая маркетинговая кампания «Единорога» уже готова. Код по-прежнему работает в десять раз медленнее, чем нужно, но нас это пока устраивает.
Пришлось нам понервничать, когда тестировщики выяснили, что мы рекомендовали клиентам уже распроданные товары. Случилась бы настоящая катастрофа, если покупатели, кликающие на товары в промоакции, выяснили бы, что они уже проданы. Невероятно, но разработчики придумали решение за день и внедрили его за час.
Сейчас 18:00, я уже собрал вещи, с волнением ожидая длинных выходных.
Мы все их заслужили.
Глава 34
Новые трудности и новые победы
28 ноября, пятница
В середине дня, в четверг, прямо посреди Дня благодарения, мы уже знали, что мы в беде. Ночная промоакция «Единорога» прошла с невероятным успехом. Ответ от респондентов был настолько высоким, что трафик на нашем сайте увеличился до рекордных уровней, и это повлекло за собой сбой в электронной системе оплаты.
Мы инициировали экстренный сбор по поводу возникшей ситуации и задействовали все способы решения проблемы с оплатой заказов, включая использование большего количества серверов и отключение вычислительных возможностей.
По иронии один из разработчиков предложил отключить рекомендации в реальном времени, над которыми мы так долго работали. Зачем они нужны, говорил он если наши клиенты не могут выполнить транзакцию?
Мэгги довольно быстро с ним согласилась, но потребовалось еще два часа работы, чтобы написать и запустить это изменение. Зато теперь данную опцию можно было включить или отключить в настройках конфигурации, и, следовательно, в следующий раз мы могли бы сделать это за минуту, не переписывая код.
Вот что я называю проектированием для IT-сопровождения! Становится все легче и легче управлять кодом, уже запущенным в работу.
Мы также продолжили оптимизировать запросы к базам данных и освободили сайт от тяжелой графики, разгружая наши серверы. Ближе к вечеру в День Благодарения обслуживание клиентов улучшилось до приемлемого уровня.
Настоящий кошмар случился на следующее утро. И хотя на календаре был официальный выходной, я вызвал всех своих сотрудников в офис.
Вэс, Патти, Брент и Мэгги пришли на встречу к полудню. Крис тоже пришел, но по случаю выходного дня решил не соблюдать дресс-код. На нем была гавайская рубашка и джинсы, а с собой Крис принес кофе и пончики для всех.
Мэгги начала совещание пару минут назад: «Этим утром менеджеры наших магазинов открыли свои двери для Черной Пятницы. С того момента, как они повернули ключ, люди хлынули внутрь, держа в руках распечатки рассылок от «Единорога». Сегодня очереди в магазинах достигли рекордных уровней. Проблема в том, что товары по акции на местах уже полностью распроданы. Наши менеджеры магазинов начали паниковать, так как клиенты уходили недовольные и с пустыми руками.
Тогда они стали выписывать покупателям утешительные талоны, обещающие им возможность приобрести распроданный ныне товар позже по льготной цене, для чего менеджерам пришлось вручную вводить заказы на наши склады. На каждый заказ уходило около пятнадцати минут, что привело к длиннющим очередям в магазинах и к еще большему числу разочарованных клиентов».
Вдруг во время ее выступления оживает телефон конференц-связи на столе. «Говорит Сара. Кто там есть?»
Мэгги закатывает глаза, некоторые перешептываются между собой. Попытки Сары подорвать реализацию «Единорога» всем известны. Мэгги тратит пару минут, называя по очереди всех присутствующих.
«Спасибо, – отвечает Сара. – Я останусь на проводе. Пожалуйста, продолжайте».
Мэгги вежливо благодарит ее и начинает обсуждение, сосредоточенное на решении наших проблем.
Час спустя мы сформулировали двадцать действий, которые помогут нам бороться с возникшими сложностями в течение уик-энда. Мы запустим страничку для персонала магазинов, где они смогут забить промокод с купона, и он автоматически отправится на склад. Кроме того, мы создадим новую форму на страничке для покупателей, где они получат возможность заказать доставку товаров прямо на дом.
И далее еще много идей – длинный список.
К утру понедельника ситуация стабилизировалась. Это замечательно, потому что именно сегодня у нас очередная еженедельная встреча со Стивом, посвященная «Единорогу».
Крис, Вэс, Патти и Джон здесь. В отличие от наших предыдущих совещаний Сара тоже здесь. Она сидит со скрещенными руками, периодически печатая сообщения на своем айфоне.
Стив говорит с широкой улыбкой, обращаясь ко всем нам: «Я хочу поздравить вас всех с хорошо выполненной тяжелой работой. Я получил гораздо больше, чем мог ожидать. Спасибо проекту «Единорог»: объем наших продаж, как в магазинах, так и на сайте, достиг наивысших показателей и привел к рекордной недельной прибыли. Отдел маркетинга считает, что мы увеличим показатели прибыльности в этом квартале. Это будет наш первый прибыльный квартал с середины прошлого года.
Мои сердечные поздравления всем вам», – добавляет он.
Все, кроме Сары, улыбаются услышанным новостям.
«Это лишь половина истории, Стив, – отвечает Крис. – Команда «Единорога» надирает всем задницы. Мы теперь выпускаем релизы не каждые две недели, а раз в неделю, и мы уже экспериментируем с ежедневными релизами. Так как размер пакета теперь очень небольшой, мы можем проводить маленькие изменения очень быстро. Мы постоянно проводим A/B-тестирования. Если вкратце, то мы никогда еще не могли так быстро отвечать на запросы рынка, и я уверен, что в нашей шляпе есть и еще кролики, которых мы сможем достать».
Я киваю: «Мне видится, что мы будем использовать модель «Единорога» для всех новых приложений, которые реализуем у себя. За такими проектами легче наблюдать и ими легче управлять, чем любым приложением, поддерживаемым нами ранее.
Мы создали процессы и процедуры, которые позволяют нам делать с кодом все, что угодно с целью быстро отвечать на запросы клиентов. В некоторых случаях мы даже даем возможность разработчикам самостоятельно выкатить код. Разработчик нажимает кнопку – и вот уже через несколько минут код оказывается либо в тестовой, либо в рабочей среде».
«Не могу поверить, как многого мы добились за такое короткое время. Я горжусь всеми вами, – говорит Стив. – Я хочу поблагодарить вас за то, что вы действительно работаете вместе и умеете доверять друг другу».
«Лучше поздно, чем никогда, полагаю, – вступает в разговор Сара. – Если мы закончили с обоюдными поздравлениями, у меня для вас отрезвляющие новости из мира бизнеса. Месяцем ранее наши крупнейшие конкуренты в розничных продажах начали новый партнерский проект со своими производителями с целью позволить клиентам воспользоваться услугой сборки на заказ. Продажи некоторых из наших ключевых позиций просели на двадцать процентов с тех пор, как они запустили это предложение».
Со злостью она говорит: «Годами я пыталась заставить IT-отдел создать инфраструктуру, которая позволила бы нам ввести подобную услугу, но все, что я слышала, было «нет, это невозможно». Тем временем наши конкуренты смогли заключить договоренности со всеми производителями, согласными на такое сотрудничество».
И далее Сара добавляет: «Вот почему идея Боба о разделении компании настолько ценна. Мы закованы в кандалы системой производства этого бизнеса».
Что? Возможно, жизнь стала бы проще для всех, если бы она просто ушла работать в какую-нибудь розничную компанию. Стив хмурится: «Данный пункт – следующий на повестке дня. Как старший вице-президент по розничным продажам Сара имеет прерогативу оповещать вашу команду о нуждах бизнеса и рисках».
Вэс фыркает и говорит, обращаясь к Саре: «Ты что, шутишь, что ли? Ты понимаешь, сколько мы сделали благодаря «Единорогу» и насколько быстро нам это удалось? То, что ты описываешь, не сложно по сравнению с нашими нынешними достижениями».
На следующий день Вэс входит ко мне с нехарактерным для него угрюмым выражением лица. «Мм, босс. Мне не нравится такое говорить, но не думаю, что мы сможем это сделать».
Когда я прошу его объяснить, он говорит: «Чтобы реализовать то, что делают наши конкуренты, нам пришлось бы полностью переписать систему планирования производственных ресурсов, которая сейчас поддерживает заводы. Это старое приложение мейнфреймов, которое мы используем десятилетиями. Мы отдали его на аутсорс три года назад. По большей части потому, что пожилые люди вроде тебя, поддерживающие его, скоро должны были уйти на пенсию.
Без обид, – добавляет Вэс. – Мы давным-давно уволили множество сотрудников, занимавшихся мейнфремами, – они получали ненормально огромные зарплаты. В то время какой-то аутсорсер убедил нашего начальника по информационной безопасности, что у них есть сотрудники, которые смогут поддержать наше приложение на аппаратах жизнеобеспечения, пока мы не спишем его. Наш план был заменить его новой системой планирования ресурсов предприятия, но, как видишь, к ней мы даже не подобрались».
«Черт побери, то есть получается, что мы сами стали чьими-то клиентами, – заключаю я. – Скажи им, что мы платим не только за поддержание приложения, но и за внесение в него бизнес-изменений, что, если верить Саре, нам жизненно необходимо. Выясни, сколько они хотят получить с нас за это и сколько нам придется ждать».
«Я уже все узнал, – отвечает Вэс, протягивая мне листок. – Вот предложение, которое они в итоге выслали, после того как я избавился от никчемного менеджера и смог поговорить с техническими аналитиками.
Они хотят шесть месяцев на рассмотрение требований, еще девять месяцев на разработку и тестирование, и если нам повезет, то, возможно, через год они смогли бы выполнить наш заказ, – продолжает он. – Проблема в том, что ресурсы, которые нам необходимы, недоступны до июля. Поэтому мы уже говорим о восемнадцати месяцах. Минимум. Только чтобы начать весь процесс, они хотят получить 50 000 долларов на оценку экономической целесообразности и на формирование окна в их процессах разработки».
Вдруг ставший пунцовым, Вэс качает головой: «Этот бесполезный менеджер, с которым я разговаривал, продолжал настаивать на том, что контракт просто не позволяет им помочь нам. Ублюдок. Очевидно, его задача – убедиться, что они по полной содрали с нас денег, и не дать нам сделать ничего помимо оговоренного в конракте».
Я громко выдыхаю, обдумывая все последствия. Ограничение не дает нам сделать то, что нужно, и находится оно за пределами организации. Но если оно вне организации, что мы можем сделать?
Мы не можем убедить аутсорсеров изменить их приоритеты или управленческие практики, как мы сами сделали.
Внезапно мне в голову приходит блестящая идея.
«Сколько наших людей занимаются этим проектом в их компании?» – спрашиваю я.
«Я не знаю, – отвечает Вэс. – Думаю, что около шести человек».
«Зови сюда Патти с копией контракта, и давайте проведем математические подсчеты. И посмотри, можем ли мы захватить еще кого-нибудь из отдела закупок. У меня есть отчаянное предложение, которое я бы хотел изучить».
«Кто отдал систему планирования производственных ресурсов на аутсорс?» – вопрошает Стив. Я сижу в его кабинете вместе с Крисом, Вэсом и Патти, Сара стоит в стороне, и ее я стараюсь игнорировать.
Я снова объясняю Стиву нашу идею: «Когда-то мы решили, что данное приложение не является крайне необходимой частью бизнеса, и отдали его на аутсорс, чтобы снизить затраты. Тогда мы не учли, что это одна из наших основных компетенций».
«Ну а теперь придется учесть: на данный момент оно считается основной компетенцией! – восклицает Стив. – Теперь аутсорсер держит нас в заложниках, не давая сделать то, что до́лжно. Мы столкнулись не просто с препятствием у нас на пути. Такая ситуация способна перечеркнуть все наше будущее».
Я киваю. «Коротко говоря, мы бы хотели досрочно разорвать контракт с ними, вернув наши ресурсы обратно в компанию. Мы говорим о примерно шести сотрудниках, которые все еще в деле. Чтобы отказаться от контракта на два года раньше, нам придется заплатить около миллиона долларов, но мы сможем вернуть себе систему планирования производственных ресурсов и всю связанную с ней инфраструктуру. Все в нашей команде верят, что это будет правильно решение, и мы уже получили предварительное одобрение от команды Дика».
Я задерживаю дыхание. Только что я назвал очень большую сумму. Она значительно превышает увеличение бюджета, о котором я просил два месяца назад, когда меня вышвырнули из этого самого кабинета.
Я быстро продолжаю: «Крис уверен, что когда данное приложение вернется домой, мы сможем создать для него интерфейс в «Единороге». Тогда у нас получится перейти на системы сборки по заказу, о чем и просит Сара. Если мы выполним все быстро и интеграция систем ввода заказов и системы учета пройдет по плану, мы сможем догнать своих конкурентов через девяносто дней».
Краем глаза я замечаю, что Сара в ярости.
Стив не отбрасывает идею сразу же. «Ладно, я весь во внимании. Каковы основные риски?»
Крис перехватывает инициативу у меня: «Аутсорсер, возможно, произвел изменения в базовом коде, о которых мы не знаем. Это способно замедлить график внедрения. Но я лично уверен, что риск минимальный. Исходя из их поведения, не думаю, что они вносили значительные изменения в функционал системы.
Я не волнуюсь о технических сложностях, – продолжает он. – Данная система не была спроектирована для больших партий и определенно для размеров, о которых мы здесь говорим. Но я уверен, что мы можем что-то предпринять на скорую руку и уж потом обдумать долгосрочную стратегию».
Когда Крис заканчивает, Патти добавляет: «Аутсорсер может также сделать все, чтобы затруднить обратную передачу приложения, и мы можем столкнуться с враждебным отношением со стороны местных инженеров. Было много обид, когда мы объявили о разрыве контракта. Помимо прочего, им урезали зарплату, когда их исключили из Parts Unlimited и передали другой компании. Нам срочно нужна помощь Джона, потому что мы должны закрыть доступ к системам всем сотрудникам, работавшим с этим приложением и которых мы не берем назад».
Вэс смеется, говоря: «Я бы с удовольствием лично закрыл доступ тому самому менеджеру. Он такой придурок».
Стив внимательно слушает. Затем он оборачивается к Саре и спрашивает: «Что ты думаешь насчет предложения команды?»
Несколько мгновений она ничего не говорит, но, в конце концов, властно произносит: «Я думаю, нам нужно обсудить ситуацию с Бобом Штрауссом и получить одобрение от всего правления, прежде чем мы согласимся на такой масштабный и рискованный проект. Учитывая предыдущую работу IT-отдела, ваше решение может подорвать все наши производственные операции, что слишком рискованно для нас. Короче, лично я не поддерживаю это предложение».
Стив изучающе смотрит на Сару и потом говорит с натянутой улыбкой: «Не забывай, что ты работаешь на меня, а не на Боба. Если ты не способна ничего делать в этой организации, то я жду твое заявление об увольнении».
Сара белеет, ее губа дрожит, очевидно, она осознает, что вела неверную игру.
Стараясь вернуть самообладание, она нервно смеется над комментарием Стива, но никто к ней не присоединяется. Я украдкой смотрю на своих коллег и вижу, что у них, как и у меня, широко открыты глаза, все внимательно наблюдают за разворачивающейся драмой.
Стив продолжает: «Напротив, спасибо IT-отделу, что больше можно не рассматривать ваши с Бобом тягостные стратегические планы, но я понял твою точку зрения».
Обращаясь ко всем нам, Стив говорит: «Обратитесь к одному из лучших сотрудников Дика, а также к нашему корпоративному юристу. Они помогут вам и убедятся, что мы используем все возможные уловки с целью получить желаемое. Я прослежу, чтоб Дик уделял данному проекту особое внимание».
Глаза Сары раскрываются еще шире. «Это прекрасная идея, Стив. Она значительно снизит риск вашего плана. Думаю, Бобу он тоже понравится».
Выражение лица Стива говорит, что его терпение относительно ее фокусов уже практически подошло к концу.
Он спрашивает, нужно ли нам что-то еще. У нас больше вопросов нет, он извиняется перед всеми и просит остаться только Сару.
Когда мы уходим, я бросаю взгляд назад. Сара сидит на моем месте, нервно осматриваясь по сторонам. Встретившись с ней глазами, я улыбаюсь и закрываю дверь.
Глава 35
Вечеринка у Стива
9 января, пятница
Я крепко вцепился в руль на пути к дому Стива. Он устраивает вечеринку для всех, кто так тяжело работал над «Фениксом» и «Единорогом»: были приглашены сотрудники как из бизнес-отдела, так и из IT-отдела. Дорога вся покрыта льдом, который не тает даже после недели яркого солнца.
Просто бесценно было наше с Пэйдж решение отпраздновать Новый год у нас дома, а не с ее семьей, как мы это делали обычно.
С последней встречи Стива и Сары прошло уже больше месяца. С тех пор Сару никто не видел.
Пока еду, я, размышляя, снова поражаюсь тому, как тихо все было последнее время. Я продолжаю постоянно ждать, что кто-то позвонит мне насчет какого-нибудь сбоя. Но вместо этого мой телефон молча болтается в подстаканнике, как и вчера, и позавчера.
Не могу сказать, что я скучаю по прежним временам, но сейчас иногда мне реально нечего делать.
Благодарение богам, теперь я обучаю всех своих менеджеров во время наших двухнедельных циклов усовершенствования согласно принципу Совершенствования ката. Хоть так мне удается не чувствовать себя абсолютно бесполезным. Я особенно горжусь тем, что за прошедший месяц моя группа потратила пятьдесят процентов времени на превентивные проекты, касающиеся нашей инфраструктуры. И это дает свои результаты.
Мы используем весь бюджет, который у нас есть. Мы закрываем пробелы в мониторинге, мы разобрались с десятью наиболее уязвимыми нашими приложениями – теперь они более стабильны, и движение запланированной работы быстрее, чем когда-либо. Вопреки моим ожиданиям все с энтузиазмом взялись за проект «Нарвал», по-другому известный как «Армия взбесившихся обезьян». Как в легендарных историях о происхождении Apple Mac и облачной инфраструктуры Netflix, мы запустили особый код, который специально генерирует гигантские ошибки, рандомно убивающие процессы по всей системе или целые серверы.
Конечно, первым результатом этого запуска был полный ад всю неделю тестирования – временами наша рабочая инфраструктура рушилась, как карточный домик. Но в последующие недели благодаря совместной работе разработчиков и отдела IT-сопровождения мы восстановили мир и покой в IT-сервисах.
Джону это очень понравилось, и он запустил собственный проект под названием «Злобная взбесившаяся мартышка». Вместо генерирования операционных сбоев его мартышка постоянно пыталась найти дыры в системе безопасности, бомбардировала наши приложения вирусными пакетами, пыталась установить трояны, получить доступ к секретным данным и все так далее.
Конечно, Вэс пытался это остановить. Он настаивал на составлении расписания для столь разрушительных тестов, чтобы они проходили в строго определенных рамках. Однако я убедил его, что это скорейший способ ввести в обиход Третий путь Эрика. Нам нужно создать культуру борьбы с рисками и обучения на ошибках, а также нам требуются постоянные повторения и практика для достижения настоящего мастерства.
Я хочу усовершенствовать нашу ежедневную работу там, где это нужно: в нашей ежедневной работе. Команда Джона создала инструменты, которые подвергают стресс-тестам каждую тестовую и рабочую среду, постоянно атакуя. И когда мы впервые обнаружили эту взбесившуюся мартышку, половина времени была потрачена на устранение дыр в системе безопасности и укрепление кода. Спустя несколько недель разработчики по праву гордились своей работой, успешно отражая все неприятности, что подкидывала им команда Джона.
Вот о чем я размышлял по дороге к дому Стива.
Когда я нажимаю кнопку дверного звонка на час раньше, как и просил Стив, я слышу громкий лай и затем топот лап огромной собаки.
«Заходи, Билл. Здорово снова тебя видеть, – встречает меня Стив, держа пса на поводке и указывая мне на кухню другой рукой, в которой зажаты овощи. Когда мы оказываемся в кухне, он привлекает мое внимание к огромному металлическому ведру со льдом, полному бутылок. – Хочешь что-нибудь выпить? Пиво? Содовая? Виски? – оглядываясь по сторонам, он добавляет: – Маргариту?»
Я беру из ведра пиво, благодарю его и затем коротко пересказываю, как прошел сегодняшний день, пока мой собеседник ведет меня в гостиную.
Стив улыбается: «Спасибо, что приехал пораньше. У нас будет просто рекордный квартал. Мы не смогли бы дойти до такого без тебя и Криса. Впервые за эти годы наша рыночная доля растет! Знаешь, я бы хотел увидеть лица наших конкурентов. Они, наверное, сходят с ума, пытаясь понять, что происходит».
Стив улыбается еще шире. «На днях даже Дик выдавил из себя улыбку. Ну он определенно показал зубы. Проект «Единорог» и этот новый проект, «Нарвал», помогают нам понять, чего на самом деле хотят клиенты. Наш средний размер заказа побил все рекорды на прошлой неделе, и Дик сказал, что «Единорог» приносит самые быстрые результаты из всех подобных проектов, что он помнит».
Проект «Единорог» и этот новый проект, «нарвал», помогают нам понять, чего на самом деле хотят клиенты.
Стив продолжает: «Аналитики снова нас любят. Один из них сказал нам, что если мы и дальше будем демонстрировать хорошие результаты, то нашим конкурентам тяжело будет нас догнать. Боб наконец-то отказался от идеи разделять компанию».
«Правда? – спрашиваю я удивленно. – Я думал, Сара была убеждена, что разделение – это единственный способ для нас остаться на плаву».
«Ах, да… – говорит он. – Сара решила поискать новые возможности в другом месте и сейчас находится в отпуске».
У меня отваливается челюсть. Если я все понял правильно, Сару выкинули из компании. И я улыбаюсь.
«Кстати говоря, – замечает Стив. – Проект «Нарвал»? Проект «Единорог»? Вы не можете, ребята, как-нибудь получше подбирать имена?»
Я смеюсь. «Больше всех это расстраивает Мэгги. Она уверена, что все другие менеджеры проектов смеются над ней. Мэгги сказала мужу, что если следующий проект будет называться «Хелло Кити», она уволится».
Стив хохочет. «Как ты мог догадаться, я, конечно, просил тебя прийти пораньше не для того, чтобы критиковать названия ваших проектов. Садись, пожалуйста».
После того как я разваливаюсь в мягком кресле, он начинает объяснять: «У нас открыта позиция директора по информационным технологиям уже несколько месяцев. Ты был на интервью. Что ты думаешь о кандидатах?»
«Честно? Я был разочарован, – говорю я медленно. – Они все старше меня и гораздо опытнее. Но они говорили лишь о крошечных аспектах проблемы. Предлагали лишь самую малость по сравнению с тем, что мы сделали за пару месяцев здесь, в Parts Unlimited. Чувствую, что если их примут, мы рискуем снова вернуться в те старые плохие времена».
«Согласен с тобой, Билл. Поэтому я решил, что мы можем пополнить эту позицию из внутренних ресурсов. Есть идеи, кого я должен повысить?»
Я перебираю в голове список возможных кандидатов. Он не такой уж и длинный.
«Думаю, Крис – очевидный выбор. Он был движущей силой «Единорога», так же как и «Нарвала». Если бы не его лидерские качества, я уверен, мы все еще топтались бы на месте».
Он улыбается. «Ты знаешь, это забавно. Все думали, что ты так скажешь. Я, однако, не буду следовать твоим рекомендациям».
Стив продолжает: «При анонимном голосовании все проголосовали за тебя. Но если быть абсолютно честным, я не хочу видеть тебя на этой должности».
Заметив, что я явно расстроен, он говорит: «Слушай, расслабься. Дай объяснить. Правление компании возложила на меня обязанность наиболее правильно использовать ресурсы компании для достижения максимальных результатов. Моя первая задача – создать команду лидеров».
Стив встает, подходит к окну и смотрит на покрытый снегом двор. «Ты помог мне увидеть, что IT – это не просто отдел. Информационные технологии повсюду, они как электричество. Работа с ними – это навык вроде возможности читать или считать. Здесь, в Parts Unlimited, у нас нет централизованного отдела по чтению или сложению – мы ожидаем, что все, кого мы нанимаем, это умеют. Понимание того, что могут и что не могут технологии, стало основной компетенцией, которой должен обладать и бизнес-отдел. Если кто-то из моих бизнес-менеджеров управляет командой или проектом, не обладая таким навыком, он провалится».
Стив продолжает: «Мне нужно, чтобы каждый из моих бизнес-менеджеров умел просчитывать риски, не угрожая разрушить всю систему. Люди повсюду используют в бизнесе технологии, поэтому мир снова похож на Дикий Запад – как в хорошем смысле, так и в плохом. Бизнес, который не сможет сориентироваться в таком мире, прогорит».
Поворачиваясь снова ко мне, он говорит: «Если Parts Unlimited хочет выжить, руководители бизнеса и IT-руководители не могут принимать решения независимо друг от друга. Я не знаю, куда мы придем, но я знаю, что то, как мы организованы сейчас, не дает нам возможности двигаться на полном ходу.
Я обсуждал это с правлением последнюю пару месяцев, – сообщает он, садясь и глядя прямо на меня. Мне знакомо выражение его лица. Оно совсем такое же, как при нашей первой встрече в прошлом году. Стив смотрит в подобной манере тогда, когда пытается склонить своего собеседника к чему-либо. «Я впечатлен твоими результатами и тем, что ты сделал с IT-отделом. Ты использовал те же навыки, которые я ожидаю увидеть у любого руководителя больших производственных отделений.
Теперь я хочу видеть, как ты растешь, учишься и развиваешь новые способности, используя их на благо Parts Unlimited. Если ты согласен, я готов инвестировать в тебя. Я хочу поставить перед тобой двухлетний план. Ты должен перевернуть продажи и маркетинг, управлять заводом, получить опыт управления компанией, наладить отношения с нашими главными поставщиками и отрегулировать нашу цепь поставок. Поверь мне, каникул у тебя не будет. Тебе понадобится помощь – и много. Эрик любезно согласился побыть твоим наставником, потому что мы оба верим, что это будет самая сложная задача, которая когда-либо перед тобой стояла.
Но, – продолжает Стив, – если ты достигнешь всех пятнадцати особых целей, которые мы перед тобой поставим, мы назначим тебя условно исполняющим обязанности исполнительного директора на два года, в течение которых ты будешь плотно работать с Диком, пока он не будет готов уйти на пенсию. Если будешь много работать, добьешься результатов и правильно разыграешь карты, ты станешь следующим исполнительным директором компании через три года».
Я чувствую, что у меня открыт рот и пиво льется прямо на ногу.
«Ты не должен отвечать прямо сейчас, – говорит Стив, очевидно довольный произведенным эффектом. – Половина правления считает, что я сошел с ума. Возможно, они правы, но я доверяю своим инстинктам. Я не знаю, во что все это выльется, но я уверен, что оно пойдет на благо компании.
Пока мы здесь предаемся большим мечтам, позволь мне сказать тебе следующее, – продолжает Стив. – Через десять лет, я более чем уверен, все исполнительные директора будут приходить из IT-отдела. Любой исполнительный директор, до конца не понимающий IT-системы, которые на самом деле заставляют крутиться весь бизнес, – это лишь пустое место, и значит, всю работу за него выполняют другие».
Видение Стива захватывает меня полностью. Он прав. Все, чему научилась моя команда, Крис и Джон, показывает, что если случается обвал в IT-инфраструктуре, проваливается и бизнес. Поэтому резонно предположить, что если IT-отдел организован так, что может победить, бизнес тоже победит.
И Стив хочет поставить меня в авангард этого движения.
Меня. Парня из группы внутренних операций.
Стив продолжает: «Ты знаешь, когда мы с Эриком впервые встретились, много месяцев назад, он сказал, что отношения между IT-отделом и бизнесом подобны неблагополучному браку – обе стороны бессильны и в то же время держат друг друга в заложниках. Я размышлял об этом месяцами, пока не выяснил кое-что.
Неблагополучный брак подразумевает, что бизнес– и IT-отдел – это две различных единицы. Информационные технологии должны быть внедрены в бизнес. Вуаля! Вот и все. Никакого сопротивления. Никакого брака и, возможно, никакого IT-отдела».
Я просто гляжу на Стива. Как и в случае с Эриком, в том, что он говорит, есть какая-то фундаментальная истина.
И вдруг я окончательно решаюсь. Мне нужно будет поговорить с Пэйдж, но я определенно знаю, что путешествие, в которое меня хочет отправить Стив, очень важно – для меня, для моей семьи и для всей моей профессиональной деятельности.
«Я подумаю о вашем предложении», – говорю я официально.
Стив широко улыбается и встает. Когда я пожимаю его протянутую руку, он тепло похлопывает меня по спине. «Хорошо. Это будет весело».
Тут раздается звонок в дверь, и вот через несколько минут вся банда уже в сборе: Вэс, Патти, Джон и Крис, а также Мэгги, Брент, Анна и, черт побери, даже Дик и Рон.
По мере того как вечеринка становится все более шумной, каждый из них поздравляет меня и пьет со мной на брудершафт. Очевидно, что они уже всё знают, включая и план Стива по трехлетнему превращению меня в нового исполнительного директора.
Дик обращается ко мне, держа в руках стакан виски: «Поздравляю, Билл. Я жду не дождусь, когда мы с тобой начнем работать в более тесном режиме».
Через некоторое время я смеюсь сразу со всеми вместе, принимая их поздравления и перебирая воспоминания о том, через какое удивительное приключение мы прошли.
Вэс хлопает меня по плечу. «Теперь, когда тебя повысили, – говорит он еще громче, чем обычно, – мы все подумали, что хотим подарить тебе что-то, знаменующее наши достижения. Это что-то ты сможешь взять с собой, и оно будет напоминать тебе о нас и не даст забыть, ну, ты знаешь, маленьких людей».
Наклоняясь к коробке, стоящей у его ног, он продолжает: «Мы спорили очень долго о том, что это должно быть. Но, в конце концов, решение было так очевидно…»
Когда я вижу, что он достает из коробки, я начинаю хохотать.
«Твой старый дерьмоноут!» – восклицает он, высоко поднимая подарок. – Было не слишком благородно лишить его работоспособности, покрыв бронзой, но согласись, выглядит красиво, не так ли?»
Не веря своим глазам, я раскрываю подарок под общий смех, аплодисменты и поздравления. И правда, передо мой старый ноутбук. Я вижу сломанный край и намотанный на батарею скотч. Но теперь компьютер стоит на пьедестале и весь покрыт золотого цвета пленкой.
Внизу пьедестала бронзовая табличка. Я читаю вслух: «На светлую память безвременно ушедшему Биллу Палмеру, вице-президенту отдела IT-сопровождения».
«Вот черт, ребята, – я искренне тронут их жестом. – Звучит так, будто я умер!»
Все смеются, включая и Стива. Вечер проходит быстро, и я сам удивляюсь тому, насколько хорошо провожу время. Я не самый общительный человек, но сегодня я чувствую себя в окружении друзей и коллег, которых я уважаю, доверяю и по-настоящему люблю.
Позднее к нам присоединяется Эрик. Он подходит ко мне и некоторое время молча изучает бронзовый ноутбук. «Ты знаешь, хотя я ставлю пятьдесят на пятьдесят, что ты справишься, я все же верю в тебя, – говорит он, стоя передо мной и потягивая пиво. – Поздравляю, парень. Ты это заслужил».
«Спасибо», – отвечаю, широко улыбаясь, искренне тронутый его признанием.
«Ладно, ты уж меня не подведи, – грубовато произносит он. – Мне никогда не нравился ваш город, а из-за тебя мне придется летать в этот богом забытый аэропорт годами. Если ты облажаешься, все будет зря».
«Я сделаю все, что смогу, – говорю я, сам удивляясь своей уверенности. – Подожди-ка. Я думал, что ты в любом случае будешь прилетать в город на собрания правления?»
«После всего, что я здесь насмотрелся, у меня нет желания в этом участвовать! – говорит Эрик, громко смеясь. – Мы посмотрим, насколько живучи ваши конкуренты, но, я думаю, они и понятия не имеют, что их гробит. Если все пойдет согласно плану, то уже через пару недель я буду одним из главных инвесторов данной компании. И последнее, чего я хочу, это инсайдерская информация, которая ограничит мою способность покупать и продавать!»
Я уставился на Эрика. У него достаточно денег, чтобы стать одним из наших крупных инвесторов, но он все еще одевается как рабочий с завода? Никогда бы не подумал, что он вообще заботится о деньгах.
В конце концов, я спрашиваю: «Что ты имеешь в виду под инсайдерской информацией?»
«Я долгое время был уверен, что эффективное управление информационными технологиями – это не только критическая компетенция, но и важное условие работы компании, – объясняет он. – Я бы хотел создать хедж-фонд, который инвестирует в компании, поддерживая те из них, в которых IT-отделы великолепно организованы, что помогает бизнесу побеждать. Думаю, мы быстро на этом заработаем. Какой еще лучший способ взрастить новое поколение генеральных директоров, которые разбираются в IT?»
Он продолжает: «Я у меня связаны руки, если я привязан к посту председателя правления компании. Плохой расклад. Слишком много потенциальных проблем».
«А», – протянул я.
«Эй, извините, что прерываю, – встревает Джон, – но я тоже хотел поздравить тебя и высказать свое уважение. Затем он протягивает руку и Эрику, говоря: – И Вас также, сэр».
Эрик игнорирует его руку, пристально вглядываясь в него несколько мгновений. Затем он смеется и пожимает ее. «Ты проделал долгий путь, Джон. Очень хорошо. И, кстати, мне нравится твой новый образ. Такой европейский клубный стиль».
«Спасибо, – отвечает он бесстрастно. – Без Вас я бы не справился».
«На здоровье, – вежливо говорит Эрик. – Не зависайте слишком долго с аудиторами. Это никого не доводит до добра».
Джон согласно качает головой и возвращается к вечеринке. Эрик поворачивается ко мне и заговорчески произносит: «Вот это действительно значительная трансформация, не так ли?»
Я оборачиваюсь, чтобы взглянуть на Джона. Он смеется с Вэсом.
«Итак, – продолжает Эрик, прерывая мои размышления. – Каковы твои планы на тех, кто остается в IT-отделе? Учитывая твое повышение, появляются свободные вакансии».
Я поворачиваюсь к Эрику. «Ты знаешь, я никак не предполагал подобное, – Эрик фыркает, но я его игнорирую, мы с Вэсом и Патти не раз обсуждали данную тему. Я уверен, что должен повысить Патти до вице-президента отдела IT-сопровождения. Она будет работать изо всех сил», – подвожу я итог, улыбаясь.
«Хороший выбор, – одобряет мой собеседник. – Но она, конечно, определенно не выглядит как руководитель IT-сопровождения, хотя… А Вэс?»
«Хочешь верь, а хочешь нет, но Вэс ясно дал понять, что не хочет быть вице-президентом, – отвечаю я. С меньшей уверенностью я добавляю: – Если предполагается, что я освобожу должность директора по информационным технологиям через два года, я думаю, Вэсу нужно принять решение. Если бы у меня была волшебная палочка, то он мог бы сменить Патти на посту главы IT-сопровождения, а Патти стала бы новым директором по информационным технологиям. Но как я, ради всего святого, всех подготовлю, если Стив хочет возложить на меня еще больше ответственности?»
Эрик закатывает глаза. «Дай мне передохнуть. Тебе стало скучно на твоем нынешнем посту. Ничего, скоро повеселишься. И помни, что вокруг тебя будет много опытных людей, которые проходили через такие же испытания, поэтому не будь идиотом и не стесняйся просить о помощи».
Вот и хорошо. у тебя получится прекрасная книга, – Улыбается он. – Иди и наслаждайся своим вечером. Ты это заслужил».
Он уже собирается уходить, когда вдруг оборачивается и смотрит на меня с огоньком в глазах.
«Кстати говоря, о помощи людям, думаю, ты должен мне кое-что».
«Конечно, – искренне отвечаю я. – Все что хочешь, только скажи».
«Мне нужно, чтобы ты помог мне с распространением информации об управлении технологиями в организациях. Давай взглянем правде в глаза. Жизнь в IT-отделе довольно дерьмова, когда вокруг так много недопонимания и неверного руководства. Все разочаровываются в работе, понимая, что никак не могут повлиять на результат, словно в бесконечно повторяющемся фильме ужасов. Если подобная дрянь не разрушает нас как личностей, то уж я не знаю, что еще это делает. Все должно измениться, – говорит он со страстью. – Я хочу исправить жизни одного миллиона сотрудников IT-отделов в следующие пять лет. Как мне сказал кто-то мудрый, мессия – это хорошо, но библейский текст – лучше».
Эрик продолжает: «Я хочу, чтобы ты написал книгу, описывая Три пути и то, как люди могут повторить преобразования, которые ты осуществил в Parts Unlimited. Назови ее «Руководство по DevOps» и покажи, как информационные технологии могут восстановить доверие к бизнесу и покончить с десятилетиями межплеменной войны. Ты сможешь это сделать?»
Написать книгу? Он же несерьезно, да?
Я отвечаю: «Я не писатель. Я никогда раньше не писал книгу. На самом деле, последние десять лет я не писал ничего длиннее, чем письмо по e-mail».
Ни капли не удивленный, Эрик жестко говорит: «Научись».
Покачав головой, я наконец говорю: «Ну конечно. Это будет такая честь и привилегия – написать «Кулинарную книгу DevOps» для тебя, одновременно стараясь справиться с самыми сложными тремя годами за всю мою карьеру».
«Вот и хорошо. У тебя получится прекрасная книга, – улыбается он. Затем Эрик снова похлопывает меня по плечу. – Иди и наслаждайся своим вечером. Ты это заслужил».
Куда ни погляжу, везде я вижу людей, искренне веселящихся и наслаждающихся компанией друг друга. Потягивая пиво, я думаю о том, как поразительно далеко мы зашли. Сомневаюсь, что во время первого развертывания «Феникса» кто-то из присутствующих мог бы представить, что он будет частью суперкоманды, которая превратится в нечто большее, чем Dev (разработчики), или Ops (эксплуатация), или отдел безопасности. Есть термин, который мы слышим все чаще, – DevOps. Возможно, все, кто сейчас здесь присутствует, как раз и формируют DevOps, но я думаю, что не до конца. Это понятие означает, что менеджеры проектов, разработчики, IT-сопровождение и даже отдел информационной безопасности – все работают вместе и поддерживают друг друга. Даже Стив является частью суперкоманды.
И тогда меня охватывает чувство невероятной гордости за каждого человека, находящегося в этой комнате. То, чего мы достигли, очень значимо, и хотя сейчас мое профессиональное будущее туманно как никогда, я чувствую удивительное волнение перед теми испытаниями, которые принесут с собой предстоящие годы.
Я делаю очередной глоток пива и вдруг замечаю, что несколько моих людей начинают одновременно доставать свои телефоны. Мгновение спустя на другом конце комнаты я вижу одного из разработчиков, который тоже рассматривает что-то в своем телефоне, а все остальные столпились вокруг него.
Далее я оглядываю комнату в поисках Патти, но она уже стоит рядом со мной, телефон в руке. «Во-первых, мои поздравления, босс, – говорит она с полуулыбкой на лице. – Хочешь сначала хорошую или плохую новость?»
Оборачиваясь к ней, я спрашиваю с чувством внутреннего спокойствия и гармонии: «Ну что там у нас, Патти?»