Тренінг

Інженерні практики у сучасній розробці

Відео: Тренинг “Инженерные практики в Agile”

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

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

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

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

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

  • Отримаєте теоретичні знання про інженерні практики в Agile
  • Дізнаєтеся методики їх впровадження та застосування на різних стадіях проєкту
  • На практиці зможете побачити дієвість деяких інженерних практик
  • Поповните багаж знань практичними прикладами з життя, які допоможуть вам швидко та ефективно почати працювати з інженерними практиками на своєму проєкті
  • Зможете отримати професійні відповіді на питання та ситуації з реального життя вашого проєкту чи команди
  • Уникнете багатьох помилок і труднощів у реальному житті
Цільова аудиторія
розробники, тимліди, менеджери
Вартість
350 $за учасника
Дата та час
16 годин / 2 дні

Замовити для компанії

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

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

Історія проведення

  • 6-7 квітня, 2012Київ, УкраїнаТренінг «Інженерні практики в Agile»
  • 15 грудня, 2011Київ, УкраїнаКонференція XP Days UkraineТренінг «Інженерні практики в Agile»
  • 17 липня, 2010Київ, УкраїнаТренінг «Інженерні практики в Agile»