Экстремальное программирование [36] – сравнительно молодая методология разработки программных систем, основанная на постепенном улучшении системы и разработки ее очень короткими итерациями. По своей сути экстремальное программирование (XP) - это одна из так называемых "гибких" методологий разработки ПО, представляющая собой небольшой набор конкретных правил, позволяющих максимально эффективно выполнять требования современной теории управления программными проектами.
XP ориентирована на:
- командную работу с тесными связями внутри команды и с заказчиком,
- разработку наиболее простых работающих решений,
- гибкое адаптивное планирование
- оперативную обратную связь (путем модульного и функционального тестирования).
Основными принципами XP является разработка небольшими итерациями на основании порции требований заказчика (т.н. пользовательских историй), написание функциональных тестов до написания программного кода, постоянное общение и постоянный рефакторинг кода.
Основными практиками XP являются
· Планирование процесса
· Частые релизы
· Метафора системы
· Простая архитектура
· Тестирование
· Рефакторинг
· Парное программирование
· Коллективное владение кодом
· Частая интеграция
· 40-часовая рабочая неделя
· Стандарты кодирования
· Тесное взаимодействие с заказчиком