Agile works well for projects that have:
- A low cost of change
- Problems that are discovered along the way.
- Informally specified goals, that could alter.
A more traditional approach might be a better option when:
- The cost of change is high.
- The complete set of problems are known up-front.
- The goals are very specific and fully understood from the start.