Мое ИМХО по поводу конкретно рефакторинга.
Как я уже в форуме упоминал (не обратили внимания - жаль), заканчивается процесс развития информационных технологий специалистами других специальностей. Заканчивается период мастеров-одиночек и небольших "мануфактур", в которых частенько собственные методы "производства" разрабатывались и применялись. Начинается саморазвитие информационных технологий как инженерной дисциплины.
Обратите внимание, что начинается с классификации. Классификация паттернов проектирования, классификация рефапкторингов текста, классификация рефакторингов разработки через тестирование, классификация паттернов xUnit, паттернов архитектуры корпоративных приложений, паттернов интеграции, паттернов рефакторинга баз данных. По каждой классификации книжка есть...
Это необходимый процесс в начале развития любой инженерной дисциплины. По мере развития что-то отпадет, что-то просто превратится в тривиальные вещи, которые по умолчанию будут сделаны. Кто сейчас помнит слово "реентерабельность"? А ведь в свое время я изучал, как написать реентерабельную процедуру.
Если взять строительство, то например, есть классификация грунтов. Прикиньте, в начале развития строительного дела нафиг не нужна была эта классификация - строили шалаши на любом грунте. А избу построить - уже почву смотреть надо.
Но в процессе развития потребовалась детальная классификация. Ибо перешли на промышленные методы "производства" строений.
Да в любой сфере есть аналогичная классификация: автомобили, пароходы, одежда, например. Когда шкуры были - никому в голову не приходило расклассифицировать...

Американцы, естетсвенно, раздувают - тут уже написали об этом очень хорошо.
Но шаг в развитии ИТ - важнейший, не зависимо от "раздутия".