Здравствуйте Sergey Kulik,
SK>Но только не усмотрел там одной, но далеко не последней фигуры- проектировщика, он же постановщик задач, он же Software Architect. Кто определяет архитектуру системы, строит модели, разрабатывает интерфесы и определяет границу песочницы для кодера? Судя по всему это не Customer, он скорее всего эксперт в предметной области. Может заинтересованная публика прояснит, неясность?
Нет там такой фигуры

Кодеров тоже нет. Точнее он тебе и кодер, он тебе и архитектор. Идея такая — пишешь код, затем переписываешь, потом опять переписываешь и т.д. Ну вот типа при n стремящемся к бесконечности, должно получиться идеальное решение. То бишь — сначала пишем, потом думаем. Иногда это правильно, но иногда — нет. Так что слепо следовать XP можно только в отдельных случаях. А, например, при разработке framework, так сделать не получиться, там надо сначала 10 раз подумать, а только потом 1 раз реализовать.
Я б сравнил рефакторинг и дизайн так:
Дизайн — ищем скелет, наращиваем на него мышцы.
Рефакторинг — ростим груду мышц, затем пытаемся в них найти скелет.
Поэтому вывод — там где в приложении нет скелета, не зачем его изначально искать и надо пользовать XP. Если в приложении должен быть скелет — найди его при помощи дизайна.