Гибкая разработка программного обеспечения - это набор методологий, используемых для управления командами разработчиков. Он выступает за адаптивное планирование, эволюционную разработку, быстрые результаты и постоянное совершенствование, а также способствует быстрому и гибкому реагированию на изменения. Люди и коммуникация считаются более важными, чем инструменты и процессы.
Для методологий Agile свойственна ориентация на отзывы конечных пользователей и частая демонстрация демо-версий продукта. Методологии Agile являются полностью противоположным подходом к модели «Водопад». В модели «Водопад» бюджет и сроки реализации продукта определяются до начала разработки.
Agile подчеркивает, спрашивая конечных пользователей, что они хотят, и часто демонстрирует им демонстрации продукта по мере его разработки. Это, в отличие от подхода «Водопад», разработки, основанного на спецификации, и того, что специалисты Agile называют «Big Up-Front Design». В этих подходах функции планируются и предусматриваются в бюджете до начала разработки.