необходимая для прохождения теста. TDD, в некотором смысле, позволяет
писать код, который более удобен в использовании - потому что при написании
теста, когда логики еще нет, проще всего позаботиться об удобстве будущей
системы.
2. Игра в планирование: главная цель игры в планирование - быстро
составить приблизительный план работы и постоянно обновлять его, когда
условия задачи становятся более ясными. Артефактами игры в планирование
является набор бумажных карточек, на которых записаны пожелания клиентов
(customer stories), и приблизительный план работы по выпуску следующих
небольших версий продукта. Критическим фактором, который делает этот
стиль планирования эффективным, является то, что в этом случае заказчик
несет ответственность за принятие бизнес-решений, а команда разработчиков
отвечает за принятие технических решений. Если это правило не выполняется,
весь процесс разбивается на части.
3. Парное программирование: Данное программирование
подразумевает, что весь код пишется парами программистов, работающих на
одном компьютере. Один из них напрямую работает с текстом программы,
другой просматривает его работу и следит за общей картиной происходящего.
При необходимости клавиатура свободно передается от одного к другому. Во
время работы над проектом пары не фиксированы: рекомендуется их
смешивать, чтобы каждый программист в команде имел представление о всей
системе. Таким образом, парное программирование усиливает взаимодействие
внутри команды.
4. Постоянная интеграция: При частом выполнении интеграции
разрабатываемой системы, можно уйти от большого количества проблем
связанных с этим. Если применять обычные методы, то интеграция будет
проводиться на завершающем этапе работы над продуктом, когда полностью
готовы все элементы системы. Полная интеграция системного кода в
экстремальном программировании производится несколько раз в день, лишь
после, того как разработчики проверили, что абсолютно все тесты модулей