Глава 32 Проект «Единорог»
10 ноября, понедельник
Следующие две недели пролетают в заседаниях оперативной команды, которые занимают большую часть моего времени, так же как и времени Вэса и Патти.
Прошло уже десять лет с тех пор, как я последний раз взаимодействовал с разработчиками на постоянной основе. Я и забыл, насколько странными они могут быть. На мой взгляд, они скорее похожи на инди-музыкантов, чем на инженеров.
Мои ребята хотели назвать его «куджо» или «кинжал». но разработчики настаивали на «единороге». Единорог? Который с радугами и заботливыми мишками?
В мои дни на разработчиках красовались карманные протекторы, а не винтажные футболки и сандалии, с собой же они носили логарифмические линейки, а не скейтборды.
По многим причинам большая часть этих ребят – полная противоположность мне по темпераменту. Мне нравятся люди, которые создают определенные правила и следуют им, ценят строгость и дисциплину. Они же сторонятся подобных вещей, выбирая причуды и непостоянство. Но спасибо богу, что они здесь.
Я знаю, что верить в стереотипы о профессии нехорошо. Я знаю, что команде нужны самые разнообразные навыки, если мы хотим добиться успеха. Вопрос в том, как все устроить, чтобы мы могли все вместе работать ради общей цели. Первая сложность – придумать название проекту оперативной команды. Мы не могли называть его «Мини-«Феникс», поэтому в итоге потратили час, обсуждая разные имена.
Мои ребята хотели назвать его «Куджо» или «Кинжал». Но разработчики настаивали на «Единороге».
Единорог? Который с радугами и заботливыми мишками?
Но вопреки всем моим ожиданиям, «Единорог» победил в голосовании.
Разработчики. Никогда их не пойму.
Несмотря на все мое негодование из-за названия, проект «Единорог» довольно неплохо продвигался. Готовые на все, чтобы добиться более эффективных продаж и лучших рекомендаций клиентов, мы начали чистить кодовую базу, которая находилась в совершенном беспорядке из-за громадины «Феникса».
Было удивительно наблюдать, как команда борется с трудностями. Первой из задач стал анализ сведений о покупках наших клиентов, он оказался первым кирпичиком. Даже простое касание баз данных продукции означало ссылки на их хранилища, а любое изменение в них требовало получения одобрения у их архитекторов.
Несмотря на то что вся компания в это время уже могла вылететь из бизнеса, разработчики и Брент решили создать абсолютно новую базу данных, используя доступные инструменты, в которую данные копировались бы не только из «Феникса», но и из системы ввода заказов и из систем контроля учета.
Поступив таким образом, мы смогли бы развивать, тестировать и даже запускать операции, не задевая «Феникса» или другие критические для бизнеса приложения. А отгородившись от других проектов, мы были способны осуществлять любые изменения, не ставя их под удар. В то же время процессы, частью которых мы не являлись, не могли задеть наши проекты.
Я всем сердцем болею за применение такого подхода. Однако небольшая часть меня задается вопросом, как долго мы сможем справляться с неизбежным разрастанием, если каждый проект будет создавать по своей прихоти собственную базу данных. Я напоминаю себе о необходимости убедиться, что мы стандартизируем те типы баз данных, которые применяем в работе, дабы быть уверенными в том, что у нас есть все необходимое для их поддержки в долгосрочной перспективе.
Тем временем Брент работал с командой Уильяма над созданием процедур построения и автоматизации механизмов, которые могли бы одновременно создавать рабочие среды, а также среды для разработки и тестирования. Мы были поражены тем, что в течение трех недель работы, возможно, впервые на нашей памяти, все разработчики использовали одни и те же операционные системы, версии библиотек, базы данных, настройки баз данных и так далее.
«Просто невероятно, – сказал один из разработчиков на одной из ретроспективных встреч. – В случае с «Фениксом» требовалось три или четыре недели, чтобы все необходимое заработало на машинах новых в проекте людей, потому что у нас никогда не было полного списка всего, что нужно установить. А теперь все, что нам нужно сделать, – это проверить виртуальную машину, которую создали Брент и команда, и все – ты готов к работе».
Также мы все были поражены тем, что доступная тестовая среда соответствовала среде разработчиков на ранней стадии проекта. Это тоже было беспрецедентно. Нам пришлось провести множество настроек, потому что в системах разработчиков значительно меньше памяти, чем у тестировщиков, а у последних ее меньше, чем в боевых серверах. Но большая часть сред были идентичны и могли быть модифицированы и обновлены за минуты.
Автоматизированные развертывания кода все еще не работали, то же и с перемещением кода между средами, но команда Уильяма достаточно много занималась этими возможностями, и мы пребывали в уверенности, что скоро и они будут запущены.
Находясь на пике нашей деятельности, мы выполнили множество задач раньше срока. Разработчики спроектировали отчеты, показывающие графу «клиенты, которые купили данный продукт, также купили следующее». Формирование отчетов длилось в сотни раз дольше, чем предполагалось, но они обещали, что в будущем этот процесс значительно ускорится.
Из-за столь быстрого прогресса мы решили сократить наши короткие плановые периоды до двух недель. Таким образом мы смогли чаще обсуждать наши дела и принимать различные решения.
«Феникс» продолжает следовать плану, написанному три года назад. Я стараюсь не думать о том, что это уже слишком.
Кажется, что наш прогресс растет экспоненциально. Мы планируем и реализуем решения быстрее, чем когда-либо, и разрыв в скорости между «Единорогом» и «Фениксом» становится все больше. Команды, занятые «Фениксом», берут наши новые методы на заметку и используют их, что даже там позволяет получить результаты, которые, как мы полагали, невозможны.
«Единорога», похоже, уже не остановить, и он живет своей жизнью. Сомневаюсь, что мы смогли бы прервать работу всех этих людей и вернуть их на старый путь, даже если бы захотели.
Я сижу на встрече по бюджету. Звонит Вэс: «У нас большая проблема».
Выходя из комнаты, я говорю: «В чем дело?»
«Последние два дня никто не может найти Брента. Не знаешь, где он может быть?» – спрашивает он.
«Нет, – отвечаю. – Подожди, что значит вы не можете его найти? Он в порядке? Вы звонили ему на мобильный, так ведь?»
Вэс и не пытается скрыть раздражения. «Ну, конечно, я звонил ему на мобильный! Я оставляю ему сообщения на голосовой почте каждый час. Все пытаются его разыскать. У нас работы немерено, а члены его команды начали – черт, это Брент звонит… Не вешай трубку…»
Я слышу, как он берет городской телефон, с раздражением говоря: «Где тебя черти носят? Все тебя ищут! Нет… нет… Де-Мойн? Что ты там делаешь? Никто мне не сказал… Секретная миссия для Дика и Сары? Что за дерьмо…»
Я удивленно слушаю его разговор, пока Вэс пытается докопаться до правды. В конце концов, я слышу, как он произносит: «Подожди секунду. Нужно узнать, что Билл решит делать…» – и он снова берет мобильный.
«Так, ты, наверное, слышал частично, да?» – спрашивает он меня.
«Скажи ему, что я перезвоню прямо сейчас».
Положив трубку, я набираю Брента, задаваясь вопросом, что Сара натворила на этот раз.
«Привет, Билл», – раздается его голос.
«Тебя не затруднит объяснить мне, что происходит и почему ты в Де-Мойне?» – говорю я вежливо.
«Никто от Дика не предупреждал тебя? – удивляется он. Когда я ничего не отвечаю, он продолжает: – Дик и команда финансового отдела поймали меня у дверей вчера с утра и заставили стать частью команды по разработке плана, посвященного разделению компании. Вероятно, это топ-приоритет, и они хотели выяснить, каковы будут последствия для IT-систем».
«А почему Дик включил тебя в команду?» – спрашиваю я.
«Я не знаю, – отвечает он. – Поверь мне, я совсем не хочу здесь быть. Я ненавижу самолеты. На моем месте должен быть один из бизнес-аналитиков, но, возможно, они запрягли меня, потому что я знаю, как большая часть систем связана между собой, к чему они относятся, какие сервисы от них зависят… Кстати говоря, уже сейчас могу тебе сказать, что разделение компании станет сущим ночным кошмаром».
Я вспоминаю свой проект по интеграции. Большое было дело. Разделение компании, скорее всего, окажется еще сложнее.
Если оно затронет каждое из сотни приложений, которые мы поддерживаем, Брент вероятнее всего прав. Нам потребуются годы.
IT-системы повсюду, это не просто как отрезать какую-то деталь. Скорее похоже на отделение нервной системы от тела компании.
Вспомнив, что Дик и Сара отобрали моего ключевого сотрудника, даже не спросив меня, я настойчиво говорю: «Брент, слушай внимательно: твой самый главный приоритет – выяснить, что нужно твоим коллегам по проекту «Единорог», и дать им необходимое. Я сделаю несколько звонков, но думаю, что моя ассистентка Элен забронирует тебе билет на обратный рейс сегодня вечером. Ты понимаешь?»
«Ты хочешь, чтобы я вернулся», – констатирует он.
«Да».
«А что скажут Дик и Сара?»
Я раздумываю несколько мгновений. «Скажи им, что я вызвал тебя по срочному делу и что ты с ними свяжешься».
«Ладно… – говорит Брент. – Что происходит?»
«Все просто, – начинаю объяснять я. – «Единорог» – это единственная возможность для нас выполнить квартальные показатели. Еще один проваленный квартал, и правление наверняка разделит компанию, и тогда уж ты сможешь выполнить их задание. Но если мы выполним показатели, есть шанс сохранить компанию в целости. Так что «Единорог» – наш главный приоритет. Стив высказался об этом абсолютно ясно».
Брент отвечает нерешительно: «Ладно. Просто скажи мне, куда ехать, и я приеду. Только сам разбирайся с последствиями», – он определенно раздражен запутанностью ситуации.
Но точно не так раздражен, как я.
Я звоню ассистентке Стива, Стэйси, и говорю ей, что я уже в пути.
Заходя в здание № 2, чтобы найти Стива, я звоню Вэсу.
«Что ты сделал?.. – хихикает он. – Просто великолепно. Теперь ты в центре политической борьбы со Стивом на одной стороне и Диком и Сарой на другой. И, что обидно, я не уверен, правильную ли сторону я выбрал, – спустя мгновение он добавляет: – Ты правда думаешь, что Стив поддержит нас в этой ситуации и не даст задний ход?»
Я подавляю вздох. «Надеюсь на него. Если мы не получим обратно Брента, «Единорог» потонет. И это, скорее всего, значит, что мы получим нового генерального директора, нас отправят на аутсорс и уж точно заставят разбираться с тем, как разделить компанию. Дерьмовая работенка, как считаешь?»
Я кладу трубку и захожу в офис Стива. Он улыбается и говорит: «Доброе утро. Стэйси сказала, у тебя для меня плохие новости». Рассказываю ему, что я выяснил во время телефонного разговора с Брентом, и вижу, как его лицо становится абсолютно багровым. А казалось бы, Стив должен быть в курсе, все-таки он – генеральный директор компании.
Очевидно, нет.
Спустя некоторое время Стив, в конце концов, произносит: «Правление уверило меня, что они не будут рассматривать вариант разделения компании, пока мы не получим квартальные цифры. Видимо, они потеряли терпение. Так какое влияние окажет на «Единорога» уход Брента?»
«Я разговаривал с Крисом, Вэсом и Патти, – отвечаю я. – Проект просто потонет. От природы я – скептик, тем не менее, я считаю, что «Единорог» может сработать. Более того, многое из того, что мы придумываем и реализуем в нем, начинает использовать и команда «Феникса», получая отличные результаты. – Чтобы подчеркнуть свою точку зрения, я говорю: – Без Брента мы не сможем осуществить те цели по продажам и прибыли, которые возложили на «Единорога». Никаких шансов».
Поджимая губы, Стив спрашивает: «А что случится, если ты заменишь Брента не менее способным парнем?»
Я рассказываю Стиву то, что мне говорил Вэс, и теперь я и сам так думаю. «Брент уникален. Для «Феникса» нужен кто-то, кого уважают разработчики, кто имеет большой опыт взаимодействия со всей нашей IT-инфраструктурой и может описать ее им, чтобы мы могли реально воплотить результаты их работы в жизнь. Подобные навыки – редкость, и у нас нет больше никого, кто мог бы прямо сейчас играть такую роль».
«А что будет, если ты отправишь другого сотрудника на задание Дика?» – спрашивает он.
«Думаю, что возможно результаты исследования будут не настолько точными, но в целом он справится не хуже», – отвечаю я.
Стив откидывается на стуле и какое-то время молчит.
В конце концов он произносит: «Возвращай Брента сюда. Я разберусь с остальным».