Текст книги "Проект «Феникс». Роман о том, как DevOps меняет бизнес к лучшему"
Автор книги: Джордж Спаффорд
Соавторы: Кевин Бер,Джин Ким
сообщить о нарушении
Текущая страница: 6 (всего у книги 7 страниц)
Глава 6
Бесконечные изменения
5 сентября, пятница
Идет одна из бесконечных встреч по «Фениксу». Я понимаю, что разработчики отстают даже больше, чем мы боялись. Как Вэс и предсказывал, все больше и больше работы откладывается непосредственно до релиза программы, включая большую часть тестирования.
Это значит, что именно мы будем теми, кто обнаружит ошибки, которые могут взорвать компанию, а не отдел контроля качества. Великолепно.
Во время недолгого затишья в дискуссии я смотрю на свой телефон и вижу письмо от Патти. Она хочет встретиться и поговорить насчет персонала, обещая устроить мне удивительный сюрприз.
Я открываю прикрепленный документ и вижу вдохновляющее количество деталей, но на моем крошечном экране невозможно ничего разобрать. Я отвечаю Патти, что уже выдвигаюсь и прошу ее пригласить Вэса. Когда я прихожу, то с удивлением вижу, как Вэс устанавливает проектор, на котором транслируется список, который прислала Патти. Я очень рад, что мы наконец-то встретились, чтобы проанализировать ситуацию вместо того, чтобы лишь реагировать на внезапные сбои.
Я сажусь на стул. «Итак, что у вас есть?»
Вэс начинает. «Патти проделала отличную работу, собирая это все в один документ. Что мы обнаружили – ну, это интересно».
Патти объясняет: «Мы провели интервью, собрали данные и провели анализ. Сейчас это цифры только относительно наших ключевых ресурсов. И уже здесь наблюдаются определенные проблемы».
Она показывает на один из рядов в документе. «Во-первых, у нас очень много проектов. Кирстен сказала, что она одна ведет около тридцати пяти крупных бизнес-проектов, к каждому из которых мы причастны. Внутренних проектов по IT-сопровождению мы уже насчитали около семидесяти, и это число растет с каждым новым опрошенным сотрудником».
«Подождите, – говорю я, искренне пораженный. – У нас 150 сотрудников, правильно? Если вы уже насчитали 105 проектов, это по 1,5 человека на проект. Это не слишком много?»
Вэс отвечает: «Конечно, много. И мы знаем, что это число будет только расти. Так что в итоге получится по человеку на проект или меньше. Это безумие».
Я спрашиваю: «Насколько масштабны эти внутренние проекты?»
Вэс прокручивает табличку, показывая список проектов, которые они обнаружили, рядом с описанием проекта прописано количество требующихся на них человеко-часов. «Объединить и обновить почтовые серверы», «Обновить тридцать пять инстанций баз данных Oracle», «Установить поддерживаемые серверы баз данных Lemming», «Виртуализировать и переместить первостепенные бизнес-приложения» и т. д. Я не могу удержать стон. Конечно, некоторые проекты довольно небольшие, все же большая часть кажется просто огромными задачами, на реализацию которых требуются не человеко-часы, а по крайней мере три человеко-года или больше.
Увидев мое выражение лица, Патти говорит: «У меня была такая же реакция. Мы отвечаем за огромное количество проектов. Давай теперь посмотрим, что мы можем. Это немного сложнее, так как мы не можем просто назначать случайных людей на случайные проекты, – продолжает она. – Когда мы посмотрели, кто за какой проект отвечает и каковы другие их обязанности и возможности, вот что мы обнаружили».
Когда Вэс переключает на другую табличку, мое сердце останавливается.
«Ужас, а? – говорит Вэс. – Большая часть наших людей занимается «Фениксом». И посмотри на следующую строчку: «Исправление найденных аудиторами ошибок» – следующий большой проект. И даже если мы занимались бы только им, на это ушел бы целый год! И это включая Брента, кстати». Не веря своим глазам, я говорю: «Ты шутишь. Если мы отложим все проекты, кроме аудиторских замечаний, это потребует всех наших ресурсов на целый год?»
«Именно, – говорит Патти, кивая. – Трудно в это поверить, но теперь мы видим, как много работы провиснет из-за проблем с аудитом».
Я смотрю на табличку, у меня нет слов.
Если бы кто-нибудь показал мне эти цифры во время моего первого разговора со Стивом, я бы убежал из его кабинета, крича как маленькая девочка. А ведь еще не поздно, думаю я, представляя себе эту картину.
С напускным спокойствием я говорю: «Ладно, предупрежден – значит вооружен. Продолжайте».
Вэс снова смотрит на таблицу. «Третья большая статья занятости – это неожиданные ЧП и сбои. В данный момент именно они занимают около семидесяти пяти процентов времени нашего персонала. И так как это часто случается с критическими бизнес-системами, такие инциденты всегда в приоритете – включая «Феникс» и исправление найденных аудиторами несоответствий.
Кстати говоря, ты знал, что пока мы вчера разговаривали с Брентом о его проектах, наше интервью прерывалось дважды, потому что ему приходилось помогать налаживать системы после сбоев? Получается, что мы оторвали его от работы над «Фениксом», чтобы от нас его оторвали для восстановления систем!» – говорит он, смеясь. Я тоже начинаю смеяться, но затем прерываюсь. «Подожди. Какие сбои? Почему я ничего не знаю? Компания не может так работать!»
«Ну, это была очередная проблема с SAN, но не критическая, – отвечает Вэс. – Месяц назад процессы функционировали очень медленно, SAN работал без резервов. Когда очередной драйвер обвалился, следом за ним обрушилась вся система. Брент должен был помочь восстановить некоторые из баз данных, когда починили SAN».
Я не могу сдержаться и кричу на него: «Черт побери, Вэс! Этого же можно было избежать! Сделай так, чтобы один из твоих младших сотрудников каждый день мониторил сбои драйверов. Пусть он сидит и считает мигающие огоньки, если понадобится. Это называется превентивные меры! Брент нужен нам для «Феникса», а не для собачьего дерьма вроде этого!»
Защищаясь, Вэс говорит: «Эй, это все-таки немного сложнее. Мы заказали драйвера на замену, но эти заявки не утверждают неделями. Кто-то из производителей должен был дать нам их в кредит. Это не наша вина».
Я теряю терпение. «Вэс, послушай меня. МНЕ ПЛЕВАТЬ! Мне плевать на заявки. Мне плевать, насколько милы твои производители. Мне нужно, чтобы ты делал работу. Убедись, что этого не повторится! – Я делаю глубокий вдох. Я понимаю, что меня разочаровал не сбой драйверов, а то, что мы в принципе не можем сконцентрироваться на наиболее важных для компании вещах. – Ладно, давай сейчас не будем об этом, – говорю я, снова смотря на Вэса. – Хотя я серьезно говорю – кто-то должен постоянно мониторить состояние SAN. И назначь встречу на следующую неделю для тебя, меня и Патти, попробуем добраться до корня всех этих сбоев. Сейчас мы должны понять, как нам справиться с огромным количеством срочной работы. Если мы не сможем выполнить все, что требуется для «Феникса», это подвергнет опасности всю компанию».
«Да, я понял. Мы все наладим до запуска «Феникса», – говорит Вэс, кивая. – И я займусь сбоями SAN завтра днем».
«Ладно, теперь давайте к нашему документу», – говорю я.
Патти хмуро смотрит на таблицу: «Ты прав. Одним из лейтмотивов всех наших интервью было то, что все погибают под количеством работы по своим проектам. Даже когда у них появляется время, они с трудом могут расставить приоритеты по различным задачам. Сотрудники из бизнес-отдела постоянно просят наших ребят что-то сделать для них. Особенно из отдела маркетинга».
«Сара?» – спрашиваю я.
«Конечно, но не только она, – отвечает Патти. – На самом деле практически каждый руководитель в этой компании свободно обращается прямо к любимому сотруднику IT и либо просит его оказать услугу, либо заставляет».
«Как мы можем переменить такое положение дел? – спрашиваю я. – О чем мне нужно просить Стива?»
Вэс прокручивает табличку вниз. «Исходя из приблизительных цифр, нам нужно нанять семерых новых сотрудников: троих администраторов баз данных, двух серверных инженеров, одного сетевого инженера и одного инженера виртуализации. Конечно же, ты знаешь, потребуется время, чтобы найти и нанять этих людей, а потом еще полгода или год, чтобы они стали полноценно и продуктивно работать».
Конечно же, я знаю, что новичкам нужно время, чтобы начать вносить реальный вклад в нашу работу. Но услышать мнение Вэса о том, насколько не скоро они к этому придут, было тяжело. Даже если Стив это одобрит, помощи ждать еще долго.
Позже в тот же день я иду на второе заседание CAB, весьма обнадеженный. Если у нас получится запустить наш старый процесс контроля изменений, мы сможем разом решить одну из наиболее значительных проблем, обнаруженных аудиторами, и одержать некоторые операционные победы тоже. Помимо этого я очень рад тому, как отлично сработались Патти и Вэс. Подходя к переговорной, я слышу громкие голоса.
«…и в итоге Патти добилась того, что этого инженера уволили. Он был одним из наших лучших людей! Это не тебе было решать!»
Ошибки быть не может. Это орет Вэс. В ответ верещит Патти: «Что? Ты сам подписал тот приказ! С чего это вдруг это моя вина?»
Я знал, что это было бы слишком хорошо, чтобы быть правдой.
Потом я слышу, как Джон говорит: «Это было правильное решение. Мы сейчас уже входим в третий год повторяющихся ошибок в области контроля изменений. Это уже известно аудиторскому комитету. В следующий раз они не просто уволят инженера, если вы понимаете, о чем я».
Подождите-ка. Кто пригласил Джона?
Прежде чем он еще больше усугубит ситуацию, я быстро открываю дверь и радостно говорю: «Всем привет! Все готовы обсудить некоторые изменения?»
Четырнадцать людей оборачиваются и смотрят на меня. Большая часть технических руководителей из разных групп сидит за столом. Вэс стоит за своим стулом пыхтя, а Патти стоит на другом конце комнаты, руки скрещены на груди.
Джон сидит в конце комнаты, костюм-тройка нараспашку, нежеланный гость.
Двумя руками я достаю свой допотопный компьютер. Он со стуком опускается на стол и из него выпадает батарейка – отклеился скотч, и затем я слышу скрежещущий звук – закрутился дисковод.
Разъяренное выражение лица Вэса моментально исчезает. «Вау, босс, классный комп. Что это, Kaypro II? Я таких уже лет тридцать не видел. Дай знать, если тебе понадобится дискета, чтобы записать какие-нибудь данные – одна вроде завалялась у меня на чердаке».
Два инженера прыскают со смеху. Я коротко улыбаюсь Вэсу, благодарный за такую попытку разрядить атмосферу.
По-прежнему стоя, я говорю, обращаясь ко всем сразу: «Давайте я объясню, зачем я вас всех здесь собрал. Учитывая сверхсрочность проектов по «Фениксу», вы можете быть уверены – я бы не стал вас отрывать, если бы это было неважно, – я продолжаю: – Во-первых, события, которые привели к сбою работы SAN и обвалу системы расчета зарплаты во вторник, не должны повториться. То, что началось как среднего размера сбой, превратилось в огромный ужасный инцидент, затронувший всю работу SAN. Почему? Потому что мы не говорим друг другу о тех изменениях, которые собираемся провести. Это неприемлемо.
Во-вторых, Джон прав. Мы провели вчерашнее утро с аудиторами, обсуждая ряд обнаруженных ими ошибок, – продолжаю я. – Дик Лондри уже сходит с ума, потому что это может затронуть наши квартальные финансовые отчеты. Мы должны вплотную заняться контролем изменений, и как менеджеры и технические руководители мы должны выяснить, какой процесс может помочь нам в этом и позволит избежать как масштабных сбоев, так и исправить найденные аудиторами недочеты, при этом позволяя продолжать работу. Никто не уйдет из этой комнаты, пока мы не разработаем план действий. Все понятно?»
Удостоверившись, что все внимательно слушают, я открываю дискуссию. «Итак, что позволит нам решить эти проблемы?»
Один из сидящих говорит: «Давайте я начну. Этот инструмент управления изменениями ужасен – им невозможно пользоваться. Там миллион обязательных для заполнения полей и тем не менее практически никогда не было возможности вписать, что же мне собственно нужно сделать – просто потому что в поле «Изменяемое приложение» не было того приложения, с которым я хочу поработать. Поэтому я просто перестал делать запросы».
Другой руководитель вступает: «Он не шутит. Чтобы следовать правилам Патти, я должен был вручную вбивать сотни имен серверов в одно текстовое окошко. В большей части случаев там просто не хватало места! Сотни названий серверов должны влезть в текстовое окошко на 64 символа? Какой идиот разработал эту форму?»
И снова недобрый смех.
Патти уже пунцового цвета. Она кричит: «Нам приходилось использовать такие ограниченные окошки, чтобы добиться равнозначности данных! И я бы хотела поддерживать список приложений обновленным, но у меня нет возможностей. Думаете, все самостоятельно обновляется?»
«Патти, суть не в конкретном инструменте. Это просто дурацкий процесс, – говорит Вэс. – Когда мои ребята делали запросы на разрешение на изменение, им приходилось ждать вечность, чтобы его получить, а затем еще поставить в расписание. Бизнес-отдел постоянно сидит у нас на шее. Мы не можем ждать, пока ты охаешь и ахаешь, жалуясь, что мы неправильно заполнили форму».
Патти срывается: «Это просто чушь, и ты это знаешь. Твои люди постоянно нарушают правила. Например, они всегда помечали свои запросы как «срочные» или «очень срочные». Это поле только для того, что действительно срочно!»
Вэс резко отвечает: «Нам приходилось так делать, потому что только так мы могли добиться, чтобы твоя команда вообще рассмотрела их! Кто будет ждать три недели?»
Другой руководитель предлагает: «Может быть, сделать еще одно поле – «суперсрочно»?»
Я жду, пока смех утихнет. Такими темпами мы никуда не сдвинемся. Пораздумав, я, в конце концов, говорю: «Давайте сделаем десятиминутный перерыв».
После того как встреча возобновляется, я говорю: «Мы не закончим, пока не составим список авторизованных и включенных в расписание изменений, которые планируются на следующие тридцать дней.
Как вы можете увидеть, моя помощница принесла сюда стопку каталожных карточек. Я хочу, чтобы каждая группа внесла на нее все планируемые изменения, по одному на карточку. Там должна быть следующая информация: кто планирует, система, которая будет затронута и описание в одно предложение.
На доске я нарисую календарь, в который мы позже внесем одобренные изменения, – продолжаю я. – Таковы правила. Коротко и ясно».
Вэс берет стопку карточек, глядя на них с сомнением. «Серьезно? Бумажные карточки, в наши дни? Может мы используем твой компьютер? Хотя он, наверное, прародитель бумаги?»
Все смеются, но не Патти. Она злится, очевидно, недовольная тем, как все проходит.
«Это не похоже ни на один процесс управления изменениями, что я видел, – говорит Джон. – Но я запишу свои изменения на доске, вроде обновлений файерволов и мониторинга изменений, которые запланированы на следующую пару дней».
К моему удивлению, готовность Джона поучаствовать в этом вдохновляет всех остальных, и они начинают записать свои изменения на карточках.
В конце концов, и Вэс говорит: «Ладно, давайте попробуем. Все лучше, чем пользоваться старой программой».
Один из руководителей протягивает стопку карточек. «Я закончил с изменениями в базах данных, которые мы планируем осуществить».
После того как я одобрительно ему киваю, он быстро читает текст на одной из карточек: «Запустить рекомендованный производителем скрипт на сервере Octave XZ577, чтобы зафиксировать проблемы с производительностью систем платежей в розничных магазинах. Это затронет базы данных заказов и связанные с ними приложения. Мы бы хотели провести их в следующую пятницу в 20:30».
Я киваю, довольный ясностью предлагаемого изменения. Но Вэс говорит: «Это не изменение! Это просто запуск скрипта баз данных. Если бы ты его менял, то было бы о чем говорить. Следующий».
Но менеджер быстро отвечает: «Нет, это определенно изменение. Оно временно заденет некоторые настройки баз данных, и мы не знаем, на какую продукцию это может повлиять. На мой взгляд, это так же опасно, как изменение конфигурации баз данных».
Это изменение или нет? Я согласен с обеими сторонами.
После тридцати минут споров все еще неясно, как мы определяем «изменение».
Перезапуск сервера – это изменение? Да, потому что мы не хотим, чтобы все по своей воле перезапускали серверы, особенно если он сейчас включен в критические процессы. А как вообще насчет выключения сервера? Да, по той же причине. А как насчет включения? Нет, как нам показалось.
Спустя полчаса мы наконец-то можем записать на доске: «Изменение – это любая активность, которая физически, логически или виртуально затрагивает приложения, базы данных, операционные системы, сети или оборудование и которая может повлиять на текущие процессы».
Я смотрю на часы и с удивлением обнаруживаю, что мы пробыли в комнате больше девяноста минут и до сих пор не утвердили ни одного изменения. Я заставляю всех соображать быстрее, но по окончании двухчасовой встречи мы записали на доске только пять изменений.
К моему изумлению, никто, кроме меня, больше не выглядит разочарованным. Все вовлечены в дискуссию, даже Патти, – бурно обсуждают риски, связанные с предлагаемыми изменениями. По поводу одного даже выяснилось, что это изменение вовсе не обязательно.
Воодушевленный, я говорю: «Давайте отложим это до понедельника. Отдайте все свои карточки Патти как можно скорее. Патти, как нам лучше всего обработать карточки?»
Она отвечает: «Завтра я поставлю специальную корзину. Пока же просто сложите их на стол».
Когда мы заканчиваем, некоторые подходят ко мне, чтобы сказать: «Отличное собрание», и «Было бы здорово, если бы у нас было больше времени для таких обсуждений», и «Я уже жду понедельника».
В конце концов, осталась только Патти, руки скрещены. «Мы потратили столько пота, крови и слез, разрабатывая старую систему контроля. И сейчас все от нее плюются. Почему ты думаешь, что с этой все будет по-другому?»
Я пожимаю плечами: «Я не знаю. Но мы будем пробовать, пока система не начнет работать, и я лично проверю, все ли в этом участвовали. Это нужно не только для того, чтобы учесть замечания аудиторов. Нам нужен какой-то способ планировать, обсуждать и проводить изменения безопасно. Я зуб даю, что если мы не наладим этот процесс, скоро меня уволят». Показывая в свой программный документ, она говорит: «Мы не должны просто выкидывать проделанную работу в мусорное ведро. Мы потратили неделю на разработку и тысячу долларов на консультантов, которые помогали нам».
Она слегка всхлипывает. Я напоминаю себе, как долго она пыталась внедрить этот процесс в компании.
«Я знаю, что много сил было вложено в этот процесс, – говорю я участливо. – Но давай посмотрим правде в глаза. Никто им не пользовался, что и обнаружили аудиторы. Мы с тобой тоже знаем, что люди игнорировали систему просто потому, что им надо было продолжать делать свою работу.
Возможно, мы и начинаем все заново, но нам нужен твой опыт и навыки в этих вопросах. Это все еще твой процесс, и ты знаешь, насколько он для нас важен».
«Ладно, – говорит она, выдыхая. – Меня все же больше волнует наше выживание, а не сохранение старого процесса».
Выражение ее лица меняется. «Как ты думаешь, мне написать письмо с результатами встречи и новыми инструкциями о том, как нужно запрашивать разрешение?»
Позже днем я снова воюю за «Феникс», когда мне звонит Патти.
Я выхожу в коридор. «В чем дело?»
Ее голос звучит глухо. «У нас проблема. Я думала, что мы соберем около пятидесяти изменений, требующих согласования к следующей неделе. Но их уже 243. И я продолжаю получать письма от людей с просьбой дать им больше карточек… Я думаю, нам придется рассмотреть больше четырехсот изменений на следующей неделе!»
Дерьмо. Четыре сотни? Сколько из них высокой степени риска, сколько могут затронуть «Феникс», систему расчета зарплаты или того хуже?
«Ммм, ну что же, по крайней мере, люди следуют регламенту», – говорю я, нервно смеясь.
Я слышу ее смех. «Учитывая, сколько поступило изменений, как мы сможем их авторизовать к понедельнику? Можно ли какие-то из них отложить?»
«Ни в коем случае, – говорю я сразу же. – Лучший способ убить во всех желание и поддержку этого процесса – это не дать сделать то, что они хотят сделать. Не думаю, что у нас будет второй шанс сделать это правильно.
Разошли всем письма о том, что изменения можно назначить на понедельник. Те изменения, что попадут на понедельник, авторизовывать будет не нужно. Но на всю оставшуюся неделю – должны будут пройти согласование. И никаких исключений».
Я слышу, как Патти набирает что-то на телефоне. «Поняла. Думаю, мне понадобится кто-то из моих сотрудников, чтобы рассортировать все карточки за выходные. Если честно, я просто поражена количеству запросов».
И я тоже.
«Прекрасно», – говорю я, оставляя свои заботы при себе.