Agile practices emerge in a collaborative environment. As the leader on several projects, I saw the emergence of iterative development, test first, evolving functional specs, pair programming, minimal documentation, and customer involvement at every step of the way.