Тема 2 XP eXtreme Programming Быстро определяет перечень задач, которые необходимо реализовать в следующей версии продукта. Заказчики определяют: объем работ; приоритеты; композиции версий; сроки выпуска версий. XP Разработчики.
Download ReportTranscript Тема 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