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