Тренинг
Инженерные практики в Agile

При внедрении Agile особую сложность представляют инженерные практики. Но без них практически невозможно разработать качественный продукт. Для того, чтобы начать применять инженерные практики в проекте, необходимо понимание преимуществ, которые они дают, а также сложностей и особенностей внедрения. Каждый проект и команда уникальны, но все же существуют проверенные стратегии, которые помогут начать внедрение и добиться успеха.

Цель тренинга – рассказать о семействе основных инженерных практик, применяемых в Agile, дать изначальный толчок к их внедрению в команде. За 16 часов будут рассмотрены 8 инженерных практик и подходов:

  • Code Review
  • Парное программирование
  • Модульное тестирование
  • Рефакторинг
  • Автоматизация сборки приложения
  • Continuous Integration
  • Автоматизация функционального тестирования
  • TDD

Все они взаимосвязаны между собой и дают максимальное преимущество, если применяются вместе. Каждая из них поддерживает остальные, дополняя и расширяя. Все практики будут демонстрироваться на примере реального Java проекта, код которого будет доступен участникам для последующего анализа в качестве учебного пособия. На тренинге будет время на вопросы и обсуждения конкретных сценариев и примеров из жизни участников, с советами и комментариями от тренеров. Участники смогут поделиться своим личным опытом, пообщаться с коллегами и услышать мнение других.

Данный тренинг познакомит вас с принципами, лежащими в основе каждой из практик, преимуществами, которые дает их внедрение. Тренеры поделятся с участниками многолетним успешным практическим опытом применения рассматриваемых практик. На тренинге будет рассмотрено несколько стратегий постепенного внедрения практик на различных стадиях проекта. В результате прохождения тренинга вы:

  • Получите теоретические знания об инженерных практиках в Agile
  • Узнаете методики их внедрения и применения на различных стадиях проекта
  • На практике сможете увидеть действенность некоторых инженерных практик
  • Пополните багаж знаний практическими примерами из жизни, которые помогут вам быстро и эффективно начать работать с инженерными практиками на своем проекте
  • Сможете получить профессиональные ответы на вопросы и ситуации из реальной жизни вашего проекта или команды
  • Избежите многих ошибок и трудностей в реальной жизни
Целевая аудитория

разработчики, тимлиды, менеджеры

Стоимость
$250
за участника
Продолжительность
16 часов
2 дня
Обед включен в стоимость тренинга
При групповой регистрации скидка

Детальная программа

  • Введение
    • Обзор инженерных практик
    • Цели и преимущества от их использования
    • Понятие качества кода
    • Знакомство
    • Сбор ожиданий и пожеланий
    • Содержание программы
    • Рабочий сценарий (существующий проект, код не очень хорошего качества, тестов нет или мало, ничего не автоматизировано)
  • Code Review и парное программирование
    • Зачем делать ревью кода
    • Как делать ревью кода
    • Роли и выбор ревьювера
    • Практические советы по проведению ревью
    • Принципы парного программирования
    • Как работать в паре
    • Техническое оснащение для работы в паре
    • Стили парного программирования
    • Игровая симуляция на парное программирование
    • Статические анализаторы кода на примере Sonar
  • Модульное тестирование
    • Необходимость модульного тестирования
    • Преимущества для разработчика
    • Основные принципы и правила модульного тестирования
    • Приципы работы с моками
    • Типы моков (stub, dummy, mock, spy)
    • Техники написания модульных тестов
    • Инструменты для написания модульных тестов
    • Практическая демонстрация
    • Тестирование базы данных, внешних сервисов, файловой системы
    • Описание двух дней работы различных команд
  • Рефакторинг
    • Суть и задачи рефакторинга
    • Примеры code smells
    • Типы базовых рефакторингов с примерами в коде
    • Использование IDE для рефакторинга
    • Поддержка рефакторинга модульными тестами
    • Работа над примером, разбор результатов
  • Автоматизация сборки
    • Какие проблемы решает автоматизация сборки
    • Что включать, какие шаги
    • Выбор инструмента для сборки
    • Практическая демонстрация автоматизации сборки
    • Практики и полезные советы
  • Continious Integration
    • Принципы в основе CI
    • Практики работы с CI
    • Обзор инструментов
    • Демонстрация работы инструмента (TeamCity, Hudson)
    • Подключение проекта и настройка рабочего процесса
    • Советы и полезные практики
  • Автоматизированное функциональное тестирование
    • Преимущества и недостатки автоматизации
    • Регрессионная спираль смерти и способы борьбы с ней
    • Инструменты для автоматизации
    • Практическая часть с использованием Selenium
    • Подходы и практики для надежных повторяющихся тестов
    • Подключение тестов в имеющуюся инфраструктуру сборки
  • TDD
    • Что такое TDD
    • Правила и принципы работы TDD
    • Преимущества от TDD
    • Практические примеры для разных областей приложения
    • TDD в функциональном тестировании
    • Инструменты и особенности применения при TDD
  • Ответы на вопросы