Agile в переводе с английского языка означает «живой» или «подвижный», но чаще всего его переводят как «гибкий», в связи с чем такое название присвоили методологии управления проектами.
Agile – это подход к разработке программного обеспечения, появившийся в 1990-е годы в качестве реакции на засилье бюрократии, а также частных методов, создаваемых каждый раз заново «под конкретную задачу»
Agile – это не просто процесс разработки, некоторые принципы, которые постулируются, это люди, их взаимодействие, которое важнее, чем точное исследование процессов и следование им с использованием конкретных инструментов.
История создания методологии Agile начинается с далеких 70-х годов прошлого века. Именно в 1970 году американский ученый Уинстон Ройс, разрабатывающий программное обеспечение, составил документ «Управление развитием крупных программных систем». В данном документе он раскритиковал метод последовательной разработки, объясняя то, что создание ПО не должно разрабатываться по методу сборочной линии от одного этапа к другому.
Вместо того, чтобы сидеть и ждать, когда продукт пройдет через все этапы разработки, Ройс предложил фазовую систему, которая способна упростить сложные и трудоемкие процессы проектирования. Согласно его предложению первым делом собирается вся информация и требования по проектам, далее разрабатывается вся архитектура, создается дизайн, пишется код и так далее.
На основе его идеи в 90-х годах получилось создать комплекс гибких методов, с помощью которых весь процесс разработки ПО можно сделать менее сложным и трудоемким. Происходило это в следующем порядке:
- в 1991 году появился метод быстрой разработки приложений RAD;
- в 1994 году появился метод разработки динамических систем DSDM;
- в 1995 году появилась платформа (фреймворк) гибкой разработки Scrum;
- в 1996 году появилась гибкая методология разработки Crystal Clear, а также экстремальное программирование XP;
- в 1997 году появилась итеративная методология разработки ПО FDD.
Спустя четыре года, 13 февраля 2001 г., в США, штате Юта собрались семнадцать разработчиков программного обеспечения и, обсудив данные методы управления, опубликовали «Манифест о гибкой разработке программного обеспечения Agile».
Самый часто встречаемый вопрос при первом знакомстве с идеями методологии Agile – это «работает ли данная методология только при разработке ПО или данный подход можно применять и в другой области?» Естественно, первоначально данный манифест писался именно под IT-сферу для улучшения процесса разработки программного продукта. Но сами принципы методологии довольно просты и универсальны, следовательно для их применения достаточно в тексте манифеста изменить выражение «работающее программное обеспечение» на «работающие продукты».
К выходу Agile-манифеста, в 2001 году, уже было накоплено достаточное количество знаний и подходов к управлению разработками, следуя из которых можно выделить четыре основные ценности:
- люди и взаимодействия важнее любых процессов и инструментов;
- работающий продукт важнее документации;
- сотрудничество с заказчиком важнее, чем согласование контрактов;
- быть готовым к изменениям важнее, чем придерживаться первоначального плана.
Приведем конкретные 12 принципов разработанного манифеста:
1. Наивысший приоритет – удовлетворение потребностей заказчика с помощью регулярной и ранней поставки ценного продукта.
2. Изменение требований приветствуется даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества.
3. Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.
4. На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
5. Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им.
6. Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри нее.
7. Работающий продукт – основной показатель прогресса.
8. Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки.
9. Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
10. Простота как искусство минимизации лишней работы крайне необходима.
11. Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.
12. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.
В данной статье был рассмотрен непосредственно старт данной методологии и ее принципы. В следующих статьях мы подробнее рассмотрим, какие же инструменты применяют при использовании Agile.
Да, за рубежом данная методология уже достаточно популярна. Однако в России она применяется относительно недавно и еще значительное количество людей об Agile еще ничего не слышало. А зря, она еще даст фору жестким моделям управления с многочисленной документацией и бесконечными планами!
Если данная статья показалась Вам интересной, можете поставить палец вверх и подписаться на канал! Также можете оставить комментарий, где мы сможем обсудить что-то, что в данной статье было упущено.
Думаю, я еще смогу удивить Вас! До скорых встреч!🤗