Тема 2 XP eXtreme Programming Быстро определяет перечень задач, которые необходимо реализовать в следующей версии продукта. Заказчики определяют:  объем работ;  приоритеты;  композиции версий;  сроки выпуска версий. XP Разработчики.

Download Report

Transcript Тема 2 XP eXtreme Programming Быстро определяет перечень задач, которые необходимо реализовать в следующей версии продукта. Заказчики определяют:  объем работ;  приоритеты;  композиции версий;  сроки выпуска версий. XP Разработчики.

Тема 2

XP

eXtreme Programming

Быстро определяет перечень задач, которые необходимо реализовать в следующей версии продукта.

Заказчики определяют:  объем работ;    приоритеты; композиции версий; сроки выпуска версий.

Разработчики определяют:   оценку времени; последствия бизнес решений;   процесс; подробный график работ XP

Первая упрощенная версия системы быстро вводится в эксплуатацию. Через короткие промежутки времени планируется выпуск следующих версий. XP

Это простая которая кратко описывает, как работает система. Дает качественное понимание набора базовых элементов системы и их взаимосвязи.

и общеизвестная история, XP

В каждый момент времени система должна быть спроектирована настолько просто, насколько это возможно.

Четыре признака:     выполняются все тесты; нет дублирования логики; выражены все идеи программистов; в системе присутствует наименьшее количество классов и методов.

XP

Программисты пишут тесты модулей, заказчики – тесты для проверки функциональности системы.

Тесты являются изолированными друг от друга и автоматическими. Другие виды тестов: параллельные тесты, стресс тесты, тесты обезьяны.

Для продолжения работы необходимо, чтобы все тесты дали положительный результат.

Любой код пишется, начиная с теста.

XP

Программисты реструктурируют систему, не изменяя ее поведения.

Обычно проводится:     устранение дублирования кода; улучшение коммуникации модулей; упрощение кода; улучшение гибкости кода.

XP

За одним компьютером работают два человека. Реализуются две роли:  кодировщик (думает, как наилучшим образом закодировать конкретную задачу);  стратег (думает, насколько хорошо решение данной задачи вписывается в общую систему).

Состав пар может динамически меняться.

XP

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

Противоположности:  полное отсутствие владения («делай, что хочешь»)  индивидуальное владение XP

Требуется внедрять новые возможности в систему по нескольку раз в день (в худшем случае один раз в день) сразу, после решения очередной задачи.

Должно проводиться 100% тестирование на предмет сохранения всех прежних возможностей и приобретения новых.

XP

Ни один член команды не должен быть перегружен работой.

Никто не может полноценно работать, когда постоянно приходится работать сверхурочно.

XP

В состав команды разработчиков должен входить представитель заказчика (по меньшей мере, он должен быть в зоне прямого и быстрого доступа).

Цель – возможность разъяснения непонятных требований и возможность быть всегда в курсе реального объема выполненных работ.

XP

Программисты пишут код в соответствии с установленными правилами, по которым, в частности, код должен быть средством коммуникации.

XP

    Планирование (определение показателей метрик); Инструктирование (консультирование); Отслеживание (наблюдение значений метрик); Интервенция (принятие экстренных решений).

XP

Цель – максимизировать ценность ПО.

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

Планирование осуществляется на двух уровнях:   на уровне заказчиков и разработчиков; на уровне разработчиков XP

Для каждой возможности создаются карточки описания истории.

Цикл:    Фаза исследования – необходимость уяснить, что нового в данной версии должна делать система; Фаза подтверждения – определение объема работ и даты выхода следующей версии; Фаза управления – обновление плана на основе новых данных.

XP

Фаза исследования включает в себя:  написание историй;   оценка выполнения историй с точки зрения времени; разделение историй исходя из оценки.

Фаза подтверждения включает в себя:  сортировка в соответствии с ценностью;    сортировка в соответствии с риском; оценка скорости; определение объема работ.

Фаза управления включает в себя:  определение состава итерации (набор историй);    регенерация (изменение набора историй исходя из приоритетов); новая история (добавление новой истории, если позволяет время); переоценка (определение новой скорости разработки).

XP

Истории конкретной итерации делятся на задачи, для каждой из которых выписывается специальная карточка.

Фаза исследования:  определение набора задач;  разделение задач.

Фаза подтверждения:  распределение задач по членам команды;   оценка времени выполнения задачи; определение фактора нагрузки для каждого члена команды;  балансировка – перераспределение задач.

Фаза управления:  реализация задач;   отслеживание процесса; регенерация;  XP проверка выполнения историй при интеграции задач.

       Доменная модель Прототипы пользовательского интерфейса (пользовательские экраны) Пользовательские истории План выпуска и каждой итерации Стандарты кодирования Программный код Наборы тестов XP