Agile

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

http://agilemanifesto.org/iso/ru/ — Agile манифест

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

Принципы:

1) удовлетворение клиента за счёт ранней и бесперебойной поставки ценного программного обеспечения;
2) приветствие изменений требований даже в конце разработки (это может повысить конкурентоспособность полученного продукта);
3) частая поставка рабочего программного обеспечения (каждый месяц или неделю или ещё чаще);
4) тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;
5) проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;
6) рекомендуемый метод передачи информации — личный разговор (лицом к лицу);
7) работающее программное обеспечение — лучший измеритель прогресса;
8)спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределённый срок;
9) постоянное внимание улучшению технического мастерства и удобному дизайну;
10) простота — искусство не делать лишней работы;
11) лучшие технические требования, дизайн и архитектура получаются у самоорганизованной команды;
12) постоянная адаптация к изменяющимся обстоятельствам.