Agile 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, and Feature-Driven Development. Mendix, in particular, subscribes to the Scrum methodology.
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, continuous testing, continuous integration, and other forms of continuous development of both the project and the application resulting from the Agile framework.
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.
Here are 12 Principles ::
Twelve Principles behind the Agile Manifesto helps to make clear what it is to be Agile Software Development:
Agile first priority is to fulfill the customer need from beginning to end and continuous improvement to ad into valuable software.
Agile allow change in requirements in the late in the development as well.
Agile works on delivering software regularly interval i.e. from couple of weeks to couple of month based on project.
Close, daily cooperation between business people and developers throughout the project.
Key point is to trust, support and motivate individuals to get it projects build on time.
Daily face-to-face conversation is key point in agile testing. This is most efficient & effective way of communication.
Measuring progress by the amount of completed work.
Continually seeking excellence
Harnessing change for competitive advantage
Simplicity
Self-organizing team come out with best architectures, requirements, and designs.
Regular adaptation to changing circumstances with more effective way.