When would you recommend against the use of an agile method for developing a software system?

Agile method should not be used when the software is being developed by teams who are not co-located. If any of these teams use agile method, it is very difficult to co-ordinate their work with other teams. Different teams develop different parts of a same software, so they need to co-ordinate with each other.

Agile method should probability also be avoided for critical systems where the consequences of a specification error are serious. Because we Know that agile prefer working software over comprehensive documentation. But in those circumstances, a system specification that is available before development starts makes a detailed specification analysis possible.