Agile Manifesto
Манифест гибкой разработки программного обеспечения (англ. Agile Manifesto) — основной документ, содержащий описание ценностей и принципов гибкой разработки программного обеспечения, разработанный в феврале 2001 года[1] на встрече 17 независимых практиков нескольких методик программирования, именующих себя «Agile Alliance»[2].
Текст манифеста доступен на более чем 50 языках (в т. ч. на русском), и включает в себя 4 ценности и 12 принципов.
Общие сведения
| Agile Manifesto | |
|---|---|
| Автор | Кент Бек, Каннингем, Уорд, Майк Бидл[d], Ари ван Беннекум[d], Алистер Кокберн[d], Мартин Фаулер, Джим Хайсмит[d], Энди Хант[d], Рон Джеффрис[d], Брайан Марик[d], Мартин, Роберт, Кен Швабер[d], Джефф Сазерленд и Дэйв Томас |
| Доступен по URL | agilemanifesto.org |
История
Agile-манифест был опубликован 13 февраля 2001 года, став результатом встречи 11-13 февраля на горнолыжном курорте в штате Юта 17-и представителей различных концепций разработки программного обеспечения. Среди этой группы авторов, называвшей себя «Agile Alliance» и подписавших манифест, были: Майк Биддл, Кент Бек, Алистер Кокбёрн, Уорд Каннингем, Мартин Фаулер, Джим Хайсмит, Энди Хант, Рон Джеффрис, Роберт Мартин, Стивен Дж. Меллор, Кен Швабер, Джефф Сазерленд, Дейв Томас и другие[1].
Ценности
- Люди и взаимодействие важнее процессов и инструментов.
- Работающий продукт важнее исчерпывающей документации.
- Сотрудничество с заказчиком важнее согласования условий контракта.
- Готовность к изменениям важнее следования первоначальному плану.
Таким образом, не отрицая важности того, что справа, мы всё-таки больше ценим то, что слева.
Основные принципы
- Наивысшим приоритетом для нас является удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения.
- Изменение требований приветствуется даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества.
- Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.
- На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
- Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им.
- Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды.
- Работающий продукт — основной показатель прогресса.
- Инвесторы, разработчики и пользователи должны иметь возможность поддерживать текущий темп бесконечно. Agile помогает наладить такой устойчивый процесс разработки.
- Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
- Простота — искусство минимизации лишней работы — крайне необходима.
- Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.
- Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы[3].