что составляет грунт для agile проектов? попытки анализа

Обсуждая с коллегами по agile движению, что означает для программистов "agile" (сообщения дискуссии доступны здесь), я пришёл для себя к следующим выводам:

хорошие отношения внутри команды и с заказчиками являются необходимыми условиями зарождения agile среды, иными словами: без хороших отношений и тесного общения agile, по всей видимости, невозможен.

Хорошие отношения - это интегральное понятие, которое подразумевает также профессионализм и доверие, без которых упешная кооперация между людьми невозможна.

Но хорошие отношения (что бы под этим не понималось: доверие, профессионализм, конструктивизм и прочее) не гарантируют наличие agile среды. Так как теоретически должны быть реальными проекты, базирующие свою работу на замороженных требованиях. Ну, скажем, это могут быть проекты для военной индустрии, где требования детально проработанны. Или проекты по миграции страрого кода в новый. Или проекты для embedded-систем.

Если же хорошие отношения не гарантируют наличие agile среды, то должно быть значит что-то ещё, что выделяет эти проекты из ряда других. Я делаю предположение, что это -

наличие проектной среды, в которой изменения требований настолько важны, что становятся нормой и критерием успеха проекта.


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

----
Таковы мои мысли на сей счет на сегодняшний день.
Есть другие мысли? идеи? комментарии? - давайте общаться.