An Agile framework is an umbrella term for several iterative and incremental software development approaches with each of those variations being its own Agile framework. The most popular Agile frameworks include Scrum, Crystal, Dynamic Systems Development Method, Feature-Driven Development, and Kanban. While each Agile methodology type has its own unique qualities, they all incorporate elements of iterative development and continuous feedback when creating an application. Any Agile development project involves continuous planning, testing, integration, and other forms of continuous development of both the project and the application resulting from the Agile framework.
It is believed that Agile is a set of ideals and principles, a mindset that allows us to think about the work we do in new ways, beyond just project management. The Agile framework promotes the importance of customer satisfaction, collaboration, communication, teamwork, good quality and planned follow-up practices.
Each Agile framework is considered lightweight. Rules and practices are kept to a minimum, especially when compared to traditional waterfall-style development processes, and are designed to be adaptable to all kinds of circumstances. The focus, instead, falls on empowering developers of all kinds to collaborate and make decisions together as a group quickly and effectively. The grand vision behind the Agile development methodology is to create applications in small increments, with each individual increment tested before it is considered complete. This process assures quality is “built” into the product, versus inspecting for quality later.
Agile promotes a highly iterative process for application development, with multiple development cycles . Agile is designed in a way so all parties can provide feedback as software is developed in an efficient and effective manner (Mendix, 2020).