Что такое Agile разработка?
Agile Manifesto выбрали «Agile» в качестве ярлыка для всей этой идеи, потому что это слово представляло адаптивность и реакцию на изменения, которые были так важны для их подхода.
Если не вдаваться в технические детали, то Agile — это не методология, а собирательное название различных методик и подходов к управлению, которые:
- Фокусируют команду на нуждах и целях клиентов.
- Упрощают оргструктуру и процессы.
- Предлагают работу короткими циклами.
- Активно используют обратную связь.
- Предполагают повышение полномочий сотрудников.
- Имеют в своей основе гуманистический подход.
- Не являются конечным состоянием, а, скорее, образом мышления и жизни.
Agile-методы или Agile-процессы обычно способствуют процессу управления проектами, который поощряет философию лидерства, которая поощряет командную работу, самоорганизацию и подотчетность. Гибкая разработка относится к любому процессу разработки, который согласуется с концепциями Agile Manifesto.
Agile Manifesto содержит 4 основные идеи и 12 принципов. Примечательно, что Agile Manifesto не содержит практических советов.
Основные идеи:
- люди и взаимодействие важнее процессов и инструментов;
- работающий продукт важнее исчерпывающей документации;
- сотрудничество с заказчиком важнее согласования условий контракта;
- готовность к изменениям важнее следования первоначальному плану.
Принципы, которые разъясняет Agile Manifesto:
- удовлетворение клиента за счёт ранней и бесперебойной поставки ценного программного обеспечения;
- приветствие изменений требований даже в конце разработки (это может повысить конкурентоспособность полученного продукта);
- частая поставка рабочего программного обеспечения (каждый месяц или неделю или ещё чаще);
- тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;
- проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;
- рекомендуемый метод передачи информации — личный разговор (лицом к лицу);
- работающее программное обеспечение — лучший измеритель прогресса;
- спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределённый срок;
- постоянное внимание улучшению технического мастерства и удобному дизайну;
- простота — искусство не делать лишней работы;
- лучшие технические требования, дизайн и архитектура получаются у самоорганизованной команды;
- постоянная адаптация к изменяющимся обстоятельствам. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.
Agile Development — одно из ключевых слов в индустрии разработки программного обеспечения, которое представляет собой способ управления проектами разработки программного обеспечения. Вместо конкретного метода разработки программного обеспечения, это общий термин для набора методов и практик, основанных на ценностях и принципах, выраженных в Agile Manifesto.