It is a group of methods of software development in which the requirements and solutions can evolve based on the work of cross-functional teams.