Git Product home page Git Product logo

agile-practices-for-non-developers's Introduction

Командный тренинг «Культура, процесс и инженерные практики Agile в продуктовой разработке для не-разработчиков»

Как помочь команде втаскивать успешные продукты. 24 hrs.

Objectives

После тренинга участники смогут применять:

Коммуникации с инженерами

  • Понимание языка разработчиков
  • Их способы решения задач
  • Их когнитивные ловушки

Продуктовая бизнес-модель

  • Ценности продуктовой разработки для обоснования процессных решений
  • Видение продукта для упрощения принятия инженерных решений

Культура и процесс

  • Производственная культура для осознания личной и командной культур инженерами
  • Принцип Just in Time поставок и практика Time Boxing
  • Как померить качество через rework
  • PBI DoD как механизм контроля внутреннего качества
  • Информационные радиаторы как инструмент коммуникаций с инженерами
  • Парная разработка в формате Driver + Navigator и когда ее применять
  • Trunk based development, Feature Toggling

Работа с требованиями

  • Понимание ценности в формате User Story
  • Декомпозиция пользовательских историй
  • Ключевые внешние NFRs

Инженерные практики обеспечения внешнего качества

  • ATDD, Front-end tests, BDD
  • Автоматизированное тестирование и базовые техники тест-дизайна, изоляции и анализа покрытия

Инженерные практики обеспечения внутреннего качества

  • Внутренняя модель качества из обоснованных внутренних NFRs и технический долг
  • TDD
  • Simple Design
  • Рефакторинг
  • Code Review
  • Статический анализ кода

Инженерные практики ускорения поставок

  • Автоматическая сборки релиза
  • CI
  • Версионирование схемы БД
  • CD
  • Культура DevOps и Continouos Feedback
  • Мониторинг системных- и продуктовых метрик

Программа

Зачем мы собрались? (0.5 часа всего / из них 0.25 часа практики и обсуждений)

  • Знакомство с тренером
  • Договоренности
  • Разбивка по командам по "бразильской системе" в соотвествии с принципами Scrum
  • Самостоятельный обзор тренинга в группах
  • Парковка кейсов и проблем участников: проблемные ситуации на производстве
  • Ветка потока в github

Уровни решений в производстве ПО

  • Общая картина дисциплин "снизу-вверх"

Что такое продуктовый бизнес и что он ждет от производства? (2/1)

Продуктовая бизнес-модель

  • Как вы определяете бизнес по разработке цифровых продуктов?
  • Важнейшие особенности продуктовой разработки
  • Тиражируемость
  • Инновационность
  • Неопределенность
  • Снижение лояльности к брендам: нерерывное развитие
  • В запутанных системах бизнес-рынок-клиенты нельзя ничего предсказать

Общая картина бизнес-моделей: паттерны

  • Продукт и Заказ
  • In-house и Outsource
  • Сервис и Проект
  • Стартап и Зрелый
  • T&M и Fixed*

Что продуктовый бизнес ждет от производства

  • Подходы к неопределенности по модели Cynefin

Декларируем наши команды на разделение бизнес-ценностей

  • Каковы ключевые метрики продуктового бизнеса?
  • Как вы поймете, что сделали бизнесу хорошо? Манифест команды.
  • На какие trade-offs придется пойти?

Sound-check (0/0)

  • Участники могут на своих машинах клонировать, собрать проект и запушить изменения

Что продуктовый бизнес ждет от производственной культуры (1.5/1)

  • Понятие культуры компании
  • Роль производственной культуры компании
  • Групповая практика на определение производственной культуры по Шнайдеру
  • Типовые когнитивные ловушки инженеров - выбираем кейсы из своей практики для дальнейшего решения

Декларируем наши команды на соответствие ожиданиям

  • Как вы "продадите" свою команду бизнесу, что бы выбрали именно вас? Обновляем Манифест команды.
  • На какие trade-offs придется пойти?

Что продуктовый бизнес ждет от производственной системы (1/0.5)

