Без заголовка
Может Вам это уже очевидно, но размышляя о об управлении требованиями я пришел к мысли, что главное отличие и самое существенное в ХР и всей последующей волне agile от традиционных тяжеловесных подходов - это способ управления требованиями - те самые user stories. И как мне кажется, такое понимание помогает отделить главное от второстепенного, того же парного программирования, например.
Если управлять требованиями таким образом, то все остальное (постоянное общение с заказчиком, частые релизы, рабочий софт, юнит-тесты, рефакторинг) появятся сами собой с необходимостью. И наоборот, сколько не пиши юнит-тесты, не прелагай работать парами, не убеждай, что нужен рефакторинг - ничего не выйдет и никто тебя слушать не будет, если есть уже подписанные документы требований и плана проекта, а дедлайн все ближе.