The underlying philosophy of Agile methods is that prediction isn't possible (reasonably) and therefore the only way to converge is to constantly adapt the under development software to the needs, which are refined as the project goes along, hence the term Agile.
If this is done without a methodological framework it simply leads to chaotic development (also called cowboy development) and to failure of the software process. It is an error to think that Agile methods provide greater freedom to the developers as in most cases Agile methods are in fact very demanding in terms of discipline and organisation.
The most promoted and wide spread Agile approach is 'extreme programming'. This method is articulated around a number of disciplines (around 13 depending on the reference) and values.
Basically, the full static framework can be deduced by stating that there is no initial specification and then progressively adding the necessary rules to maintain control over the development.