I was reading an interesting post on Agile Project management in NET Objectives blog. Good one…
When many companies decide to go Agile, they do so out of the realization that the usual approach – gathering most of the requirements and doing most of the analysis at the start of the project – is not working very well. And, too often, it leads to projects that seem to get out of control.
It also lists the skill you require for the transition
Project managers must understand the principles and practices of the Agile project management approach.
Analysts must understand how to unfold use cases.
Someone on the team must understand the customer requirements enough so that they can represent the voice of the customer correctly to the team (we call this person the Product Owner).
Developers must understand design patterns to some minimal level so that their designs can allow for changes.
Developers must understand refactoring
Developers must understand testing sufficiently so that they can write automated tests.
Quality Assurance must be able to define for the team what it means for the product to meet customer requirements and describe how to write acceptance tests early that can verify this.