Hard & Soft Skills
Hard & Soft Skills
Hard & Soft Skills
Hard & Soft Skills
Engineering
Excellence
Pavel Veinik
Hard&Soft Skills
Hard & Soft Skills
Hard & Soft Skills
Мы online
Зарегистрировались 110 человек
Наш 22-й online митап
При поддержке Sam Solutions
3
Hard & Soft Skills
Hard & Soft Skills
О митапах
Часть проекта Hard & Soft Skills
Поделиться и пообщаться
Опробовать материал для курсов:
○ Микросервисы
○ Middel->Senior
○ Технологии и техника для BA и PO
○ Kafka
4
Hard & Soft Skills
Hard & Soft Skills
План митапов
21. CQRS: что такое и для чего?
22. ⇒ Engineering Excellence
23. Architecture Governance
24. Как правильно делать монолит в 2022?
25. Собеседуем Senior Software Engineer
26. Коммуникации архитектора
https://hardsoftskills.by/next_meetups 5
Hard & Soft Skills
Hard & Soft Skills
Цель этого митапа
Разобраться:
● что такое Engineering Excellence,
● из каких практик состоит,
● когда эти практики нужны и когда - нет,
● и как внедрять эти практики.
6
Hard & Soft Skills
Hard & Soft Skills
План этого митапа, 78 слайдов
1. Что такое Engineering Excellence?
2. Проблемы в проектах и их решения
3. Список best practices
4. Как вводить Engineering Excellence?
5. Вопросы при регистрации
6. Ссылки
Hard & Soft Skills
Hard & Soft Skills
Подарок за лучшую реплику от спонсора
Hard & Soft Skills
Hard & Soft Skills
Engineering Excellence,
или
Совершенство в
инженерном искусстве
Hard & Soft Skills
Hard & Soft Skills
Почему искусство?
Потому что редко есть похожие задачи.
Потому что нет повторяющихся контекстов.
Потому что команда разработки - это
конструкторское бюро, а не конвейер.
Потому что гибкость разработки велика и
возрастает.
Hard & Soft Skills
Hard & Soft Skills
Почему искусство?
Потому что
разработка ПО - это командная
творческая деятельность
Hard & Soft Skills
Hard & Soft Skills
Что такое совершенство?
Jiro Dreams of Sushi
Hard & Soft Skills
Hard & Soft Skills
Что такое совершенство?
Jiro Dreams of Sushi (Netflix)
трейлер
https://www.youtube.com/watch?v=0VB_DrsHDQ0
легко найти на русском на ютубе
Hard & Soft Skills
Hard & Soft Skills
Что такое совершенство?
Jiro Dreams of Sushi (Netflix)
Обратите внимание на внимание, которое
проявляет Jiro к мельчайшим деталям
процесса, от покупки рыбы и риса до формата
подачи суши.
Hard & Soft Skills
Hard & Soft Skills
Что такое совершенство?
Jiro Dreams of Sushi (Netflix)
Чтобы почувствовать что такое стремление к
совершенству в ярком проявлении, посмотрите
фильм. И только потом принимайте решения о
разработке.
Hard & Soft Skills
Hard & Soft Skills
Что такое совершенство?
Jiro проще, у него забегаловка в Токийском
метро, а у нас - организации побольше.
Всегда есть два взгляда - человека и
организации. Они должны коррелировать,
чтобы проект двигался в сторону
совершенства.
Hard & Soft Skills
Hard & Soft Skills
E.E. - стремление, не цель
Стремление к совершенству в ремесле
создания ПО, эффективность и продуктивность
в поставках радости клиенту, в процессе
которых вы ощущаете гордость и
удовлетворение от работы и от результата.
Hard & Soft Skills
Hard & Soft Skills
E.E. в рамках компании
Идентификация и уничтожение препятствий,
мешающих инженерам выполнять работу
наилучшим образом, а также измерения,
помогающие и поддерживающие их борьбу за
совершенство.
“не мешайте хорошим людям работать”
Hard & Soft Skills
Hard & Soft Skills
E.E. - это как, а не что
Как мы делаем вещи?
Как мы управляем вещами?
Как мы работаем в качестве команды?
Способ действия, а не объект действия.
Hard & Soft Skills
Hard & Soft Skills
E.E. - это как, а не что
Engineering Excellence - это культура, а не набор
инструкций, практик, правил, метрик,
фреймворков, методик, решений, приемов,
знаний, проверок, ролей…
Культура - это как мы делаем вещи, а не какие
вещи мы делаем.
Hard & Soft Skills
Hard & Soft Skills
E.E. - это как, а не что
Какая у вас в компании культура?
Как вы делаете вещи? Как решаете вопросы,
релизите, находите баги, собираете бэклог,
нанимаете людей, вознаграждаете,
контролируете, обедаете, одеваетесь, говорите?
Вот это и есть культура вашей компании.
Hard & Soft Skills
Hard & Soft Skills
4 столпа Engineering Excellence
1. Мастерство
2. Эффективность
3. Продуктивность
4. Счастье
Hard & Soft Skills
Hard & Soft Skills
Мастерство
1. Не стыдно ли показать работу коллегам?
2. На каком месте вы по техническим
решениям в ряду с ведущими компаниями?
3. Горды ли вы своей работой?
4. Регулярно ли обновляете свои умения и
кругозор? Переосмысливаете ли опыт?
Hard & Soft Skills
Hard & Soft Skills
Мастерство, взгляд компании
1. Предоставляете ли ресурсы для оттачивания
мастерства?
2. Вознаграждаете ли за мастерство и
стремление к нему?
3. Работает ли менторство для менее опытных?
Hard & Soft Skills
Hard & Soft Skills
Эффективность
1. Уверенно ли укладываетесь во время и
бюджет? )))
2. Как вы оцениваете инженерные задачи?
3. Как работаете с рисками?
4. Используете ли данные для принятия
решений?
5. Как вы передаете систему другим?
Hard & Soft Skills
Hard & Soft Skills
Эффективность, взгляд компании
1. Какие препятствия стоят между инженерами
и их deliverables?
2. Каковы источники трений внутри и вне
команды?
3. Насколько эффективны лидеры в
управлении задачами?
Hard & Soft Skills
Hard & Soft Skills
Продуктивность
1. Над чем вы больше работаете - над важным или
неважным?
2. Есть ли непрерывные блоки времени для работы?
3. Как быстро вы можете переключиться на задачу?
4. Часто ли получается с первого раза?
5. Переносите ли знания в документацию?
Hard & Soft Skills
Hard & Soft Skills
Продуктивность, взгляд компании
1. Предоставляете ли необходимую инфраструктуру
для автоматизации рутинных задач?
2. Ускоряет ли инфраструктура решение проблем?
3. Часто ли отвлекаете ли инженеров, прерывая их
непрерывные блоки внимания?
4. Легко ли найти техническую инфо?
5. Защищаете ли инженеров от бессмысленных
митингов/требований?
Hard & Soft Skills
Hard & Soft Skills
Счастье (не по Ф.М. Достоевскому)
1. Есть ли чувство ownership за систему?
2. Есть ли чувство принадлежности к команде?
3. Разделяете ли вы техническую стратегию проекта и
организации?
4. Достаточно ли вызовов, которые хочется преодолеть?
5. Есть ли выход для творческой энергии в виде хакатонов,
побочных проектов и тп?
6. Достаточная ли зп?
7. Есть ли поддержка и фидбэк в рамках организации?
8. Можно ли расти в команде/организации?
Hard & Soft Skills
Hard & Soft Skills
Получилось 19 слайдов философии
Без этой философии и ее понимания не получится
выстроить практики, и даже выстроенные практики
не будут приносить ROI.
E.E. состоит из множества тонких мелких
системообразующих деталей. Из внимания к этим
деталям, и их улучшения.
Hard & Soft Skills
Hard & Soft Skills
Проблемы в проектах
Какие у нас детали?
Hard & Soft Skills
Hard & Soft Skills
Наши проблемы
неэффективные инженерные практики
выгоревшие инженеры и менеджеры
знания не передаются
нет метрик и непонятно что происходит
нет необходимых навыков
много багов в каждом релизе
много повторяющихся рутинных задач
Hard & Soft Skills
Hard & Soft Skills
Наши проблемы
нет мотивации к работе
слишком много конфликтов
недостаточно конструктивных коммуникаций
отток инженеров
высокие риски релизов
высокая стоимость изменений инфраструктуры
недовольные пользователи
Hard & Soft Skills
Hard & Soft Skills
Наши проблемы
бизнес недоволен
недостаточный рост на рынке или потеря рынка
длинный TTM
очень редкие релизы
много хотфиксов
низкая производительность команды
постоянный рост техдолга
Hard & Soft Skills
Hard & Soft Skills
Наши проблемы
сложности в найме инженеров
ухудшается репутация на рынке труда
нарушение архитектуры и длинные фичи
Hard & Soft Skills
Hard & Soft Skills
Неверные решения проблем
● Фикс багов
○ не уменьшит их количество в след релизе
○ не гарантирует качество
○ часто правятся только симптомы
Hard & Soft Skills
Hard & Soft Skills
Неверные решения проблем
● Овертаймы
○ тактический выигрыш, стратегический проигрыш
○ демотивация команды
○ снижение производительности
Hard & Soft Skills
Hard & Soft Skills
Неверные решения проблем
● добавление людей в команду
○ увеличение сложности коммуникаций
○ уменьшение эффективности каждого
○ увеличение расходов
○ повторение плохих практик новыми людьми
Hard & Soft Skills
Hard & Soft Skills
Неверные решения проблем
● удлинить спринт чтобы попадать в оценки
(оценки в спринтах)
● ставить костыли чтобы сделать быстрее
● решать вручную рутинные проблемы потому
что они не отнимают много времени
● прерывать разработчиков на срочные баги,
потому что пользователям надо
Hard & Soft Skills
Hard & Soft Skills
Все связано
со всем
Hard & Soft Skills
Hard & Soft Skills
Hard & Soft Skills
Hard & Soft Skills
Все связано
Эмпирически выявленная зависимость между
коэффициентом, на который менеджер
умножает оценку разработчиков, и реальным
временем разработки.
Большая оценка расслабляет. Реалистичная
оценка расслабляет. Жесткая оценка напрягает.
Hard & Soft Skills
Hard & Soft Skills
Все связано со всем
Hard & Soft Skills
Hard & Soft Skills
Root cause analysis!
Комок проблем, непонятно с какого конца
браться. Важны взаимосвязи, их много.
Нужно детально разбираться в причинах
проблем, не делать огульных выводов.
Нет конструктивного и конкретного рецепта,
который можно дать любому проекту.
Hard & Soft Skills
Hard & Soft Skills
Best practices
Hard & Soft Skills
Hard & Soft Skills
Список best practices
Требования
Управление требованиями
Документирование и трассировка
требований
Фиксация требований
Менеджмент
Документирование решений
Планирование
Метрики работы команды
People management
Управление изменениями
Hard & Soft Skills
Hard & Soft Skills
Список best practices
Разработка
Качество кода
Unit тесты
Code review
Обмен знаниями
Управление техническим долгом
Качество
Test cases, документация
Управление дефектами
Проверка нефункциональных требований
Метрики качества и QA
Автоматизация тестирования
Hard & Soft Skills
Hard & Soft Skills
Список best practices
Инфраструктура
CI/CD/CD
Окружения и pipelines
Управление инфраструктурой, IaC
Автоматизация рутины
Безопасность
Управление угрозами и рисками
Penetration tests, сканеры
Обучение команды
Моделирование угроз и проверки/учения
Hard & Soft Skills
Hard & Soft Skills
Список best practices
Архитектура
Stakeholder management
Документы и трассировка решений
Коммуникации и работа с командой
Стратегирование
Architecture governance
Agile
Ценности
Процессы
Доверие
Коммуникации
Командная работа
Hard & Soft Skills
Hard & Soft Skills
Best practices
Неследование практикам формирует риски.
Риски реализуются.
Ущерб от рисков перемножается.
Hard & Soft Skills
Hard & Soft Skills
Best practices
Не всегда, не каждому проекту нужны все best
practices. Чем больше проект - тем выше его
сложность и больше практик нужно
использовать.
Несистемное и бездумное применение
приводит к культу карго.
Hard & Soft Skills
Hard & Soft Skills
Как внедрять
Best Practices?
Hard & Soft Skills
Hard & Soft Skills
Простыми словами, Jiro dreams of sushi
Если каждый член команды 5% времени тратит на внимание к
деталям и их улучшение…
Если команда/организация системно помогает в этом…
Если вы вместе изучаете лучший опыт…
Если вы гордитесь тем что и как делаете…
То у вас есть Engineering Excellence.
Hard & Soft Skills
Hard & Soft Skills
Словами посложнее
Изменение культуры (изменяем как?)
Без поддержки руководства не сработает.
Без поддержки команд не сработает.
Процесс change management.
Всегда итеративное внедрение
Hard & Soft Skills
Hard & Soft Skills
Как внедрять best practices?
1. Учитывать ROI для бизнеса/проекта
2. Измерять и мониторить в цифрах
3. Анализировать причины проблем
4. Начинать с самого больного
5. Не ждать быстрых улучшений (от 3-6 мес)
6. Найти амбассадоров, просвещать других
7. Использовать итерации
Hard & Soft Skills
Hard & Soft Skills
Документация недооценена
Процесс внедрения best practices тоже стоит
документировать.
В документацию нужно вкладывать усилия.
“Без бюрократии нет инженерии”
Hard & Soft Skills
Hard & Soft Skills
В одной небольшой команде, до 20
1. Согласиться внутри команды (SMART)
2. Получить поддержку руководства (продать)
3. Получить текущие метрики
4. Инвестировать усилия в улучшения
5. Измерять, мониторить, менять план
6. Повторить с п. 1
Hard & Soft Skills
Hard & Soft Skills
В команде побольше, до 70
1. Принять управляющее решение, поставить
цели (SMART)
2. Выработать унифицированный подход,
метрики (governance)
3. Получить поддержку команд, поменять
подход или цели (сложно)
Hard & Soft Skills
Hard & Soft Skills
В команде побольше, до 70
4. Совместно с командами выработать план
внедрения
5. Отслеживать план и метрики
6. Повторить с п. 1
Hard & Soft Skills
Hard & Soft Skills
Большая команда или сервисная р-ка
1. Выстроить governance надстройку,
спроектировать:
a. мотивацию и guidelines
b. процесс “аттестации” и “переаттестации” команд
c. процесс одного цикла улучшений (BL, retro…)
d. процесс мониторинга команд
e. процесс признания и вознаграждения
Hard & Soft Skills
Hard & Soft Skills
Большая команда или сервисная р-ка
2. Выстроить обучение, спроектировать:
a. мотивацию и guidelines
b. процесс обучения
c. процесс менторства
d. процесс обмена опытом и сообщества
e. процесс признания и вознаграждения
Hard & Soft Skills
Hard & Soft Skills
Большая команда или сервисная р-ка
3. Просвещать
4. Внедрять/адаптировать описанные
процессы
5. Мониторить описанные процессы
Hard & Soft Skills
Hard & Soft Skills
Ваши вопросы
Hard & Soft Skills
Hard & Soft Skills
Какие пути внедрения ценностей высокой
инженерной культуры в технической команде?
Hard & Soft Skills
Hard & Soft Skills
С чего начать? Особенно если ты просто инженер в
компании и на проекте. Спасибо)
Hard & Soft Skills
Hard & Soft Skills
Engineering Excellence это забота/обязанность тех
лида, или это должна быть командная активность и
ценности?
Hard & Soft Skills
Hard & Soft Skills
Как соблюсти баланс затрат времени между
Engineering Excellence и бизнес целями?
Hard & Soft Skills
Hard & Soft Skills
Как документировать высокоуровневую архитектуру
и делать так, чтобы полученная документация не
устаревала? Например: мы часто рисуем схемы
классов, но эти схемы очень быстро начинают
отставать от реального кода. Какие нужно настроить
инструменты/процессы, чтобы этого не происходило,
не понятно.
Hard & Soft Skills
Hard & Soft Skills
Артефакты которые должны оставаться от
архитектора и его участие в процессе разработки
Hard & Soft Skills
Hard & Soft Skills
CI/CD
https://www.slideshare.net/veinik/software-craftsmanshi
p-8-204507282
Hard & Soft Skills
Hard & Soft Skills
Лучшие практики проектов в применении
Hard & Soft Skills
Hard & Soft Skills
Хочу узнать больше об EngX
Engineering Excellence
Hard & Soft Skills
Hard & Soft Skills
Очень много про тестирования. Тогда в каких случаях
какие тесты использовать? Юнит тесты,
интеграционные и автоматизированные UI.
Hard & Soft Skills
Hard & Soft Skills
Тестирование. Не приводит ли покрытие тестами
больше 50% к поддержки тестов, а не кода Как
грамотно разбивать фичи на куски, и имеет ли смысл
стремиться к задачам на 2 часа каждая
Hard & Soft Skills
Hard & Soft Skills
Engineering Excellence и инженерная культура в
команде, проекте, компании. Как двигать, внедрять,
заряжать людей - транслировать?
Hard & Soft Skills
Hard & Soft Skills
Что изменилось на рынке труда в IT к 2022 году?
Какие новшества в разработке набирают
популярность в 2022 году? Будет ли расти или
уменьшится IT в РБ в 2022 году? Спасибо!
Hard & Soft Skills
Hard & Soft Skills
Что почитать
Hard & Soft Skills
Hard & Soft Skills
Что почитать
ценности https://medium.com/swlh/what-is-engineering-excellence-a8aa5a1e8dc5
все взаимосвязано, статья MIT
https://dspace.mit.edu/bitstream/handle/1721.1/48202/impactofschedule00abde.pdf