Команды выбирают процессные паттерны и обосновывают через бизнес-метрики

  • Подход SLA к балансу бизнес-метрик: scope, time, quality, price, ?. Time-boxing.
  • Подход к частоте поставок: сервис/проекты
  • Подход к запасам. JIT. Запасы в IT-разработке.
  • Подход к структуре команд: feature teams/matrix. Свойства feature team.
  • Подход к формализации/самоуправлению
  • Подход к описанию процесса: процедурный/декларативный. Практика PBI DoD
  • Подход к ответственности: персональная/коллективная
  • Подход к коммуникациям: формальная/неформальная. Распределение знаний по артефактам.
  • Подход к экспертизе: фокусировка/T-shaping. Практика Star Map.
  • Подход к инженерным решениям: все запроектировать заранее/откладывай@делегируй
  • Подход к гибкости в архитектуре: делать гибко/делать просто
  • Подход к внутреннему качеству (техдолгу): фигак-фигак-и-впродакшн/техналог

Трансформация

Sprint PRODDEV-01: продуктовая модель (1/0.5)

  • Что такое product development/discovery?
  • Как сформулировать гипотезу продуктовой бизнес-модели? Формальные/неформальные подходы
  • На какие ключевые вопросы должна отвечать продуктовая гипотеза?
  • Зачем нужна metaphor/vision?

Формулируем гипотезы продуктовой бизнес-модели

Даны

  • Структура Lean Canvas

Когда команды проведут

  • Дизайн продуктовой гипотезы в формате Lean Canvas
  • Фокусировка с помощью Vision
  • Меппинг на архитектурные риски
  • Scope решения в терминах epics

Тогда на дебрифе

  • Кросс-ревью метафор
  • Кросс-ревью продуктовых моделей

Ретро


Ретроспектива по вчерашнему дню (0.5/0.5)

  • Закрытые цели тренинга, burndown
  • Персональные инсайты
  • 𝚫+
  • Take-away actions

Sprint PRODDEV-02: беклог как выражение продуктовой стратегии (1.5/1)

Backlog

  • Что такое беклог? Какие ключевые свойства?
  • Элементы беклога – единица планирования и результ процесса коммуникации
  • Как происходит управление элементами беклога? Порядок внесения новых элементов, уточнение и жизненный цикл.
  • Элементы беклога: Themes, Epics, User Stories

BPI

  • Name
  • Story
  • Acceptance Criteria
  • NFRs
  • DoD

Декомпозиция историй

  • Почему важно декомпозировать истории?
  • Как обеспечить "тонкую нарезку" инкрементов?

Первичный дизайн беклога

Дано

  • Практика User Story Mapping
  • Практики декомпозиции историй

Когда

  • Команды проведут USM
  • Получат беклоги c подробными PBI на первый спринт

Тогда на дебрифе

  • Кросс-ревью командных беклогов

Ретро

Введение в разработку ПО (1/0.25)

Разработчики не такие умные

  • Модель уровней понимания и зоны черного ящика
  • Закон расширения черного ящика: цикл Коулба

Live Codeing Demo: ключевые технологические решения в разработке и история

  • Кейс: онлайн-система персонального финучета
  • OS и Hardware
  • Исходники и синтаксис
  • Компиляция
  • Запуск приложения
  • Процедурный стиль
  • Библиотеки кода
  • Объектный стиль
  • Конфигурация vs hardcode
  • Фреймворки
  • Автотесты

Начинаем песональный глоссарий технологий и практик

  • В отдельном документе Markdown для каждой команды
  • Свой глоссарий важных для вас концепций

Командная работа с кодом (1/0.5)

DVCS local workflow

  • Local repo
  • Workspace
  • Commit
  • Branch and merge
  • Log

DVCS remote workflow

  • Remote repo
  • Clone
  • Push
  • Pull

Configuration Management patterns

  • Repo patterns: centralized/decentralized
  • Branch patterns: GitFlow/TBD+FT
  • Pull Requests

