Джин Ким - Руководство по DevOps
- Название:Руководство по DevOps
- Автор:
- Жанр:
- Издательство:Манн, Иванов и Фербер
- Год:2018
- Город:Москва
- ISBN:9785001007500
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Джин Ким - Руководство по DevOps краткое содержание
Руководство по DevOps - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Мы используем взаимные проверки предлагаемых изменений, чтобы быть уверенными: изменения будут осуществляться как задумано. Мы автоматизируем максимальную часть проверок качества, обычно выполняемых тестировщиками или отделом информационной безопасности. Вместо того чтобы разработчики отправляли запрос на тестирование или ставили его в свой план, такие тесты выполняются по требованию, что позволяет разработчикам быстро проверить код и даже самостоятельно развернуть изменения в производственную среду.
При этом мы побуждаем каждого исполнителя, а не целое подразделение, отвечать за качество. Информационная безопасность — не просто работа отдела информационной безопасности, так же как доступность — компетенция не только отдела эксплуатации.
Если разработчики разделяют ответственность за качество систем, то они не только улучшают результаты, но и ускоряют процесс обучения. Это особенно важно для разработчиков, обычно наиболее удаленной от клиента группы. Гэри Грувер отмечает: «Разработчикам невозможно научиться чему-либо, когда на них кричат за то, что они сломали шесть месяцев тому назад, — именно поэтому нам необходимо обеспечить обратную связь для всех и как можно скорее, в течение минут, а не месяцев».
В 1980-е годы принципы проектирования для производства подразумевали разработку деталей и процессов таким образом, чтобы законченные изделия имели минимальную стоимость, максимальное качество и малое время изготовления. В качестве примера приводились чрезмерно асимметричные детали — их нельзя было установить неправильно, и проектирование шуруповертов — с их помощью невозможно слишком сильно затянуть гайки.
Это было отклонением от обычных правил конструирования. В них основное внимание уделяется внешним клиентам, а интересами изготовителей пренебрегают.
Бережливое производство определяет два типа клиентов, для которых нужно выполнять конструирование: внешний клиент (вероятнее всего, он платит за поставляемые услуги) и внутренний (получает и обрабатывает задание сразу же после нас). В соответствии с правилами бережливого производства наиболее важный клиент — это наш смежник: к нему ведет поток создания ценности. Оптимизация работы требует, чтобы мы вникали в его проблемы в целях более эффективного выявления проблем проектирования, мешающих быстрому и беспрепятственному течению потока.
В технологическом потоке создания ценности мы выполняем оптимизацию в интересах рабочих нижнего уровня потока, разрабатывая процесс, в котором операционные нефункциональные требования (например, архитектура, производительность, стабильность, тестируемость, конфигурируемость и безопасность) приоритетны так же высоко, как и пользовательские функции.
При этом мы формируем качество с самого начала, что с высокой вероятностью выразится в создании набора кодифицированных нефункциональных требований. Затем мы можем рационально интегрировать их в каждую созданную службу.
Создание быстрой обратной связи имеет важнейшее значение для достижения качества, надежности и безопасности в технологическом потоке создания ценности. Мы делаем это, обнаруживая проблемы по мере возникновения, объединяясь вокруг них и добывая новые знания, обеспечивая качество с начальных этапов и постоянно выполняя оптимизацию в интересах рабочих мест нижнего уровня.
Конкретные рекомендации, обеспечивающие быстрое течение потока создания ценности DevOps, представлены в части IV. В следующей главе мы расскажем о третьем пути — принципах обратной связи.
Глава 4. Третий путь: принципы непрерывного обучения и экспериментирования
В то время как первый путь описывает ход рабочего процесса слева направо, а второй — быструю и постоянно действующую обратную связь справа налево, третий путь протекает в постоянном обучении и экспериментировании. Для отдельных работников становится возможным постоянно создавать знания и превращать их из индивидуальных в общие, для команд и организации в целом.
В материальном производстве, где сохраняются систематические сложности с качеством и безопасностью, работы обычно жестко распределены и проводятся строго в соответствии с установленными правилами. Например, на заводе GM во Фримонте, описанном в предыдущих главах, сотрудники имели очень мало возможностей для применения улучшений и приобретенных знаний в повседневной деятельности, а все предложения что-либо улучшить «упирались в каменную стену безразличия».
В таких производственных средах зачастую существует атмосфера страха и недоверия: рабочих, допускающих ошибки, наказывают, а тех, кто предлагает усовершенствования или указывает на недостатки, рассматривают как провокаторов и смутьянов. В подобных случаях руководители активно подавляют обучение и совершенствование и даже наказывают за них, надолго закрепляя имеющиеся проблемы с качеством и безопасностью.
Высокопроизводительные производства, наоборот, требуют активного содействия обучению вместо жестко заданных заданий, а система работы должна быть динамической, чтобы рабочие, занятые на основном производстве, могли экспериментировать в своей повседневной деятельности. Это становится возможным благодаря тщательной стандартизации процедур работы и документирования результатов.
В технологическом потоке создания ценности наша цель — формирование культуры высокого доверия, подкрепляющей стремление учиться всю жизнь, в том числе методом проб и ошибок, в ходе повседневной работы. Применяя научный подход и к процессу внедрения улучшений, и к разработке продуктов, мы можем извлекать уроки из успехов и неудач, выявляя неплодотворные идеи и совершенствуя продуктивные. Более того, любое знание, полученное на одном рабочем месте, можно быстро сделать всеобщим, чтобы новые методы и практики могли быть использованы в масштабах всей организации.
Мы выделяем время, чтобы оптимизировать повседневную работу и в дальнейшем обеспечить и ускорить обучение сотрудников. Мы непрерывно вносим дополнительную нагрузку в системы, чтобы активизировать их постоянное совершенствование. Мы даже имитируем сбои в производственных процессах, правда, в контролируемых условиях, чтобы проверить надежность результатов.
Благодаря созданию динамичной системы непрерывного обучения, помогающей выиграть в рыночной конкурентной среде, мы даем возможность группам быстро адаптироваться к постоянно меняющимся условиям.
Работая в сложной системе, по определению невозможно точно предсказать все результаты любого действия. Это ведет к неожиданным или даже катастрофическим последствиям и несчастным случаям даже тогда, когда мы принимаем меры предосторожности и делаем все тщательно.
Читать дальшеИнтервал:
Закладка: