Структура команды DevOps

внедрению DevOps Изучение

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

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

  • 76% респондентов в настоящее время имеют инициативу DevOps или планируют ее в ближайшие 12 месяцев.
  • 90% респондентов заявили, что преобразование DevOps было важным для их организаций.

Если DevOps должен приносить пользу организациям, как им следует структурировать свои команды, чтобы извлечь максимальную пользу из этого подхода? Есть ли стандартная формула, которой все должны придерживаться, или она может быть адаптирована к конкретным и уникальным потребностям организации?

Если DevOps должен приносить пользу организациям

Качества команды DevOps

Образ мышления команды DevOps отличается от традиционных ИТ- команд или команд scrum, поскольку это инженерное мышление, направленное на оптимизацию как доставки продукта, так и его ценности для клиентов на протяжении всего жизненного цикла продукта.

Чтобы такой образ мышления приносил пользу, команда должна усвоить следующие качества, определенные DASA :

  • Гибкий. Команда сосредоточена на создании ценности для клиента в соответствии с затраченным временем, качеством и стоимостью. Они прозрачны в отношении производительности, прогресса и препятствий, с постоянным и неуклонным стремлением к улучшению через обратную связь.
  • Самоорганизующийся. Команда автономна в рамках установленных границ и согласована с другими командами через четкое видение, поэтому определение целей взаимозависимо от других.
  • Кросс-функциональный. Все необходимые компетенции для разработки продуктов и управления ими должны быть внутри команды. Все члены команды предпочитают приобретение компетенций в форме гребешка, а также непрерывный обмен знаниями и сотрудничество.
  • Никаких подкоманд. Команда оптимально работает как единое целое и не разделяется на отдельные команды для решения рабочих задач.
Читайте также:  Сравнение популярных ORM для JavaScript: Prisma, TypeORM и Sequelize

Организационная модель DevOps

Структура, которая сейчас наиболее ценится для организаций DevOps, представляет собой двухуровневый режим, включающий:

  • Команды бизнес-систем, которые берут на себя полную ответственность за весь жизненный цикл продукта, а также за управление бизнесом и конечными пользователями.
  • Команды платформ, которые управляют базовыми платформами и инфраструктурой и представляют их как самообслуживание группам бизнес-систем через API.

DevOps команды, ориентированные на продукт

DevOps команды, ориентированные на продукт, являются мультидисциплинарными и обладают всеми возможностями, необходимыми для всего жизненного цикла продукта. Это сокращает дорогостоящие передачи обслуживания и задержки, при этом команда сосредоточена на:

  • Предоставление клиентам функций продукта как можно быстрее
  • Автономное включение обратной связи без прохождения бюрократических препятствий со стороны других разрозненных организаций

Современные команды DevOps используют отображение потока создания ценности для визуализации своей деятельности и получения необходимой информации для оптимизации потока приращения продукта и создания ценности.

Взяв пример из Spotify, бизнес-команды называются отрядами, которые обрабатывают определенные услуги (например, поиск, плейлист, проигрыватель и т. Д.). Эти отряды небольшие, многопрофильные и автономные. Они работают вместе и действуют как мини-стартап, включающий в себя все компоненты, необходимые для поддержки услуги на протяжении всего ее жизненного цикла.

Отряды слабо связаны, но плотно выровнены. Когда несколько отрядов работают над одной функцией, они образуют племена. А для специалистов, таких как администраторы баз данных или разработчики JavaScript, есть:

  • Главы для согласования стандартов
  • Гильдии для сообществ, которые хотят делиться передовым опытом в рамках всей организации

Команды платформы в Spotify называются операционными группами

Команды платформы в Spotify называются операционными группами. Но их роль отличается от традиционной группы ИТ-операций, участвующих в развертывании и поддержке. Их основной мандат:

  1. Постройте конвейер к производству, используемый бизнес-командами.
  2. Предоставьте инфраструктуру и инструменты автоматизации, необходимые бизнес-разработчикам для выпуска и поддержки кода.
  3. Убедитесь, что базовая инфраструктура и платформы могут эффективно поддерживать услуги за счет планирования, мониторинга и оптимизации емкости и доступности.

Номер команды DevOps

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

  • Координация проще
  • Принятие решения не затягивается
  • Желирование не займет много времени

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

Роли в команде DevOps

Поскольку ожидается, что команда DevOps будет нести полную ответственность за сервис, некоторые из ожидаемых ролей в команде включают:

  1. Владелец продукта управляет взаимодействием с клиентом, чтобы понять требования и работать с остальной частью команды по приоритетам их доставки и включить обратную связь.
  2. Руководитель группы обеспечивает надзор и направляет команду на основе выбранного подхода (например, схватка, канбан, бережливое производство и т.д.). Также облегчает координацию с другими отрядами.
  3. В Архитектор решений выясняет, как требования будут разработаны в соответствии с окружающей средой организации и существующих систем.
  4. Разработчики переводят дизайн в код и участвуют в поддержке кода посредством тестирования и развертывания.
  5. Обеспечение качества (QA)проверяет продукт, чтобы гарантировать, что он соответствует требованиям клиентов и организации на всех этапах разработки и развертывания.
  6. Инженер Платформы поддерживает команды платформы для обеспечения того, чтобы окружающая среда эффективно поддерживает продукты, и использует инструменты, предоставляемые для интеграции и развертывания автоматизированной.

Поскольку все организации разные, роли могут выполняться отдельными лицами или смешиваться, в зависимости от возможностей команды. Но по мере того, как команда продолжает работать вместе, будет происходить перекрестное опыление, поскольку знания и обязанности разделяются. В отчете DevOps Institute Upskilling за 2021 год перечислены наиболее важные навыки, необходимые члену команды DevOps :

  • Навыки автоматизации: замена ручных операций, задач или событий
  • Человеческие (мягкие) навыки: сотрудничество, общение, сочувствие
  • Технические навыки: кодирование, облако, микросервисы, API.
  • Специальные навыки работы с инструментами автоматизации: CI / CD, оркестровка.
  • Функциональные знания: разработка, работа, безопасность
  • Навыки и знания процесса: SAFe, SRE, ITIL ®
  • Деловые навыки: планирование, финансы, продажи.
Оцените статью
bestprogrammer.ru
Добавить комментарий