Основные принципы Agile отражены в специальном манифесте, который был принят в феврале 2001 г. Agile Manifesto содержит четыре основные идеи и 12 принципов[3].
Наивысшим приоритетом для нас является удовлетворение потребностей заказчика благодаря регулярной и ранней поставке ценного программного обеспечения.
Изменение требований приветствуется даже на поздних стадиях разработки.
Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества.
Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.
На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им.
Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри нее.
Работающий продукт — основной показатель прогресса.
Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки.
Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
Простота — искусство минимизации лишней работы — крайне необходима.
Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.
Как видите, почти во всем принципы Agile полностью соответствуют тому, чему нас учит и классическая методология: вовлекать заказчика; частые результаты поставки лучше крупных разовых; самое важное — команда и ее мотивация. Обо всем этом мы уже говорили на страницах нашей книги. Давайте еще больше углубимся и посмотрим детальнее на Scrum, Kanban, XP и Lean.