Agile software development is a group of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change. The Manifesto for Agile Software Development, also known as the Agile Manifesto, which first laid out the underlying concepts of agile development, introduced the term in 2001.