Agile — это набор ценностей и принципов разработки программного обеспечения, в котором особое внимание уделяется гибкости, совместной работе и быстрой итерации. Он основан на Agile Manifesto, наборе руководящих ценностей и принципов разработки программного обеспечения, впервые сформулированных в 2001 году.

Манифест Agile состоит из четырех основных ценностей:

  1. Люди и взаимодействия важнее процессов и инструментов: Agile подчеркивает важность людей и их взаимодействий, а не полагается на жесткие процессы и инструменты. Это позволяет командам адаптироваться к изменениям и быстрее реагировать на отзывы.
  2. Рабочее программное обеспечение важнее исчерпывающей документации: Agile отдает приоритет поставке работающего программного обеспечения, а не созданию обширной документации. Это позволяет командам сосредоточиться на предоставлении ценности пользователям, а не увязнуть в бумажной работе.
  3. Сотрудничество с клиентами вместо переговоров по контракту: Agile поощряет сотрудничество с клиентами, а не полагается на фиксированные контракты и спецификации. Это позволяет командам собирать отзывы и быстрее дорабатывать свой продукт.
  4. Реагирование на изменения вместо следования плану: Agile признает, что изменения неизбежны, и поощряет команды быть гибкими и адаптируемыми перед лицом меняющихся требований.

Agile также состоит из набора из 12 принципов, которые дают рекомендации о том, как применять ценности Agile Manifesto на практике:

  1. Нашим наивысшим приоритетом является удовлетворение потребностей клиентов за счет своевременной и непрерывной поставки ценного программного обеспечения.
  2. Приветствуйте меняющиеся требования, даже на поздних стадиях разработки. Гибкие процессы используют изменения для конкурентного преимущества клиента.
  3. Доставляйте работающее программное обеспечение часто, от пары недель до пары месяцев, отдавая предпочтение более коротким временным рамкам.
  4. Деловые люди и разработчики должны работать вместе
  5. Создавайте проекты вокруг мотивированных людей. Обеспечьте им необходимые условия и поддержку и доверьте им выполнение работы.
  6. Самый эффективный и действенный метод передачи информации команде разработчиков и внутри нее — беседа лицом к лицу.
  7. Работающее программное обеспечение является основным мерилом прогресса.
  8. Гибкие процессы способствуют устойчивому развитию. Спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределенный срок.
  9. Постоянное внимание к техническому совершенству и хорошему дизайну повышает маневренность.
  10. Простота — искусство максимизировать количество невыполненной работы — имеет важное значение.
  11. Лучшие архитектуры, требования и проекты создаются самоорганизующимися командами.
  12. Через регулярные промежутки времени команда размышляет о том, как стать более эффективной, а затем соответствующим образом настраивает и корректирует свое поведение.

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

Я надеюсь, что эта информация поможет прояснить принципы и ценности гибкой разработки программного обеспечения. Пожалуйста, дайте мне знать, если у вас возникнут дополнительные вопросы.