CheckOps в действии
Команды могут запускать CheckOps прямо в Compass. Compass предоставляет командам единое пространство, где они могут наглядно просматривать показатели и цели, а также записывать действия, которые планируют предпринять.
Образец еженедельного отчета CheckOps с показателями, предупреждениями и запланированными действиями.
Создать еженедельный отчет CheckOps можно и в Trello.
Что вам понадобится
Удаленно
Видеоконференция с возможностью демонстрировать экран
Цифровой инструмент для совместной работы
Очно
Шаблон отчета CheckOps в Compass
Магнитно-маркерная доска
Маркеры
Стикеры
Таймер
Дополнительные шаблоны
Шаблоны Atlassian
Этот сценарий лучше всего работает с функцией CheckOps в Compass (узнайте, как ваша команда может начать работу с CheckOps). Если вы еще не работаете с Compass, то вы все равно можете уже сегодня начать отслеживать работоспособность команды в Trello.
Инструкции по проведению этого сценария
Этот сценарий предназначен для команд, которые разрабатывают, поставляют и эксплуатируют программное обеспечение.
1. Подготовьтесь к сессии 30 мин
Установите цели команды DevOps
Вся команда будет ставить цели вместе.
- Войдите в Compass и перейдите к функции CheckOps или подготовьте другой способ отслеживать цели.
- Определите, что вы хотите изменить или улучшить в своих методах разработки или эксплуатации.
Бизнес-требования могут определять ваши оперативные цели:
- Вам нужно обеспечить максимально быстрое обслуживание клиентов или быть на связи 24/7/365? Установите цели DevOps по задержке, пропускной способности или доступности.
Оперативные цели могут исходить и от команды:
- Команде надоело, что ее будят в неурочное время оповещения и инциденты, с которыми ничего нельзя поделать? Поставьте цель свести к минимуму количество инцидентов и бесполезных оповещений.
- Считаете, что рассмотрения запросов pull приходится слишком долго ждать? Установите оперативную цель —как долго держать запросы pull открытыми.
Начните с небольшого количества целей DevOps. Чем проще, тем лучше. Убедитесь, что вы собираете нужную информацию для отслеживания прогресса. Если есть возможность, начните с одних и тех же целей во всех службах. Так будет легче собрать данные, которые ваша команда будет рассматривать на каждой встрече.
Убедитесь, что ваши цели DevOps поддаются измерению
Определите свои цели измеримым образом, чтобы точно знать, достигли ли вы их или нет.
- Здесь лучше всего использовать операционные показатели ваших служб: возьмите инструмент наблюдения (например, Splunk Observability, DataDog, Grafana и т. д.) и четко опишите показатель, который необходимо изменить.
- Показатели разработки по вашим репозиториям также важны — чтобы лучше их отслеживать, можно использовать Jira Software или Compass.
Выполняя это упражнение, вы можете понять, что не измеряете показатель, который хотите улучшить. Не переживайте! Одной из задач в списке на вашей первой встрече CheckOps может стать добавление соответствующего показателя DevOps. Когда вы это сделаете, его можно будет использовать его на будущих встречах.
Запишите свои цели DevOps
Как только команда согласится с поставленными целями, запишите их и поделитесь со всеми — это и будут ваши заявленные оперативные цели. Затем создайте основополагающий документ Confluence в доступном и заметном месте и сохраните в нем свои цели DevOps. Если вы работаете в Compass, то можете ставить цели в картах оценки.
Ваши цели DevOps могут (и должны) меняться со временем. Собирая больше информации, вы сможете принимать более обоснованные решения относительно своих целей или, возможно, обнаружите, что ваши бизнес-задачи или оперативные цели меняются. Однако не стоит сразу добавлять слишком много целей и показателей DevOps. Это может привести к тому, что ваша команда не сможет сосредоточиться и достичь желаемых результатов. Рекомендуется ставить не более трех целей на период от трех до шести месяцев.
Вот некоторые примеры целей, которые может выбрать ваша команда:
- Увеличение времени выполнения запросов pull или общей продолжительности цикла (TCT): полезно, если команда часто срывает сроки.
- Сокращение количества оповещений или инцидентов, которые команда получает каждую неделю: полезно, если работа команды слишком часто прерывается.
- Замедление частоты развертывания: полезно, если команда получает слишком много инцидентов.
С ростом работоспособности вашей команды этап подготовки может стать короче.
СОВЕТ: КЛЮЧЕВЫЕ ПОКАЗАТЕЛИ DEVOPS
Мы рекомендуем командам всегда измерять следующие показатели:
- Время внесения изменений
- Частота сбоев при внесении изменений
- Частота развертывания
- Среднее время восстановления
2. Соберите данные 15 минут
После того как команда поставит цели, докладчику нужно будет собрать данные. Имейте в виду, что хотя вам, возможно, и не придется выполнять первый шаг каждую неделю, собирать данные каждую неделю придется.
Ведите журнал
Между собраниями CheckOps будут происходить важные события, которые ваши инструменты не могут не зафиксировать. Учитывая, что человеческая память подвержена ошибкам, стоит записывать такие детали, чтобы обсудить их на следующем собрании.
Если вы работаете в удаленной команде, создавайте для каждой недели новый отчет CheckOps, в который можно добавлять важные события, а затем делиться им с соответствующими участниками команды. Если вы используете Compass, платформу для эффективной разработки от Atlassian, вы можете быстро и просто приступить к сессии CheckOps на странице сведений о работоспособности.
- Дежурному пришло сообщение, но оказалось, что тревога была ложной? Подобное, безусловно, влияет на эффективность разработки в вашей команде, поэтому запишите это и поделитесь с командой, чтобы в будущем вы могли внести улучшения.
- Имел место инцидент, неудачное развертывание или запрос pull, слияние которого заняло слишком много времени? Делайте быстрые заметки в течение недели, чтобы команде не приходилось потом восстанавливать события по памяти.
Подготовьтесь к проверке
Когда ротация дежурств закончится (или сразу после нее), докладчик должен подготовить отчет CheckOps об этой ротации. В простейшем случае отчет должен включать следующее.
- Список служб/компонентов, для которых вы хотите провести CheckOps.
- Показатели (по отношению к вашей цели) для каждого из этих компонентов.
- Отметка (галочка или крестик), чтобы обозначить, достигнута цель или нет.
- План по снижению рисков для недостигнутых целей, а также замечания докладчика о причинах недостижения целей.
- Раздел для записи дальнейших действий.
- Описание прочих событий или аномалий.
Очень важно, чтобы дальнейшие действия были отражены в отчете CheckOps. В противном случае вы получите отчет о состоянии дел вместо необходимого вам цикла обратной связи для непрерывного улучшения.
3. Проведите собрание по итогам CheckOps 30 мин
Каждый играет свою роль
Общайтесь и обсуждайте! Все участники команды DevOps, которые дежурят по очереди, должны посетить это собрание и выполнить свою часть работы.
- Докладчик: Сотрудник, только что закончивший ротацию дежурства, должен представить отчет CheckOps и свои выводы. Если в вашей команде нет дежурных, назначьте человека, который будет записывать события, происходящие в течение недели, и рассказывать в ходе сценария о своих выводах.
- Следующий дежурный: этот сотрудник должен внимательно слушать наблюдения докладчика, запоминая выявленные проблемы или возможные зоны риска, которые могут повториться в следующую ротацию дежурства.
- Руководитель. Это человек (или люди), который помогает команде расставить действия по приоритетам и проследить за их выполнением. При возникновении действия, требующего принятия последующих мер, руководитель должен удостовериться, что действие назначено нужному сотруднику (или сотрудникам) и он сможет его выполнить.
- Другие участники дежурной команды и владельцы компонентов. Это люди, которые также участвуют в ротации дежурств и (или) хорошо знакомы с находящимися в эксплуатации службами или компонентами.
Делитесь результатами и обсуждайте их
Докладчик будет рассказывать команде о каждой службе или каждом компоненте и отмечать, удалось ли достичь целей, и если нет, то почему. Сюда войдут все события или отклонения, возникшие в конкретной службе, а также возможные наблюдения и выкладки. Работа команды состоит в том, чтобы задавать вопросы и предлагать варианты дальнейших действий.
Общими усилиями попытайтесь найти способы достижения целей DevOps для всех служб или компонентов. Это задача для всей команды.
В ходе встречи записывайте действия, которые будет предлагать каждый участник команды, и создавайте задачи в бэклоге.
СОВЕТ: ДЕЙСТВУЙТЕ АКТИВНО, А НЕ РЕАКТИВНО
Когда команда занята достижением оперативных целей или целей разработки, она может незаметно для себя оказаться в ловушке реактивного поведения. Подход CheckOps, основанный на данных, не только поможет достичь любых целей DevOps, будь то надежность, скорость поставки или качество кода, но и облегчит жизнь разработчиков, заложив основу для непрерывного совершенствования.
Последующие действия
Итерация
Мы рекомендуем проводить сценарий CheckOps еженедельно и состыковывать его с расписанием дежурств участников команды. Шаги 2 и 3 повторяются еженедельно, тогда как для шага 1 такая частота может быть не нужна. По мере накопления опыта первый и второй шаги сценария будут укорачиваться. Через несколько недель практики CheckOps команде, возможно, захочется добавить в сценарий еще какие-то важные области. Например, это может быть измерение показателей качества (покрытие кода), бизнес-показателей (еженедельная активность пользователей для какой-либо функции) или любых других, которые помогут команде работать рациональнее.
Пересмотрите свои оперативные цели
Со временем исходные цели DevOps, которые вы ставили перед собой, могут перестать соответствовать потребностям вашей команды. Возможно, изменились потребности бизнеса либо цели оказались чересчур смелыми или, наоборот, слишком скромными. В этом случае выполните первый шаг, обновите заявленные оперативные цели и продолжите практику. При необходимости вы также можете расширить область практики CheckOps, включив в нее больше служб, компонентов или других аспектов своей работы.
Автоматизируйте отчетность
По мере расширения поля деятельности вы заметите потребность уделять больше времени на аналитику и меньше времени на отчеты. Найдите способы автоматизировать сбор ключевых показателей и создание отчетов CheckOps. Чем больше процессов отчетности будет автоматизироваться, тем легче будет жить разработчикам и тем эффективнее будет их работа.
Но даже при наличии автоматизации не пренебрегайте анализом собранных данных и подготовкой к встрече CheckOps. В Atlassian для этого используются показатели из Compass, куда мы интегрировали принципы CheckOps.
Примеры оперативных целей
Вопросы для рассуждения
Вот несколько примеров оперативных целей, на основе которых команда может структурировать свою практику CheckOps в зависимости от круга задач.
Delivery types | Possible objectives |
---|---|
Microservice |
|
On-call team |
|
Software delivery |
|
Mobile application |
|
Оставайтесь в курсе
Подпишитесь на новостную рассылку с последними сценариями и советами для работы и жизни.