Доклады / Программа

День 1 / День 2

 
Проектирование продукта
Разработка продукта
9:00
9:15
9:30
9:45
10:00
10:15
10:30
10:45
11:00
11:15
11:30
11:45
12:00
12:15
12:30
12:45
13:00
13:15
13:30
13:45
14:00
14:15
14:30
14:45
15:00
15:15
15:30
15:45
16:00
16:15
16:30
16:45
17:00
17:15
17:30
17:45
18:00
18:15
18:30
18:45
19:00
19:15
19:30
19:45
Регистрация и приветственный кофе

Введение

  1. Обзор инженерных практик
  2. Цели и преимущества от их использования
  3. Понятие качества кода
  4. Знакомство
  5. Сбор ожиданий и пожеланий
  6. Содержание программы
  7. Обсуждаемые сценарий:
    • существующий проект
    • код не очень хорошего качества
    • тестов нет или мало
    • ничего не автоматизировано

Дмитрий Лобасев, Алексей Кривицкий, Никита Филиппов
Agile процесс: Scrum & Kanban

  1. Что такое Agile
  2. Симуляция Scrum
  3. Принципы КанБан

Ревью кода и парное программирование

  1. Зачем делать ревью кода
  2. Как делать ревью кода
  3. Роли и выбор ревьювера
  4. Практические советы по проведению ревью
  5. Возможно практическая часть на небольшом куске кода
  6. Принципы парного программирования
  7. Как работать в паре
  8. Техническое оснащение для работы в паре
  9. Стили парного программирования
  10. Разбиение участников на пары
  11. Возможно игровая симуляция на парное программирование
  12. Статические анализаторы кода на примере Sonar

Дмитрий Лайер
Концепция продукта / Проекта

  1. Зачем нужна
  2. Старт проекта или продукта и концепция
  3. Современные подходы к выработки концепции:
    • Innovation Games: Product Box
    • Vision Canvas

Модульное тестирование

  1. Необходимость модульного тестирования
  2. Преимущества для разработчика
  3. Основные принципы и правила модульного тестирования
  4. Приципы работы с моками
  5. Типы моков (stub, dummy, mock, spy)
  6. Техники написания модульных тестов
  7. Инструменты для написания модульных тестов
  8. Практическая демонстрация с участием желающих
  9. Тестирование базы данных, внешних сервисов, файловой системы
Обед

Рефакторинг

  1. Суть и задачи рефакторинга
  2. Примеры code smells
  3. Типы базовых рефакторингов с примерами в коде
  4. Использование IDE для рефакторинга
  5. Поддержка рефакторинга модульными тестами
  6. Работа в паре над примером, разбор результатов

Никита Филиппов
Проектирование и сбор требований используя StoryMapping

  1. Проблемы сбора требований в Agile
  2. Персоны и персонофикация пользователя системы/ продукта
  3. Создание карты требований

Автоматизация сборки

  1. Какие проблемы решает автоматизация сборки
  2. Что включать, какие шаги
  3. Выбор инструмента для сборки
  4. Практическая демонстрация автоматизации сборки
  5. Практики и полезные советы

Гапонов Максим
Бумажное прототипирование

  1. Как быстро создать и согласовать интерфейсы. Почему используют
  2. Бумажное прототипирование - быстрый способ разработать интерфейсы
  3. Создание бумажных прототипов

Continious Integration

  1. Принципы в основе CI
  2. Практики работы с CI
  3. Обзор инструментов
  4. Демонстрация работы инструмента (TeamCity, Hudson)
  5. Подключение проекта и настройка рабочего процесса
  6. Советы и полезные практики
Кофе-пауза

Автоматизированное функциональное тестирование

  1. Преимущества и недостатки автоматизации
  2. Регрессионная спираль смерти и способы борьбы с ней
  3. Инструменты для автоматизации
  4. Практическая часть с использованием Selenium
  5. Подходы и практики для надежных повторяющихся тестов
  6. Подключение тестов в имеющуюся инфраструктуру сборки

Вольфсон Борис
Планирование релизов и управление рисками в Agile

  1. Классическое управление рисками
  2. Управление рисками в Agile
  3. Симуляция "Управление рисками" в итеративной разработке

TDD

  1. Что такое TDD
  2. Правила и принципы работы TDD
  3. Преимущества от TDD
  4. Практические примеры для разных областей приложения
  5. TDD в функциональном тестировании
  6. Инструменты и особенности применения при TDD
Подведение итогов конференции раздача подарков