Agile methodologies promise increased customer satisfaction, lower defect rates, faster development times, and a solution to rapidly changing requirements. Agile methods are highly iterative in nature – meaning that partial working product is delivered to customers often. Iteration is a prudent risk mitigation strategy because the partial deliverables uncover risks while there is still time to alleviate them. Plan-driven approaches promise predictability, stability, and high assurance. It’s all about picking the right model for the job depending upon the most important consideration of the project.