Agile softwaredevelopment comprises a set of management practices and values based on customer focus achieved through iterative and incrementaldevelopment, and where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams and their customers.