Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Люди и конфликты в DevOps

Люди и конфликты в DevOps

DevOps Meetup at Mail.ru Group, 21-03-2019
Ахмед Шериев (независимый эксперт по DevOps)

Доклад будет посвящен тому, как взаимодействуют и конфликтуют люди в проблемных проектах. Неправильные трактовки гибких методологий и DevOps-практик. Сопротивления при внедрении и ограничения применимости DevOps – поговорим о всём наболевшем.

DevOps Moscow

March 21, 2019
Tweet

More Decks by DevOps Moscow

Other Decks in Education

Transcript

  1. Обо мне • Разработчик • Архитектор • Тимлид • Директор

    по разработке • Руководитель отдела 2
  2. О чем доклад • Трактовки DevOps • Межкомандная коммуникация •

    Мало про технологии и инструменты • Много про работу со конфликтами и сопротивлением 3
  3. Временные должности DevOps • DevOps инженер • DevOps команда •

    DevOps директор • Имеет смысл только в крупных компаниях 6
  4. 8

  5. 9

  6. 10

  7. Разработчики • Менеджеры не знают чего хотят • Слишком часто

    меняются требования • Требования не понятны • Не дают время на рефакторинг и тесты • «Глупый»/непродуманный дизайн. 17
  8. Менеджеры • Разработчики срывают все сроки • Чинят одно ломают

    то, что работало • Не думают о пользователях 18
  9. Тестировщики • Разработчики даже не запускают то что нам дают

    на тест • Дизайн, требования, реализация не сходится 19
  10. Дизайнеры • Мы не аналитики что бы думать о пользователях

    • Нам некогда перерисовывать под каждый чих • Мы задаем концепт • У нас уникальный дизайн, который не систематизируется 20
  11. Структура конфликтов и возражений • Я останусь без работы (автоматизация)

    • Дешевле сделать руками (отказ от автоматизации) • Не моя работа (не хочу учиться) • Не трогайте меня! (отказ от сотрудничества) • Чушь какая то (бесполезно) • Кто будет виноват? (отказ от ответственности) • У нас уникальный случай (полезно но не наш случай) 22
  12. Не моя работа • 1+1 ≠ 2 • Без сотрудничества

    1+1 < 2 • При сотрудничестве 1+1 > 2 • Docker, ci/cd 25
  13. Кто будет виноват? • Все • Коллективная ответственность = коллективная

    безответственность • У каждой проблемы есть ФИО • … и чаще всего это руководитель 27
  14. Дешевле сделать руками • Посчитайте потраченное время • Посчитайте цену

    инструментов • Посчитайте экономический эффект 28
  15. Не моя работа • Разработчик отвечает за качество кода •

    Тестировщики отвечают за качество на проде 30
  16. 33

  17. Типы дизайнеров • Дизайнер полиграфии • Photoshop • Дизайнер UI

    (знает дизайн платформы) • Photoshop, Sketch, Figma • Дизайнер UX (знает пользователей) • Sketch, Figma • Дизайн-система (видит логику дизайна) • Визуальный стиль • UI Kit • Атомарный дизайн 35
  18. Не моя работа • Дизайн – это не то, как

    выглядит, а то, как он работает (С. Джобс) 36
  19. Не хочу общаться • Запускаемый проект {name}.UiKit • Web •

    Android • iOS • Единые компоненты как в дизайне UIKit так и в коде UIKit 38
  20. Это все чушь • Material Design System • Airbnb Design

    System • Design System Club • Альфа-Банк • Mail.Ru • Яндекс • Рамблер • и т.д. 40
  21. Управление рисками • Опытный дизайнер может увеличить производительность команды разработчиков

    на порядок • Неопытный дизайнер источник большого количества багов 41
  22. Команда универсалов Спринты Team A A B C D •

    Каждый в команде Full Stack разработчик Плюсы: • Полная взаимозаменяемость • Storypoint-ы • Хорошо подходит для простых проектов Минусы: • Дорого • Трудно найти разработчиков • Невозможно в сложных проектах • Тестирование все еще отдельно Test A B C D 45
  23. Кроссфункциональная команда Спринты Team A A B C D Плюсы:

    • Каждая команда самодостаточна • LeadTime меньше Минусы: • Требователен к скилам каждого • Требуется высокий уровень доверия • Требует опытного архитектора Спринты Team B E F G H 47
  24. Работа с разработчиками • Изменение требований к проекту это нормально

    • Тесты нужны! • Тесты не про тестирование калькулятора • Тесты разных типов (Unit, Integration) 50
  25. Это все чушь! • Откуда формируется мнение? • Авторитет (Все

    на хабре пишут) • Плавали знаем! • В больших проектах: • Это все действительно нужно • Работа разработчика не в том что бы писать код а работа с существующим 52
  26. Разработчики максималисты • Мы делаем приложение не для дебилов! •

    Надо выдавать права на пользование компьютером 59
  27. Покупают не дрель, а дырки в стене • Jobs To

    Be Done фреймворк • За что платят деньги? • Почему выбирают ваш продукт? • С чем конкурирует ваш продукт? 61
  28. Типичный руководитель бизнеса • Большой опыт в разных сферах деятельности

    • Большой опыт операционной деятельности • Большой опыт управления людьми • Успешный опыт применения KPI • Успешный опыт применения KPI и в IT проектах 63
  29. Проблемы проектной и продуктовой разработки • Мало рутинной работы •

    Возможно R&D • Отсутствие опыта • При большом количестве R&D или отсутствии опыта невозможно спрогнозировать • Проблема отсутствия опыта 65
  30. Типичные ошибки руководителя бизнеса • Путает отсутствие опыта и нежелание

    работать • Пытается применить стандартные системы мотивации • Пытается применить стандартные системы планирования работ 66
  31. Что делать? • Просите доверять вам • Спрашивайте что надо

    получить в итоге • Просите ответственности • ИЗМЕРЯЙТЕ, ИЗМЕРЯЙТЕ И СНОВА ИЗМЕРЯЙТЕ! 68
  32. Пример 1. Затрачено 300 человеко-часов ≈ 150 тыс. рублей 2.

    Из них баги на 200 человеко-часов были обнаружены инструментами 3. SonarQube ≈ 15 тыс. рублей в месяц 4. PVS-Studio ≈ 15 тыс. рублей в месяц 5. Экономия 120 тыс. рублей 69
  33. Как критиковать? • Найдите за что похвалить • Сарказм, насмешки,

    издевки, шпильки недопустимы • Уберите негативные эмоции 73
  34. Мат • Мат все таки недопустим • Оскорбления и унижения

    наносят ущерб • Токсичность влияет на измерения 75
  35. Он нам не подходит, потому что • Не курит •

    Не пьет • Тату • Возраст • Пол • ВУЗ • И т.д. 78
  36. Ему будет у нас скучно • Нанимайте людей опытнее себя

    • Берите тех кто может самостоятельно работать • Не надо боятся что вас подсидят 80
  37. Работа с мотивацией • Просите делиться опытом • Организуйте митапы

    • Обеспечьте участие в митапах и конференциях • Выступайте сами • Не платите за выступления! 84
  38. Я готов работать хорошо за повышение • Обсуждение текущих проблем

    • План развития • План повышения по итогам 86
  39. Управление рисками Долго сидел на рутинной работе: 1. Если учится

    ради повышения з/п то это редко приводит к успеху 2. Недовольство собой растет 3. Нарастает токсичность и депрессия 4. Демотивация и увольнение 87
  40. Резюме • Доверяйте, измеряйте, давайте фидбек • Будьте честны •

    Будьте открыты к критике и научитесь критиковать • Вкладывайте в обучение и мотивацию • Измеряйте, измеряйте и еще раз измеряйте • Не злоупотребляйте измерениями 89