Agile-разработка программного обеспечения - это методология разработки программного обеспечения, которая фокусируется на быстром предоставлении инкрементальных разработок, подчеркивая сотрудничество между разработчиками и заинтересованными сторонами. Она основана на итеративном и инкрементальном подходе, в котором ценятся обратная связь, коммуникация и сотрудничество в команде. Методология agile была создана группой разработчиков программного обеспечения в 2001 году в качестве альтернативы традиционным методологиям разработки программного обеспечения, которые в значительной степени опираются на объемные документы и трудоемкие процессы.
Agile-разработка программного обеспечения признает, что разработка программного обеспечения является высокодинамичным процессом и, как таковая, требует постоянной адаптации к постоянно меняющимся потребностям заинтересованных сторон и рынка. Она поощряет итеративный подход, который основан на корректировке плана разработки после каждой итерации и его постоянном совершенствовании для достижения наилучшего результата. Позволяя вносить изменения в течение жизненного цикла разработки программного обеспечения, гибкая разработка программного обеспечения обеспечивает большую гибкость и более быструю реакцию на изменения.
Основными столпами гибкой разработки программного обеспечения являются заказчики, заинтересованные стороны и разработчики. Заинтересованные стороны должны быть вовлечены в процесс и предоставлять обратную связь с самого начала разработки, в то время как заказчики должны иметь приоритет, поскольку именно они принимают окончательные решения. Разработчики должны участвовать на каждом этапе процесса, чтобы убедиться, что написанный код максимально надежен, а выпущенный продукт отвечает всем требованиям.
Agile разработка программного обеспечения поощряет итеративный подход, при котором разработчики фокусируются на предоставлении небольших фрагментов возможностей в течение всего жизненного цикла разработки. Это позволяет быстрее реагировать на отзывы клиентов и повышает эффективность разработки. Обеспечение качества является важной частью Agile, при этом автоматизированные тесты и программное обеспечение для отслеживания ошибок интегрированы в процесс разработки.
По своей природе разработка программного обеспечения Agile никогда не завершается. Программное обеспечение постоянно развивается и совершенствуется с каждой итерацией. Это позволяет разработчикам сосредоточиться на создании наилучшего программного продукта в кратчайшие сроки. Это также позволяет заинтересованным сторонам быть вовлеченными в процесс и поддерживать высокий уровень обратной связи с клиентами, что приводит к успешному запуску продукта.