Effective business processes must be able to accommodate changes in the environment in which they operate, e.g., new laws, changes in business strategy. The ability to encompass such changes is termed process flexibility. In this paper, we take a deeper look into the various ways in which flexibility can be achieved and propose a comprehensive taxonomy of these methods which identifies both the manner in which each of them is facilitated, and also the various configuration options and alternatives that exist in each case. This taxonomy is subsequently used to evaluate a selection of process-aware information systems and identify their potential to deploy flexible business processes.