Agile

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

Основные идеи:

  • люди и взаимодействие важнее процессов и инструментов;
  • работающий продукт важнее исчерпывающей документации;
  • сотрудничество с заказчиком важнее согласования условий контракта;
  • готовность к изменениям важнее следования первоначальному плану.

Принципы:

  • удовлетворение клиента за счёт ранней и бесперебойной поставки ценного программного обеспечения;
  • приветствие изменений требований даже в конце разработки (это может повысить конкурентоспособность полученного продукта);
  • частая поставка рабочего программного обеспечения (каждый месяц или неделю или ещё чаще);
  • тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;
  • проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;
  • рекомендуемый метод передачи информации — личный разговор (лицом к лицу);
  • работающее программное обеспечение — лучший измеритель прогресса;
  • спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределённый срок;
  • постоянное внимание улучшению технического мастерства и удобному дизайну;
  • простота — искусство не делать лишней работы;
  • лучшие технические требования, дизайн и архитектура получаются у самоорганизованной команды;
  • постоянная адаптация к изменяющимся обстоятельствам. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.