Agile software development is nothing new. It's actually been around since the 1950s or before, but only recently has it been called "agile" and gotten so much attention.
At its core, agile is a set of values. These values drive decisions and practices which reflect those values in various ways. So there are as many ways to "do agile" as there are teams trying it! And from one iteration to the next, a team may well change their process in an attempt to improve it.
We like that.
The core of agility can be found in the Agile Manifesto, which states, in part, that we value:
"Individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, [and] responding to change over following a plan"
This does not mean that there is no value in the items on the right -- merely that we value the items on the left more .