Software craftsmanship meetup 22. engineering excellence

  • 1.
    Hard & SoftSkills Hard & Soft Skills
  • 2.
    Hard & SoftSkills Hard & Soft Skills Engineering Excellence Pavel Veinik Hard&Soft Skills
  • 3.
    Hard & SoftSkills Hard & Soft Skills Мы online Зарегистрировались 110 человек Наш 22-й online митап При поддержке Sam Solutions 3
  • 4.
    Hard & SoftSkills Hard & Soft Skills О митапах Часть проекта Hard & Soft Skills Поделиться и пообщаться Опробовать материал для курсов: ○ Микросервисы ○ Middel->Senior ○ Технологии и техника для BA и PO ○ Kafka 4
  • 5.
    Hard & SoftSkills Hard & Soft Skills План митапов 21. CQRS: что такое и для чего? 22. ⇒ Engineering Excellence 23. Architecture Governance 24. Как правильно делать монолит в 2022? 25. Собеседуем Senior Software Engineer 26. Коммуникации архитектора https://hardsoftskills.by/next_meetups 5
  • 6.
    Hard & SoftSkills Hard & Soft Skills Цель этого митапа Разобраться: ● что такое Engineering Excellence, ● из каких практик состоит, ● когда эти практики нужны и когда - нет, ● и как внедрять эти практики. 6
  • 7.
    Hard & SoftSkills Hard & Soft Skills План этого митапа, 78 слайдов 1. Что такое Engineering Excellence? 2. Проблемы в проектах и их решения 3. Список best practices 4. Как вводить Engineering Excellence? 5. Вопросы при регистрации 6. Ссылки
  • 8.
    Hard & SoftSkills Hard & Soft Skills Подарок за лучшую реплику от спонсора
  • 9.
    Hard & SoftSkills Hard & Soft Skills Engineering Excellence, или Совершенство в инженерном искусстве
  • 10.
    Hard & SoftSkills Hard & Soft Skills Почему искусство? Потому что редко есть похожие задачи. Потому что нет повторяющихся контекстов. Потому что команда разработки - это конструкторское бюро, а не конвейер. Потому что гибкость разработки велика и возрастает.
  • 11.
    Hard & SoftSkills Hard & Soft Skills Почему искусство? Потому что разработка ПО - это командная творческая деятельность
  • 12.
    Hard & SoftSkills Hard & Soft Skills Что такое совершенство? Jiro Dreams of Sushi
  • 13.
    Hard & SoftSkills Hard & Soft Skills Что такое совершенство? Jiro Dreams of Sushi (Netflix) трейлер https://www.youtube.com/watch?v=0VB_DrsHDQ0 легко найти на русском на ютубе
  • 14.
    Hard & SoftSkills Hard & Soft Skills Что такое совершенство? Jiro Dreams of Sushi (Netflix) Обратите внимание на внимание, которое проявляет Jiro к мельчайшим деталям процесса, от покупки рыбы и риса до формата подачи суши.
  • 15.
    Hard & SoftSkills Hard & Soft Skills Что такое совершенство? Jiro Dreams of Sushi (Netflix) Чтобы почувствовать что такое стремление к совершенству в ярком проявлении, посмотрите фильм. И только потом принимайте решения о разработке.
  • 16.
    Hard & SoftSkills Hard & Soft Skills Что такое совершенство? Jiro проще, у него забегаловка в Токийском метро, а у нас - организации побольше. Всегда есть два взгляда - человека и организации. Они должны коррелировать, чтобы проект двигался в сторону совершенства.
  • 17.
    Hard & SoftSkills Hard & Soft Skills E.E. - стремление, не цель Стремление к совершенству в ремесле создания ПО, эффективность и продуктивность в поставках радости клиенту, в процессе которых вы ощущаете гордость и удовлетворение от работы и от результата.
  • 18.
    Hard & SoftSkills Hard & Soft Skills E.E. в рамках компании Идентификация и уничтожение препятствий, мешающих инженерам выполнять работу наилучшим образом, а также измерения, помогающие и поддерживающие их борьбу за совершенство. “не мешайте хорошим людям работать”
  • 19.
    Hard & SoftSkills Hard & Soft Skills E.E. - это как, а не что Как мы делаем вещи? Как мы управляем вещами? Как мы работаем в качестве команды? Способ действия, а не объект действия.
  • 20.
    Hard & SoftSkills Hard & Soft Skills E.E. - это как, а не что Engineering Excellence - это культура, а не набор инструкций, практик, правил, метрик, фреймворков, методик, решений, приемов, знаний, проверок, ролей… Культура - это как мы делаем вещи, а не какие вещи мы делаем.
  • 21.
    Hard & SoftSkills Hard & Soft Skills E.E. - это как, а не что Какая у вас в компании культура? Как вы делаете вещи? Как решаете вопросы, релизите, находите баги, собираете бэклог, нанимаете людей, вознаграждаете, контролируете, обедаете, одеваетесь, говорите? Вот это и есть культура вашей компании.
  • 22.
    Hard & SoftSkills Hard & Soft Skills 4 столпа Engineering Excellence 1. Мастерство 2. Эффективность 3. Продуктивность 4. Счастье
  • 23.
    Hard & SoftSkills Hard & Soft Skills Мастерство 1. Не стыдно ли показать работу коллегам? 2. На каком месте вы по техническим решениям в ряду с ведущими компаниями? 3. Горды ли вы своей работой? 4. Регулярно ли обновляете свои умения и кругозор? Переосмысливаете ли опыт?
  • 24.
    Hard & SoftSkills Hard & Soft Skills Мастерство, взгляд компании 1. Предоставляете ли ресурсы для оттачивания мастерства? 2. Вознаграждаете ли за мастерство и стремление к нему? 3. Работает ли менторство для менее опытных?
  • 25.
    Hard & SoftSkills Hard & Soft Skills Эффективность 1. Уверенно ли укладываетесь во время и бюджет? ))) 2. Как вы оцениваете инженерные задачи? 3. Как работаете с рисками? 4. Используете ли данные для принятия решений? 5. Как вы передаете систему другим?
  • 26.
    Hard & SoftSkills Hard & Soft Skills Эффективность, взгляд компании 1. Какие препятствия стоят между инженерами и их deliverables? 2. Каковы источники трений внутри и вне команды? 3. Насколько эффективны лидеры в управлении задачами?
  • 27.
    Hard & SoftSkills Hard & Soft Skills Продуктивность 1. Над чем вы больше работаете - над важным или неважным? 2. Есть ли непрерывные блоки времени для работы? 3. Как быстро вы можете переключиться на задачу? 4. Часто ли получается с первого раза? 5. Переносите ли знания в документацию?
  • 28.
    Hard & SoftSkills Hard & Soft Skills Продуктивность, взгляд компании 1. Предоставляете ли необходимую инфраструктуру для автоматизации рутинных задач? 2. Ускоряет ли инфраструктура решение проблем? 3. Часто ли отвлекаете ли инженеров, прерывая их непрерывные блоки внимания? 4. Легко ли найти техническую инфо? 5. Защищаете ли инженеров от бессмысленных митингов/требований?
  • 29.
    Hard & SoftSkills Hard & Soft Skills Счастье (не по Ф.М. Достоевскому) 1. Есть ли чувство ownership за систему? 2. Есть ли чувство принадлежности к команде? 3. Разделяете ли вы техническую стратегию проекта и организации? 4. Достаточно ли вызовов, которые хочется преодолеть? 5. Есть ли выход для творческой энергии в виде хакатонов, побочных проектов и тп? 6. Достаточная ли зп? 7. Есть ли поддержка и фидбэк в рамках организации? 8. Можно ли расти в команде/организации?
  • 30.
    Hard & SoftSkills Hard & Soft Skills Получилось 19 слайдов философии Без этой философии и ее понимания не получится выстроить практики, и даже выстроенные практики не будут приносить ROI. E.E. состоит из множества тонких мелких системообразующих деталей. Из внимания к этим деталям, и их улучшения.
  • 31.
    Hard & SoftSkills Hard & Soft Skills Проблемы в проектах Какие у нас детали?
  • 32.
    Hard & SoftSkills Hard & Soft Skills Наши проблемы неэффективные инженерные практики выгоревшие инженеры и менеджеры знания не передаются нет метрик и непонятно что происходит нет необходимых навыков много багов в каждом релизе много повторяющихся рутинных задач
  • 33.
    Hard & SoftSkills Hard & Soft Skills Наши проблемы нет мотивации к работе слишком много конфликтов недостаточно конструктивных коммуникаций отток инженеров высокие риски релизов высокая стоимость изменений инфраструктуры недовольные пользователи
  • 34.
    Hard & SoftSkills Hard & Soft Skills Наши проблемы бизнес недоволен недостаточный рост на рынке или потеря рынка длинный TTM очень редкие релизы много хотфиксов низкая производительность команды постоянный рост техдолга
  • 35.
    Hard & SoftSkills Hard & Soft Skills Наши проблемы сложности в найме инженеров ухудшается репутация на рынке труда нарушение архитектуры и длинные фичи
  • 36.
    Hard & SoftSkills Hard & Soft Skills Неверные решения проблем ● Фикс багов ○ не уменьшит их количество в след релизе ○ не гарантирует качество ○ часто правятся только симптомы
  • 37.
    Hard & SoftSkills Hard & Soft Skills Неверные решения проблем ● Овертаймы ○ тактический выигрыш, стратегический проигрыш ○ демотивация команды ○ снижение производительности
  • 38.
    Hard & SoftSkills Hard & Soft Skills Неверные решения проблем ● добавление людей в команду ○ увеличение сложности коммуникаций ○ уменьшение эффективности каждого ○ увеличение расходов ○ повторение плохих практик новыми людьми
  • 39.
    Hard & SoftSkills Hard & Soft Skills Неверные решения проблем ● удлинить спринт чтобы попадать в оценки (оценки в спринтах) ● ставить костыли чтобы сделать быстрее ● решать вручную рутинные проблемы потому что они не отнимают много времени ● прерывать разработчиков на срочные баги, потому что пользователям надо
  • 40.
    Hard & SoftSkills Hard & Soft Skills Все связано со всем
  • 41.
    Hard & SoftSkills Hard & Soft Skills
  • 42.
    Hard & SoftSkills Hard & Soft Skills Все связано Эмпирически выявленная зависимость между коэффициентом, на который менеджер умножает оценку разработчиков, и реальным временем разработки. Большая оценка расслабляет. Реалистичная оценка расслабляет. Жесткая оценка напрягает.
  • 43.
    Hard & SoftSkills Hard & Soft Skills Все связано со всем
  • 44.
    Hard & SoftSkills Hard & Soft Skills Root cause analysis! Комок проблем, непонятно с какого конца браться. Важны взаимосвязи, их много. Нужно детально разбираться в причинах проблем, не делать огульных выводов. Нет конструктивного и конкретного рецепта, который можно дать любому проекту.
  • 45.
    Hard & SoftSkills Hard & Soft Skills Best practices
  • 46.
    Hard & SoftSkills Hard & Soft Skills Список best practices Требования Управление требованиями Документирование и трассировка требований Фиксация требований Менеджмент Документирование решений Планирование Метрики работы команды People management Управление изменениями
  • 47.
    Hard & SoftSkills Hard & Soft Skills Список best practices Разработка Качество кода Unit тесты Code review Обмен знаниями Управление техническим долгом Качество Test cases, документация Управление дефектами Проверка нефункциональных требований Метрики качества и QA Автоматизация тестирования
  • 48.
    Hard & SoftSkills Hard & Soft Skills Список best practices Инфраструктура CI/CD/CD Окружения и pipelines Управление инфраструктурой, IaC Автоматизация рутины Безопасность Управление угрозами и рисками Penetration tests, сканеры Обучение команды Моделирование угроз и проверки/учения
  • 49.
    Hard & SoftSkills Hard & Soft Skills Список best practices Архитектура Stakeholder management Документы и трассировка решений Коммуникации и работа с командой Стратегирование Architecture governance Agile Ценности Процессы Доверие Коммуникации Командная работа
  • 50.
    Hard & SoftSkills Hard & Soft Skills Best practices Неследование практикам формирует риски. Риски реализуются. Ущерб от рисков перемножается.
  • 51.
    Hard & SoftSkills Hard & Soft Skills Best practices Не всегда, не каждому проекту нужны все best practices. Чем больше проект - тем выше его сложность и больше практик нужно использовать. Несистемное и бездумное применение приводит к культу карго.
  • 52.
    Hard & SoftSkills Hard & Soft Skills Как внедрять Best Practices?
  • 53.
    Hard & SoftSkills Hard & Soft Skills Простыми словами, Jiro dreams of sushi Если каждый член команды 5% времени тратит на внимание к деталям и их улучшение… Если команда/организация системно помогает в этом… Если вы вместе изучаете лучший опыт… Если вы гордитесь тем что и как делаете… То у вас есть Engineering Excellence.
  • 54.
    Hard & SoftSkills Hard & Soft Skills Словами посложнее Изменение культуры (изменяем как?) Без поддержки руководства не сработает. Без поддержки команд не сработает. Процесс change management. Всегда итеративное внедрение
  • 55.
    Hard & SoftSkills Hard & Soft Skills Как внедрять best practices? 1. Учитывать ROI для бизнеса/проекта 2. Измерять и мониторить в цифрах 3. Анализировать причины проблем 4. Начинать с самого больного 5. Не ждать быстрых улучшений (от 3-6 мес) 6. Найти амбассадоров, просвещать других 7. Использовать итерации
  • 56.
    Hard & SoftSkills Hard & Soft Skills Документация недооценена Процесс внедрения best practices тоже стоит документировать. В документацию нужно вкладывать усилия. “Без бюрократии нет инженерии”
  • 57.
    Hard & SoftSkills Hard & Soft Skills В одной небольшой команде, до 20 1. Согласиться внутри команды (SMART) 2. Получить поддержку руководства (продать) 3. Получить текущие метрики 4. Инвестировать усилия в улучшения 5. Измерять, мониторить, менять план 6. Повторить с п. 1
  • 58.
    Hard & SoftSkills Hard & Soft Skills В команде побольше, до 70 1. Принять управляющее решение, поставить цели (SMART) 2. Выработать унифицированный подход, метрики (governance) 3. Получить поддержку команд, поменять подход или цели (сложно)
  • 59.
    Hard & SoftSkills Hard & Soft Skills В команде побольше, до 70 4. Совместно с командами выработать план внедрения 5. Отслеживать план и метрики 6. Повторить с п. 1
  • 60.
    Hard & SoftSkills Hard & Soft Skills Большая команда или сервисная р-ка 1. Выстроить governance надстройку, спроектировать: a. мотивацию и guidelines b. процесс “аттестации” и “переаттестации” команд c. процесс одного цикла улучшений (BL, retro…) d. процесс мониторинга команд e. процесс признания и вознаграждения
  • 61.
    Hard & SoftSkills Hard & Soft Skills Большая команда или сервисная р-ка 2. Выстроить обучение, спроектировать: a. мотивацию и guidelines b. процесс обучения c. процесс менторства d. процесс обмена опытом и сообщества e. процесс признания и вознаграждения
  • 62.
    Hard & SoftSkills Hard & Soft Skills Большая команда или сервисная р-ка 3. Просвещать 4. Внедрять/адаптировать описанные процессы 5. Мониторить описанные процессы
  • 63.
    Hard & SoftSkills Hard & Soft Skills Ваши вопросы
  • 64.
    Hard & SoftSkills Hard & Soft Skills Какие пути внедрения ценностей высокой инженерной культуры в технической команде?
  • 65.
    Hard & SoftSkills Hard & Soft Skills С чего начать? Особенно если ты просто инженер в компании и на проекте. Спасибо)
  • 66.
    Hard & SoftSkills Hard & Soft Skills Engineering Excellence это забота/обязанность тех лида, или это должна быть командная активность и ценности?
  • 67.
    Hard & SoftSkills Hard & Soft Skills Как соблюсти баланс затрат времени между Engineering Excellence и бизнес целями?
  • 68.
    Hard & SoftSkills Hard & Soft Skills Как документировать высокоуровневую архитектуру и делать так, чтобы полученная документация не устаревала? Например: мы часто рисуем схемы классов, но эти схемы очень быстро начинают отставать от реального кода. Какие нужно настроить инструменты/процессы, чтобы этого не происходило, не понятно.
  • 69.
    Hard & SoftSkills Hard & Soft Skills Артефакты которые должны оставаться от архитектора и его участие в процессе разработки
  • 70.
    Hard & SoftSkills Hard & Soft Skills CI/CD https://www.slideshare.net/veinik/software-craftsmanshi p-8-204507282
  • 71.
    Hard & SoftSkills Hard & Soft Skills Лучшие практики проектов в применении
  • 72.
    Hard & SoftSkills Hard & Soft Skills Хочу узнать больше об EngX Engineering Excellence
  • 73.
    Hard & SoftSkills Hard & Soft Skills Очень много про тестирования. Тогда в каких случаях какие тесты использовать? Юнит тесты, интеграционные и автоматизированные UI.
  • 74.
    Hard & SoftSkills Hard & Soft Skills Тестирование. Не приводит ли покрытие тестами больше 50% к поддержки тестов, а не кода Как грамотно разбивать фичи на куски, и имеет ли смысл стремиться к задачам на 2 часа каждая
  • 75.
    Hard & SoftSkills Hard & Soft Skills Engineering Excellence и инженерная культура в команде, проекте, компании. Как двигать, внедрять, заряжать людей - транслировать?
  • 76.
    Hard & SoftSkills Hard & Soft Skills Что изменилось на рынке труда в IT к 2022 году? Какие новшества в разработке набирают популярность в 2022 году? Будет ли расти или уменьшится IT в РБ в 2022 году? Спасибо!
  • 77.
    Hard & SoftSkills Hard & Soft Skills Что почитать
  • 78.
    Hard & SoftSkills Hard & Soft Skills Что почитать ценности https://medium.com/swlh/what-is-engineering-excellence-a8aa5a1e8dc5 все взаимосвязано, статья MIT https://dspace.mit.edu/bitstream/handle/1721.1/48202/impactofschedule00abde.pdf