 |
|
 |
|
SPM-02
eXtreme Programming |
|
Согласно традиционным подходам к разработке
необходимо сначала собрать и интерпретировать требования,
спроектировать решение, продумать методику организации работы,
контроля качества, схему коммуникаций, а уж потом только
начинать писать код - и при этом породить десятки и сотни
страниц бумажной документации. Во многих случаях это будет
бесполезно и неэффективно, а в некоторых - откровенно вредно.
Примерами проектов, где традиционные подходы обычно менее
эффективны, можно назвать разработку принципиально нового
ПО методом исследования, разработку ПО для собственного
пользования, разработку методом эволюционирующих прототипов.
Для этих проектов больше подходят так называемые "гибкие"
(agile) методологии, преимущества
которых уже оценили десятки компаний на территории бывшего
Союза и сотни компаний по всему миру. |
|
Назначение тренинга |
|
Познакомить слушателей с идеями, лежащими
в основе Agile методологий вообще
и XP в частности, основными положениями
ХР, а также дать обзор основных идей и практик, проиллюстрировав
их применение примерами из практики. |
|
Цели тренинга |
- Дать
представление об идеологии Agile-методологий.
- Дать
обзор основных понятий, ценностей и практик ХР.
- Рассказать
о модели команды в ХР.
- Рассказать
и показать особенности работы с Заказчиком в ХР.
- Рассмотреть
роль Менеджера и ее особенности согласно ХР.
- Собрать
части в единую картину - проиллюстрировать использование
ХР в проекте и рассмотреть особенности
внедрения.
|
|
Необходимые предварительные знания |
- Опыт
работы разработчиком в команде.
- Опыт
руководства коллективом разработчиков существенно поможет.
- Знание
основ Unified Modeling Language
и опыт выявления, анализа и документирования
требований существенно поможет.
|
|
План
тренинга |
|
День 1 - Мир Agile-разработки |
День
2
- ХР на практике |
|
Лекция 1 - Agile Manifesto |
Лекция 1 - Общение с Заказчиком |
-
Жизненные циклы ПО. Жизнеспособные
циклы ПО.
-
Понятия "неопределенности
проекта" и "изменчивости проекта".
-
Прескриптивные
методологии и адаптируемые процессы, сходства
и различия.
- Agile Manifesto
и его основные моменты.
- SCRUM, XP,
UP - краткий обзор подходов.
-
Почему выбирают
ХР.
|
-
Роль требований
в разработке.
-
Типы требований
и их влияние на проект.
-
Типичные сложности
в сборе и документировании требований и из последствия.
-
Техники выявления требований.
On-site customer.
-
Чем может помочь UML?
-
Техники документирования
требований. Преимущества и недостатки инструментальных
средств.
|
|
Лекция 2 - Особенности ХР |
Лекция 2 - Тестирование
в ХР |
-
Базовые принципы.
-
Основные ценности.
-
Ключевые практики.
-
Типичные сложности.
-
Программирование
парами.
-
Коллективное владение.
-
Постоянная интеграция.
-
Организация разработки
согласно ХР.
|
-
Традиционные подходы
к тестированию. Где находятся 90% ошибок.
-
Стратегия тестирования.
Юнит-тестирование.
-
Стоимость изменения
и юнит-тестирование.
-
Фреймворки юнит-тестирования.
|
|
Лекция 3 - Как это
работает? |
Лекция 3 - Менеджер в ХР |
-
Кодирование, тестирование,
слушание и проектирование.
-
Стратегия проектирования.
-
Стратегия разработки.
-
Стратегия взаимодействия.
-
Жизненный цикл
идеального ХР-проекта.
|
-
Стратегия менеджмента.
-
"Технари" и "бизнесмены"
- разделение обязанностей.
-
Игра в планирование:
куски, игроки и ходы.
-
Инструктирование,
слежение и интервенция.
-
Метрики. "Большая
наглядная диаграмма".
|
|
Лекция 4 - Модель команды по ХР |
Лекция 4 - Руководство
по внедрению |
-
Матрица ответственностей.
Понятие о роли.
-
Обязательные и
необязательные роли.
-
Сочетаемые и плохо
сочетаемые роли.
-
Разработка своими
и чужими силами.
-
Заказчик и Большой
босс.
|
-
Что определяет
успех или неуспех внедрения.
-
Когда ХР - это
сложно.
-
Когда ХР - это
нецелесообразно.
-
Как организовать
внедрение.
-
Как быть с существующим
проектом.
|
|
|
Практические
занятия |
- Коллективный
разбор двух кейсов.
- Домашнее
задание - исследовательская работа.
|
|
Аттестация |
-
Предварительное тестирование слушателей.
*)
-
Экзамен после тренинга.
*)
Предварительное и послетренинговое
тестирование включают вопросы примерно одного уровня, что
дает возможность оценить эффективность обучения и способности
обучаемого.
|
|
|
|
 |
|