38
Осуществляется в парах (2 программиста на одном компьютере)
Максимальная простота кода
Тестирование
Тесты на основании User Story (создаются на этапе планирования)
Вместе с заказчиком
Рис. 9. Графическое представление фаз технологии XP
Важным и непременным требованием при реализации технологии XP
является постоянное тесное взаимодействие с конечным пользователем на
каждом этапе, особенно на этапах планирования и тестирования. Если
присутствие конечного пользователя в
процессе невозможно, то его роль
исполняет один из членов команды. При этом важно отметить, что
взаимодействие осуществляется не с заказчиком, а именно с пользователем, то
есть с тем, кто непосредственно будет использовать ПО и максимально
заинтересован в удобстве и эффективности его работы.
При описании данной технологии ее автор К.Бек охарактеризовал ее как
разработка через тестирование. То есть при планировании цикла сначала
планируются тесты, для этого формируется набор User Story, предполагаемых
для реализации. С
пользователем обсуждается какие User Story будут включены
в итерацию и какие результаты тестирования должны быть получены после
реализации каждой из выбранных User Story.
Еще одной особенностью данной технологии является "парное
программирование", этот подход позволяет одновременно писать и делать
ревизию кода, что позволяет выявить большинство ошибок не на стадии
тестирования, а уже в процессе написания кода.
Кроме того, данная технология накладывает определенные ограничения
на квалификацию команды разработчиков. Группа должна состоять из
профессионалов, имеющих большой опыт в анализе, проектировании,
написании и тестировании ПО.
39
Предполагается, что код пишется в
рамках ООП, поскольку данный
подход позволяет решить несколько задач: локализация ошибок, повышение
надежности, повторное использование кода и сокращение рутинной работы.
Данная технология является ярким представителем воплощения
инкрементальной модели, поскольку каждый из инкрементов имеет в своей
основе определенный набор User Story, причем, в рамках данной технологии не
обязательно использование MoSCoW list для ранжирования (выбора) User Story
для каждого из инкрементов. Конкретные User Story для реализации
выбираются соглашением между заказчиком и командой.