A significant factor is tooling used by the team and the proficiency with which developers use the tools. The concept of refactoring was originally developed in the Smalltalk context, and there were a number of tools developed to support this activity:
- a Refactoring browser (part of the Smalltalk IDE) which automates certain low-level refactoring jobs, such as moving methods and instance variables up and down the class hierarchy,
- a rewrite tool which performs search and replace operations on syntactic entities, enabling more complex refactorings,
- and last but not least a unit test framework (I'm not sure whether this was developed in conjunction with the other tools) as unit testing is an important factor in ensuring that refactoring did not damage the semantics of the code.
Modern IDEs often have similar tools, but of course these are only applicable to supported languages. I'm not sure whether there are proper tools to refactor COBOL, FORTRAN or PL/I code, so the use of older languages may be a limiting factor for the feasibility of refactoring.