Гибкая разработка программного обеспечения (англ. Agile software development) - это класс методологий разработки программного обеспечения, базирующаяся на итеративный разработке, в которой требования и развязки эволюционируют через сотрудничество между самоорганизованными многофункциональными командами.
Термин появился в 2001 году, когда был написан Манифест гибкой разработки.
Большинство гибких методологий нацелены на минимизацию рисков, путем сведения разработки к серии коротких циклов, называемых итераций, которые обычно длятся одну-две недели. Каждая итерация сама по себе выглядит как программный проект в миниатюре, и включает все задачи, необходимые для выдачи минимального прироста по функциональности: планирование, анализ требований, проектирование, кодирование, тестирование и документирование. Хотя отдельная итерация, как правило, недостаточна для выпуска новой версии продукта, подразумевается то, что гибкий программный проект готов к выпуску в конце каждой итерации. По окончании каждой итерации, команда выполняет переоценку приоритетов разработки.
Agile акцентирует внимание на непосредственном общении «лицом к лицу». Большинство agile команд расположены в одном офисе его иногда называют bullpen. Как минимум она включает и «заказчиков» (заказчики, которые определяют продукт, также это могут быть менеджеры продукта, бизнес аналитики или клиенты). Офис может также включать тестировщиков, дизайнеров интерфейса, технических авторов и менеджеров.
Основной метрикой agile методов является рабочий продукт. Предпочитая непосредственному общению agile методы уменьшают объем письменной документации по сравнению с другими методами. Это привело к критике этих методов как не дисциплинированных.