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

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

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

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

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

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

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

розробники, тимліди, менеджери

Вартість
$350
за учасника
Дата та час
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
  • Відповіді на запитання