Проект «Феникс». Роман о том, как DevOps меняет бизнес к лучшему - страница 40



Все смеются, но не Патти. Она злится, очевидно, недовольная тем, как все проходит.

«Это не похоже ни на один процесс управления изменениями, что я видел, – говорит Джон. – Но я запишу свои изменения на доске, вроде обновлений файерволов и мониторинга изменений, которые запланированы на следующую пару дней».

К моему удивлению, готовность Джона поучаствовать в этом вдохновляет всех остальных, и они начинают записать свои изменения на карточках.

В конце концов, и Вэс говорит: «Ладно, давайте попробуем. Все лучше, чем пользоваться старой программой».

Один из руководителей протягивает стопку карточек. «Я закончил с изменениями в базах данных, которые мы планируем осуществить».

После того как я одобрительно ему киваю, он быстро читает текст на одной из карточек: «Запустить рекомендованный производителем скрипт на сервере Octave XZ577, чтобы зафиксировать проблемы с производительностью систем платежей в розничных магазинах. Это затронет базы данных заказов и связанные с ними приложения. Мы бы хотели провести их в следующую пятницу в 20:30».

Я киваю, довольный ясностью предлагаемого изменения. Но Вэс говорит: «Это не изменение! Это просто запуск скрипта баз данных. Если бы ты его менял, то было бы о чем говорить. Следующий».

Но менеджер быстро отвечает: «Нет, это определенно изменение. Оно временно заденет некоторые настройки баз данных, и мы не знаем, на какую продукцию это может повлиять. На мой взгляд, это так же опасно, как изменение конфигурации баз данных».

Это изменение или нет? Я согласен с обеими сторонами.

После тридцати минут споров все еще неясно, как мы определяем «изменение».

Перезапуск сервера – это изменение? Да, потому что мы не хотим, чтобы все по своей воле перезапускали серверы, особенно если он сейчас включен в критические процессы. А как вообще насчет выключения сервера? Да, по той же причине. А как насчет включения? Нет, как нам показалось.

Спустя полчаса мы наконец-то можем записать на доске: «Изменение – это любая активность, которая физически, логически или виртуально затрагивает приложения, базы данных, операционные системы, сети или оборудование и которая может повлиять на текущие процессы».

Я смотрю на часы и с удивлением обнаруживаю, что мы пробыли в комнате больше девяноста минут и до сих пор не утвердили ни одного изменения. Я заставляю всех соображать быстрее, но по окончании двухчасовой встречи мы записали на доске только пять изменений.

К моему изумлению, никто, кроме меня, больше не выглядит разочарованным. Все вовлечены в дискуссию, даже Патти, – бурно обсуждают риски, связанные с предлагаемыми изменениями. По поводу одного даже выяснилось, что это изменение вовсе не обязательно.

Воодушевленный, я говорю: «Давайте отложим это до понедельника. Отдайте все свои карточки Патти как можно скорее. Патти, как нам лучше всего обработать карточки?»

Она отвечает: «Завтра я поставлю специальную корзину. Пока же просто сложите их на стол».

Когда мы заканчиваем, некоторые подходят ко мне, чтобы сказать: «Отличное собрание», и «Было бы здорово, если бы у нас было больше времени для таких обсуждений», и «Я уже жду понедельника».

В конце концов, осталась только Патти, руки скрещены. «Мы потратили столько пота, крови и слез, разрабатывая старую систему контроля. И сейчас все от нее плюются. Почему ты думаешь, что с этой все будет по-другому?»

Я пожимаю плечами: «Я не знаю. Но мы будем пробовать, пока система не начнет работать, и я лично проверю, все ли в этом участвовали. Это нужно не только для того, чтобы учесть замечания аудиторов. Нам нужен какой-то способ планировать, обсуждать и проводить изменения безопасно. Я зуб даю, что если мы не наладим этот процесс, скоро меня уволят». Показывая в свой программный документ, она говорит: «Мы не должны просто выкидывать проделанную работу в мусорное ведро. Мы потратили неделю на разработку и тысячу долларов на консультантов, которые помогали нам».