Сразу итог для тех, кому очень надо
AGILE — cупер-софтовая история методология, которая по сути доносит, как подходить к адаптации и изменениям в процессе разработки решений, динамично подстраиваться и рационально управлять проектами. Тут тебе и саморегуляция, и гибкость, и адаптивность, и упрощение, стимуляция эффективного взаимодействия и постоянное самосовершенствование. Очень на руку большим и малым командам, потому что с Agile все супер-логично и прозрачно складывается в здоровый рабочий процесс.
Что за штука этот ваш Agile
Теперь с самого начала.
Agile – подход к управлению проектами, методология, позволяющая командам гибко адаптироваться к изменениям и быстро поставлять ценность пользователям не ломаясь на управлении огромным количеством процессов и задач разных команд.
Основана на одноименномAgile Manifesto. Фактически это философия и принципы взаимодействия с клиентом, проектом и задачами для подготовки к его реализации, самой реализации и работы постфактум.
А что за манифест?
Манифест Agile — 4 основные ценности и 12 принципов, сформулированные и утвержденные в феврале 2001 году группой авторитетных разработчиков программного обеспечения, стремившихся найти более эффективные способы работы. Он стал основой для Agile-методологий и определил основные ценности и принципы, которые легли в основу Agile.
То есть говоря про Agile, понимаем сперва, нам про методологию, построенную на принципах манифеста говорят или про сам манифест и философию.
Очень официально вышло. Разбавим официоз.
Жизненный опыт подсказывается, что по факту собрались умные мужики и решили, что хватит работать матюки, сбиваясь и пытаясь контролировать неконтролируемое, сели и придумали как сделать так, чтобы всем было зашибись. По ссылке ниже сам Манифест, официальный сайт. Тот случай, когда начинка так глубока и ценна, что можно не трогать визуал 23 года и нормально.
Авторы манифеста
Манифест Agile был подписан в 2001 году 17 разработчиками программного обеспечения, которые собрались на ретрит в Snowbird в Юта, чтобы создать альтернативу существующим методологиям с акцентом на взаимодействии, гибкости и удовлетворении потребностей клиентов.
Среди авторов:
Mike Beaty — практик Agile, участвующий в разработке программного обеспечения.
Alistair Cockburn — специалист по Agile и методологии разработки программного обеспечения. (Шотладская фамилия, читать как Коуберн)
Martin Fowler — автор и лектор, известный своими работами в области Agile и архитектуры программного обеспечения.
И, конечно, Ken Schwaber и Jeff Sutherland — одни из создателей Scrum, активно продвигающие идеи Agile и Scrum; люди, внесшие значительный вклад во всю эту тему. Собственно, без них бы кто-то может это и придумал бы, но скорее всего не так скоро и круто, как они сами.
Вот тут можно глянуть на них вживую.
Waterfall -> Scrum + Agile
По сути принципы AGILE и основанная на них методика стала своего рода софт-скилловой обложкой для SCRUM — созданного в 1990х воркфрейма, возникшего в ответ на недостатки менее гибких традиционных подходов к работе, например, Waterfall (1970). Он и новый игрок Scrum развивались параллельно, однако последний предлагал более гибкий и адаптивный подход к управлению проектами, особенно в условиях неопределенности и изменений. Но они были скорее техничными, поэтому потребовалась философия управления всеми этими наработками.
Agile, в отличие от Waterfall, предполагает итеративный и гибкий процесс. Разработка идёт небольшими циклами (итерациями или спринтами), что позволяет вносить изменения в процессе и быстро адаптироваться к новым требованиям. Agile больше ориентирован на сотрудничество, частые поставки и отклик на изменения.
Основной идеей Scrum было создание фреймворка, который позволял бы командам адаптироваться к изменениям и быстрее реагировать на требования клиентов. Это подход стал ответом на проблемы, возникающие в линейных методах, таких как Waterfall, где изменения на поздних стадиях разработки могут быть сложными и дорогостоящими.
Авторы никого не заставляли, ни к чему не принуждали. Они просто сделали общедоступным результат своего умственного труда и своими подписями под сформированным в манифест трудом буквально сказали: «Ребят, вы как знаете, но мы, матерые разрабы, решили делать теперь так, рекомендуем, а там как хотите». И все захотели.
После создания Манифеста Agile новые методологии и практики начали набирать популярность, в том числе и сам Scrum. Они стали широко применяться в разработке программного обеспечения, а Agile подходы стали внедряться в другие области — в управление проектами и организационное развитие. Часто даже в отрыве от всей методологии, частично, просто как пример того, как можно софтово подходить к решению сиюминутных или более масштабных задач.
4 главных ценности согласно Agile Manifesto
1. Люди и взаимодействие важнее процессов и инструментов.
Пример: Важно уделять внимание качественной коммуникации между членами команды, чтобы решать проблемы по мере их возникновения, вместо того чтобы слишком полагаться на процессные инструкции.
2. Рабочий продукт важнее исчерпывающей документации.
Пример: В проекте по разработке мобильного приложения для бронирования билетов акцент делается на создание прототипов и пользовательских интерфейсов, которые можно тестировать, а не на детализированные требования в документах.
3. Сотрудничество с заказчиком важнее согласования условий контракта.
Пример: Команда постоянно взаимодействует с клиентом, чтобы быстро адаптироваться к его потребностям и изменяющимся бизнес-условиям, вместо того чтобы строго придерживаться заранее утверждённого договора.
4. Готовность к изменениям важнее следования первоначальному плану.
Пример: Если клиенту в середине проекта понадобилась новая функция, Agile-команда гибко перестраивает приоритеты, чтобы включить её в следующий спринт, даже если первоначально её не было в планах.
12 принципов согласно Agile Manifesto
-
Удовлетворение потребностей клиента
Принцип: Наша высшая приоритет — удовлетворить клиента путем ранней и непрерывной поставки ценного программного обеспечения. - Принятие изменений
Принцип: Приветствуем изменения требований, даже на поздних стадиях разработки. Agile-процессы используют изменения для достижения конкурентного преимущества клиента. - Частая реализация наработок
Принцип: Поставляйте обновление программного обеспечения часто, от нескольких недель до нескольких месяцев, с предпочтением в сторону более коротких сроков. - Сотрудничество
Принцип: Бизнесоунеры и разработчики должны ежедневно работать вместе на протяжении всего проекта. - Мотивация команды
Принцип: Стройте проекты вокруг мотивированных людей. Дайте им необходимую среду и поддержку, и доверьтесь им, чтобы они выполняли свою работу. - Личное взаимодействие
Принцип: Самый эффективный и действенный способ передачи информации внутри команды разработки — это лицом к лицу. - Рабочее программное обеспечение
Принцип: Рабочее программное обеспечение является основным показателем прогресса. - Устойчивое развитие
Принцип: Agile-процессы способствуют устойчивому развитию. Спонсоры, разработчики и пользователи должны быть в состоянии поддерживать постоянный темп бесконечно. - Постоянное внимание к качеству
Принцип: Постоянное внимание к техническому совершенству и хорошему дизайну повышает гибкость. - Простота
Принцип: Простота как искусство минимизации лишней работы — необходима. - Самоорганизация
Принцип: Лучшие архитектуры, требования и дизайны возникают из самоорганизующихся команд. - Регулярная переоценка
Принцип: Регулярно проводите рефлексию команды о том, как стать более эффективными, затем подстраивайтесь и корректируйте свое поведение соответственно.
И как с этим работать?
Существует множество фреймворков и подходов для реализации Agile со своими особенностями для различных контекстов. Сам SCRUM, а еще Kanban (да-да, те самые досочки для отслеживания прогресса работы, визуализации рабоего процесса и ограничения количества задач в работе). Используется их микс — ScrumBan. А еще ретроспектива, бэклог, оценки рисков, спринтовый подход. Будет о чем поговорить, в общем.
Есть даже Scaled Agile Framework (SAFe) — фреймворк, который помогает масштабировать Agile-подходы до уровня крупной организации и предлагает структурированные подходы к планированию и управлению. Но это уже нужно крупным фирмам, а мы можем просто руководствоваться 4 ценностями и приницпами в своей работе, как есть, на будничной основе.
Тут должен быть итог, но его вы все уже прочли в начале.
Остается, разве что, дополнить все это словами о том, что крутые софты могут спровоцировать колоссальные изменения в любой сфере и сделать устаревающие форкфреймы живучими настолько, что они консервируются и обретают мало не бессмертие, как это произошло со SCRUM.
Главное — не забывать, что все это не просто набор действий, а способ мышления, живой и гибкий.