Agile — это набор ценностей и принципов разработки программного обеспечения, в котором особое внимание уделяется гибкости, совместной работе и быстрой итерации. Он основан на Agile Manifesto, наборе руководящих ценностей и принципов разработки программного обеспечения, впервые сформулированных в 2001 году.
Манифест Agile состоит из четырех основных ценностей:
- Люди и взаимодействия важнее процессов и инструментов: Agile подчеркивает важность людей и их взаимодействий, а не полагается на жесткие процессы и инструменты. Это позволяет командам адаптироваться к изменениям и быстрее реагировать на отзывы.
- Рабочее программное обеспечение важнее исчерпывающей документации: Agile отдает приоритет поставке работающего программного обеспечения, а не созданию обширной документации. Это позволяет командам сосредоточиться на предоставлении ценности пользователям, а не увязнуть в бумажной работе.
- Сотрудничество с клиентами вместо переговоров по контракту: Agile поощряет сотрудничество с клиентами, а не полагается на фиксированные контракты и спецификации. Это позволяет командам собирать отзывы и быстрее дорабатывать свой продукт.
- Реагирование на изменения вместо следования плану: Agile признает, что изменения неизбежны, и поощряет команды быть гибкими и адаптируемыми перед лицом меняющихся требований.
Agile также состоит из набора из 12 принципов, которые дают рекомендации о том, как применять ценности Agile Manifesto на практике:
- Нашим наивысшим приоритетом является удовлетворение потребностей клиентов за счет своевременной и непрерывной поставки ценного программного обеспечения.
- Приветствуйте меняющиеся требования, даже на поздних стадиях разработки. Гибкие процессы используют изменения для конкурентного преимущества клиента.
- Доставляйте работающее программное обеспечение часто, от пары недель до пары месяцев, отдавая предпочтение более коротким временным рамкам.
- Деловые люди и разработчики должны работать вместе
- Создавайте проекты вокруг мотивированных людей. Обеспечьте им необходимые условия и поддержку и доверьте им выполнение работы.
- Самый эффективный и действенный метод передачи информации команде разработчиков и внутри нее — беседа лицом к лицу.
- Работающее программное обеспечение является основным мерилом прогресса.
- Гибкие процессы способствуют устойчивому развитию. Спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределенный срок.
- Постоянное внимание к техническому совершенству и хорошему дизайну повышает маневренность.
- Простота — искусство максимизировать количество невыполненной работы — имеет важное значение.
- Лучшие архитектуры, требования и проекты создаются самоорганизующимися командами.
- Через регулярные промежутки времени команда размышляет о том, как стать более эффективной, а затем соответствующим образом настраивает и корректирует свое поведение.
Эти принципы дают руководство о том, как применять ценности Agile Manifesto на практике. Agile-команды стремятся часто поставлять работающее программное обеспечение, приветствуют меняющиеся требования и сотрудничают с клиентами и заинтересованными сторонами. Они также отдают приоритет простоте, техническому совершенству и самоорганизации и регулярно размышляют о своей эффективности.
Я надеюсь, что эта информация поможет прояснить принципы и ценности гибкой разработки программного обеспечения. Пожалуйста, дайте мне знать, если у вас возникнут дополнительные вопросы.