Сертифицированный тренинг

Certified Professional in Agile Programming

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

Для кого

  • тестировщиков и QA
  • разработчиков
  • архитекторов

В процессе

  • Проработаете практику осмысленного рефакторинга как подход к непрерывной поддержке внутреннего качества системы.
  • Прочувствуете ценность TDD и поймете, как связяны выражение «самый быстрый способ решить задачу – знать ответ заранее» и практика разработки через тестирование.
  • Вместе с практикой Unit Testing научитесь не бояться изменений требований и постоянно держать внешнее и внутреннее качество продукта под контролем.

Результаты

  • Обоснованно выбирать необходимые инженерные практики для своего проекта.
  • Осознанно выбирать компоненты системы для покрытия тестами, чтобы не тратить ресурсы на покрытие ненужных компонентов.
  • Обеспечивать необходимое покрытие тестами ключевого функционала, чтобы резко снизить затраты на регрессионное тестирование.
  • Обеспечивать длительную ритмичную поставку даже в условиях изначально высокого технического долга.
  • Осознанно выбирать компоненты системы под рефакторинг для снижения затрат на поддержку внутреннего качества.
  • Технически грамотно проводить рефакторинг, не внося дефектов.
  • Повысить качество продукта за счет фокуса на корректном ожидаемом поведении и высокого покрытия тестами.
  • Ускорить внесение изменений за счет автоматизации регрессионного тестирования и экономии на повторяющихся дефектах.

Содержание

  • Agile-команда: взаимодействие внутри команды, принципы распределения задач, взаимодействие команды с внешним миром, организация рабочего места, распределенные команды
  • Коллективная ответственность: Концепция и ценность коллективной ответственности для производственной системы, коллективное владение системой для надежной и производительной производственной систем
  • Парное программирование: кого, зачем и как сажать в пары?
  • Simple Design: игра-симуляция «Технический долг»,введение в микросервисную архитектуру, архитектурная целостность
  • Автотесты: игра-симуляция «Testing Jengа», стратегия внедрения практики автотестирования в проекте/компании
  • Модульное тестирование: использование шаблона Dependency Injection для повышения тестопригодности кода, порядок покрытия кода автотестами для оптимального соотношения затраты/риски, структура автотеста, Качественные модульные тесты с использованием тест-дублеров и управление кодовой базой тестов, как писать качественные системные тесты с элементами практики BDD?
  • Ценность TDD и BDD: TDD как практика дизайна, инструменты для TDD и BDD, как TDD помогает проектировать систему более сопровождаемой и позволяет экономить?
  • Code Smells: влияние типовых проблем кода (code smells) на внутреннее качество продукта
  • Refactoring: конкретные виды рефакторинга и как их правильно проводить, Lego-симуляция рефакторинга, рефакторинг малыми шагами для обеспечения внутреннего качества, рефакторинг проблемного, нетестопригодного унаследованного кода с минимальными затратами, стратегия перехода от монолита к микросервисам с помощью рефакторинга
  • Основы DevOps: непрерывная интеграция и непрерывная поставка, ценность ранней обратной связи о качестве, влияние DevOps на архитектуру и стуктуру команд
Кирилл СеменовМ.Видео

Всем, кто хочет узнать и понять лучшие технические практики, которые в настоящее время применяются в таких инновационных компаниях как Google, Facebook, Яндекс, тренинг безусловно будет полезен. Автору тренинга удалось емко и лаконично уложить в два дня всю необходимую информацию для понимания практик, способах их применения, а так же используемых инструментах. Понравились lego-симуляции процессов разработки, позволившие в очередной раз убедиться в необходимости использования обсуждаемых подходов, например TDD и рефакторинг.

Тренер

Сергей Баранов

Более десяти лет в активной разработке и консалтинге. За это время получил обширный опыт в таких областях, как разработка и проектирование, информационная безопасность, построение и оптимизация процессов разработки. С 2015-го года вступил в ряды дружной и сплочённой команды ScrumTrek.