Agile is an iterative approach that incrementally builds a product from the start instead of delivering it all at once near the end like the Waterfall process. The Waterfall process has several drawbacks for complex or long-term projects with unstable requirements, including not producing working software until the end and being difficult to adjust scope or accommodate changes. People shift to Agile because it better manages uncertainty, improves quality, focuses on business value and users, engages stakeholders, provides transparency, allows for early and predictable delivery, and allows for changes with predictable costs and schedules. An Agile team is composed of cross-functional members.