Текстовый курс по DevOps
Как наладить обратную связь в DevOps?
В ИТ-среде, где потребности и запросы клиентов постоянно усложняются, вы и команда DevOps должны непрерывно повышать качество работы. Для этого настройте быстрые, непрерывные и надёжные циклы обратной связи справа налево по потоку создания ценности.
Эти циклы помогут быстро устранять препятствия, пока они небольшие, простые и недорогие в устранении. Они помогают формировать культуру обучения прямо в ходе работы. Когда возникают проблемы, вы и команда DevOps используете их как возможность научиться новому и повысить качество программных продуктов и услуг.
Зачем закладывать качество в работу с помощью обратной связи DevOps?
Как вы, вероятно, уже поняли на опыте разработки ПО, в сложной системе невозможно знать всё. Даже повторение абсолютно одинаковой работы не гарантирует одинакового результата. Такая неопределённость неприемлема для бизнеса, поэтому организации пытаются контролировать качество с помощью контрольных списков, аудитов, проверки соответствия требованиям, профильных специалистов и микроменеджмента. Но даже этих мер иногда не хватает, чтобы избежать ошибок.
Поэтому создание организации, которая закладывает качество в свою работу, начинается с признания того, что ошибки — часть повседневной работы.
Создавайте культуру безопасной организации работы
Создавайте культуру безопасной организации работы. Никто в команде DevOps не боится ошибиться, потому что вы и команда знаете: ошибки быстро выявляются и исправляются, пока они невелики и не привели к серьёзным дефектам, простоям сервисов или отрицательным отзывам клиентов.
Такая культура даёт следующие преимущества вам, вашей команде DevOps, всему ИТ-подразделению и бизнесу:
- Сложность ваших систем будет контролироваться, поэтому проблемы при проектировании и эксплуатации будут выявляться быстро.
- Проблемы быстро устраняются, пока они невелики. Решение проблем будет естественным образом пополнять знания и опыт организации.
- Новые знания и опыт распространяются по всей организации.
- Руководители вашей DevOps-организации развивают других руководителей, которые создают и непрерывно совершенствуют безопасные системы работы.
Выявляйте проблемы в момент возникновения
Если обратная связь медленная, редкая и запаздывает, предотвращать нежелательные результаты становится поздно и дорого. В старые времена каскадной поставки приложения могли разрабатывать год до первой демонстрации заказчику, а затем ещё год переписывать. Сегодня ни одна компания не может позволить себе такую работу.
Ваша цель — создать быстрые циклы обратной связи. Когда работа движется по потоку создания ценности слева направо, обратная связь должна непрерывно двигаться справа налево. Чтобы закладывать качество в работу DevOps, нужны быстрые циклы обратной связи. Если возникает проблема, команда обнаруживает её при первом появлении в потоке. Вы быстро устраняете проблемы и постоянно проверяете, соответствует ли реализация ожиданиям внутренних и внешних клиентов и остальных участников потока, которых затрагивает ваша работа. Быстрая обратная связь помогает и быстро исправлять ошибки, и учиться на них, чтобы не повторять их в будущем.
Исправляйте ошибки, пока это проще, быстрее и дешевле
Быстро обнаруживая проблемы, вы можете быстро их исправлять. Иначе:
- Стоимость и трудоёмкость исправления растут экспоненциально, а технический долг накапливается в виде обходных решений поверх уже существующих.
- Ошибки переходят на последующие этапы потока создания ценности, где с высокой вероятностью порождают новые ошибки.
- Ошибки повторяются далеко от этапа, на котором впервые возникли, и требуют больше исправлений и усилий.
- Воспоминания о том, почему возникла ошибка, стираются, а обстоятельства меняются. Если ошибку обнаружить спустя месяцы, трудно найти настоящую первопричину, а главное — невозможно извлечь урок. Приходится срочно придумывать обходное решение, а затем переходить к следующему. Именно этого DevOps помогает избежать.
Поощряйте команду DevOps и себя открыто говорить о проблемах и создавать механизмы непрерывной обратной связи, чтобы выявлять и быстро исправлять ошибки. Не добавляйте ошибочную работу поверх уже ошибочной. Не позволяйте команде создавать новые функции до устранения ошибок, которые помешают их разработке. Непрерывно улучшая качество работы и устраняя ошибки по мере появления, вы сможете создавать лучшие программные продукты и услуги на своём рынке.
Принимайте решения по контролю качества там, где выполняется работа
Чем дальше от места выполнения работы принимаются решения о контроле качества, тем ниже качество, дольше поставка, слабее обратная связь между причиной и следствием и меньше возможностей учиться на ошибках.
Вкратце:
- Не требуйте ручного контроля качества там, где его можно автоматизировать.
- Не требуйте согласований у занятых людей, которые мало знают о выполняемой работе или совсем в ней не разбираются.
- Не составляйте объёмную документацию для согласований, которая вскоре устареет из-за характера вашей работы.
- Не передавайте на согласование ответственным лицам крупные пакеты работ.
Каждый участник команды DevOps должен выявлять и исправлять ошибки в своей области ответственности, обсуждать их, делиться опытом и учить других. Парное программирование, коллегиальная проверка, автоматизированное тестирование, проверка коммитов, внутренние контрольные точки и частые демонстрации помогают сделать обеспечение качества общей обязанностью, а не задачей отдельного подразделения.
ВЫВОДЫ
Вы и команда DevOps помните, что вам платят за обслуживание клиентов. Поэтому всегда работайте в интересах внутренних и внешних клиентов.
Особенно важен следующий этап потока создания ценности. Старайтесь понять потребности коллег на этом этапе и улучшайте свою работу для них. Наладьте с ними быструю и надёжную обратную связь, чтобы работа двигалась быстро, без задержек и с высоким качеством, а команда DevOps могла как можно быстрее выявлять и устранять проблемы.