Hands-on

  • Github account
  • Central Glossary github repo
  • Teams make overall cross-team glossary

Введение в типовую архитектуру современных систем и автосборку (2/0.5)

Кейс: онлайн-система персонального финучета

  • Points Of View
  • Архитектура клиент-сервер
  • Удаленные вызовы и типы клиентов
  • Типовые паттерны в рамках системы
  • Помощь фреймворка
  • Хранилища данных

Автоматическая сборка проекта

  • Maven build tooling
  • Maven dependency tooling

Hand-on

  • Cloning project from corporate repo
  • Building and running app

Ретроспектива по вчерашнему дню (0.5/0.5)

  • Закрытые цели тренинга, burndown
  • Персональные инсайты
  • 𝚫+
  • Take-away actions

Переход к процессу разработки и поставки: дизайн процесса через выбор практик (2/1)

Проектируем модель зрелости процесса через практики

Даны уровни зрелости процесса с т.з. продуктового бизнеса

  1. Уровень: хоть как-то получаем хоть какой-то результат на prod
  2. Уровень: управляем внешним качеством
  3. Уровень: управляем внутренним качеством
  4. Уровень: управляем TTM
  5. Уровень: управляем успехом продукта

Когда

  • Команды расставят практики из целей тренинга по уровням (+неуказанные)
  • BPI DoD

Тогда на дебрифе

  • Мерж в единый процессный беклог: долг по внедрению практик для дальнейшей проработки в рамках тренинга
  • Кросс-ревью командных моделей зрелости

CI/CD Pipeline Live Demo: пронос изменений по всему конвейеру с описанием задействованных практик

  • ATTD + Cucumber + Selenium
  • TBD + Feature Toggling
  • TDD
  • Simple Design
  • Code Review
  • Automated Build
  • Test Coverage Metrics
  • DB Versioning
  • CI
  • Automated Code Review and Metrics
  • CD
  • System and Business Metrics

Hands-on

  • Дополняем глоссарий

Sprint DEV-01 (1/1)

Даны

  • Обзор системы автосборки, CI и анализа кода
  • Беклог
  • Legacy codebase и инфраструктура

Когда

  • Команды проводят декомпозицию User Stories
  • Команды фиксируют NFRs
  • Команды проводят Sprint Planning
  • Команды проводят спринт
  • Парная работа в формате Driver + Navigator
  • Помощь тренера по решению блокеров

Тогда

  • Sprint Review
  • Добавление технического долга в беклог
  • Retro

Sprint DEV-02 (1/1)

Даны

  • Обзор системы автосборки, CI и анализа кода
  • Беклог
  • Legacy codebase и инфраструктура

Когда

  • Команды проводят декомпозицию User Stories
  • Команды фиксируют NFRs
  • Команды проводят Sprint Planning
  • Команды проводят спринт
  • Парная работа в формате Driver + Navigator
  • Помощь тренера по решению блокеров

Тогда

  • Sprint Review
  • Добавление технического долга в беклог
  • Retro

Sprint DEV-03 (1/1)

Даны

  • Обзор системы автосборки, CI и анализа кода
  • Беклог
  • Legacy codebase и инфраструктура

Когда

  • Команды проводят декомпозицию User Stories
  • Команды фиксируют NFRs
  • Команды проводят Sprint Planning
  • Команды проводят спринт
  • Парная работа в формате Driver + Navigator
  • Помощь тренера по решению блокеров

Тогда

  • Sprint Review
  • Добавление технического долга в беклог
  • Retro

Финальная ретроспектива (0.5/0.5)

Даны

  • Полученные на тренинге знания
  • Полученные на тренинге практический опыт
  • Полученные на тренинге артефакты

Когда

  • Кросс-командная ретроспектива тренинга

Тогда

  • Закрытые цели тренинга, burndown
  • Инсайты
  • 𝚫+
  • Обоснованные next actions на производстве

agile-practices-for-non-developers's People

Contributors

eugene-krivosheyev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.