The adaptive life cycle (C) is recommended for a rapidly changing environment. It divides a project into small iterations so requirements can be changed between iterations as needed. Customers can request changes to requirements that have not been implemented yet. This allows the project scope and requirements to adapt more easily to changes than predictive or iterative life cycles for environments where requirements are difficult to define upfront.