Agile Methodology is a practice that promotes continuous iteration of development and testing throughout the software development lifecycle. As shown in the Agile Methodology diagram, it is one of the most effective processes to turn a vision for business needs into software solutions. Agile Methodology is used to describe software development approaches that employ continual planning, learning, improvement, team collaboration, evolutionary development, and early delivery. In Agile Methodology, the end-user has early and frequent opportunities to look at the business product and make decisions and changes to the project. Unlike the Waterfall model, Agile methodology is considered unstructured compared to the waterfall model as it is broken into individual models that designers and developers work on.