Технологии разработки программного обеспечения


ХР-процесс


Экстремальное программирование (eXtreme Programming, XP) — облегченный (подвижный) процесс (или методология), главный автор которого — Кент Бек (1999) [11]. ХР-процесс ориентирован на группы малого и среднего размера, строящие программное обеспечение в условиях неопределенных или быстро изменяющихся требований. ХР-группу образуют до 10 сотрудников, которые размещаются в одном помещении.

Основная идея ХР — устранить высокую стоимость изменения, характерную для приложений с использованием объектов, паттернов* и реляционных баз данных. Поэтому ХР-процесс должен быть высокодинамичным процессом. ХР-группа имеет дело с изменениями требований на всем протяжении итерационного цикла разработки, причем цикл состоит из очень коротких итераций. Четырьмя базовыми действиями в ХР-цикле являются: кодирование, тестирование, выслушивание заказчика и проектирование. Динамизм обеспечивается с помощью четырех характеристик: непрерывной связи с заказчиком (и в пределах группы), простоты (всегда выбирается минимальное решение), быстрой обратной связи (с помощью модульного и функционального тестирования), смелости в проведении профилактики возможных проблем.

 * Паттерн является решением типичной проблемы в определенном контексте.

Большинство принципов, поддерживаемых в ХР (минимальность, простота, эволюционный цикл разработки, малая длительность итерации, участие пользователя, оптимальные стандарты кодирования и т. д.), продиктованы здравым смыслом и применяются в любом упорядоченном процессе. Просто в ХР эти принципы, как показано в табл. 1.2, достигают «экстремальных значений».

 

Таблица 1.2. Экстремумы в экстремальном программировании

Практика здравого смысла

ХР-экстремум

ХР-реализация

Проверки кода

Код проверяется все время

Парное программирование

Тестирование

Тестирование выполняется все время, даже с помощью заказчиков

Тестирование модуля, функциональное тестирование

Проектирование

Проектирование является частью ежедневной деятельности каждого разработчика

Реорганизация (refactoring)

Простота

Для системы выбирается простейшее проектное решение, поддерживающее ее текущую функциональность

Самая простая вещь, которая могла бы работать

Архитектура

Каждый постоянно работает над уточнением архитектуры

Метафора

Тестирование интеграции

Интегрируется и тестируется несколько раз в день

Непрерывная интеграция

Короткие итерации

Итерации являются предельно короткими, продолжаются секунды, минуты, часы, а не недели, месяцы или годы

Игра планирования

<


- Начало -  - Назад -  - Вперед -