In several places Feature Driven Development (FDD) is called an Agile methodogoly - e.g. the Wikipedia entry on FDD.
Yet in general, to be considered FDD it seems the following requirements have to be satisfied:
- Coloured UML has to be used (but documentation isn't necessary);
- Instead of pair programming the team is divided by software features;
- refactoring is discouraged or, at least, isn't a task with explicit scope;
- unit testing is discretionary, the team leaders can decide;
- the work flow has to pass through the five FDD phases;
On the flip side it seems to me that Agile is
- UML is an optional tool
- Tests are documentation
- Tests are obligatory
- refactoring is a consequence of the change requests of the customer and it isn't discouraged.
Am I wrong with my understanding of either concept?