Certified Professional in Agile Programming, 28 – 30 марта 2016 года, Москва

(Из ленты AgileRussia)

ScrumTrek_Logo28 – 30 марта 2016 года в Москве пройдет тренинг ScrumTrek Certified Professional in Agile Programming. Тренер – Сергей Баранов.

Международный консорциум ICAgile и компания ScrumTrek приглашают Вас пройти обучение по инженерным практикам в гибких методологиях с получением международного сертификата Certified ICAgile Professional in Agile Programming.

Зачем нужен этот курс

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

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

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

В итоге Вы сможете осмысленно выбрать, обосновать необходимость и внедрить нужные практики у себя в проекте. А это даст мощный позитивный импульс как проекту в целом, так и персональный мотивации каждого из инженеров в отдельности.

Для кого

  • Для инженеров: тестировщиков и QA, разработчиков и архитекторов.

После тренинга участники смогут

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

Описание Тренинга

День первый, теоретический

В начале тренинга, в простой игровой форме, мы прорабатываем ключевые проблемы процесса разработки. Именно это позволяет участникам придти к выводам совершенно самостоятельно, через собственный опыт.

Взаимодействие в гибкой команде
  • Взаимодействие внутри команды
  • Принципы распределения задач
  • Взаимодействие команды с внешним миром
  • Организация рабочего места
  • Распределенные команды
Коллективная ответственность
  • Концепция и ценность коллективной ответственности для производственной системы
  • Коллективное владение системой для надежной и производительной производственной систем
Парное программирование
  • Кого, зачем и как сажать в пары?
  • Типовые шаблоны
Simple Design
  • Как развивать архитектуру инкрементально для быстрых поставок?
  • Как бороться с техническим долгом?
  • Как эффективно рефакторить систему?
Автотесты
  • Что такое автотесты?
  • Что покрывать тестами и что стоит автоматизировать?
  • Каких результатов мы ждем от тестов и как использовать автоматические тесты для ускорения разработки и повышения качества продукта?
Непрерывная интеграция
  • Ценность ранней обратной связи о качестве
  • Типовые шаблоны

День второй, закладываем фундамент на практике

Unit Testing
  • Использование шаблона Dependency Injection для повышения тестопригодности кода
  • Порядок покрытия кода автотестами для оптимального соотношения затраты/риски
  • Структура автотеста
  • Как писать качественные системные тесты с элементами практики BDD?
  • Закрепляем на практике, выявляем ценность
  • Качественные модульные тесты с использованием тест-дублеров и управление кодовой базой тестов
  • Практикуемся, проецируем на реалии своих проектов
Code Smells
  • Влияние типовых проблем кода (code smells) на внутреннее качество продукта
  • Практика локализации и обоснования проблем в коде
  • Практика локализации и обоснования проблем в коде  с использованием вспомогательных утилит

День третий, еще больше практики

Refactoring
  • Конкретные виды рефакторинга  и как их правильно проводить
  • Практика рефакторинга малыми шагами для обеспечения внутреннего качества
  • Рефакторинг проблемного, нетестопригодного унаследованного кода с минимальными затратами
  • Использование IDE для ускорения и повышения качества рефакторингов
Ценность TDD и BDD
  • Практика применения TDD c JUnit и Mockito
  • Как TDD помогает проектировать систему более сопровождаемой и позволяет экономить?
  • TDD как практика дизайна
  • Практика применения проверенных приемов TDD для повышения продуктивности
  • Практика применения BDD с JBehave и Cucumber

Отличительные особенности тренинга

Максимум практики и разбор типовых ошибок и вопросов прямо на месте. При этом вся работа участников абсолютно прозрачна – вся группа видит свои результаты в системе continuous integration и статических анализаторах кода. Это позволяет делать обратную связь максимально быстрой и объективной.

Условия

Обращаем Ваше внимание, что для прохождения данного тренинга Вам требуется:

1. Опыт Java-разработки не ниже Junior;

2. Ноутбук установленными c  JDK, Git’ом и IDE.

Подробности и регистрация здесь.

Источник: Certified Professional in Agile Programming, 28 – 30 марта 2016 года, Москва