Agile software development is a set of software development Processes based on iterative and incremental development, where requirements and Development evolve through collaboration between Agile Teams which are self-organizing, cross-functional teams. Agile software Development promotes adaptive planning, evolutionary development, and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change.
Agile is based on the below principles mentioned in Agile Manifesto.
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan