Что такое Agile

164

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

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

Agile-подход: что это такое в менеджменте, как применять методологию в  управлении проектами и в жизни
Источник изображения: sky.pro

Основы Agile

При использовании традиционного каскадного подхода к разработке один специалист заканчивает работу над проектом и передает эстафету следующему, самоустраняясь от участия в дальнейшем процессе. В отличие от этой модели, agile предполагает активное взаимодействие между участниками многофункциональных команд. В основе agile лежат открытое общение, совместная работа, адаптация и доверительные отношения между участниками команды. Хотя обычно за расстановку приоритетов между поставляемыми функциями отвечает руководитель проекта или владелец продукта, то, как будет выполняться работа, решает команда. Она самостоятельно выбирает, какие части работы выполнить и как разделить обязанности между участниками.

В первой версии Манифеста agile не были закреплены двухнедельные итерации или оптимальный размер команды. В нем просто были перечислены основные ценности, в центре которых были люди.

Что такое Agile простыми словами? | Университет СИНЕРГИЯ
Источник изображения: synergy.ru

Преимущества Agile

Команды переходят на agile, чтобы быстро реагировать на изменения на рынке или отзывы клиентов и не нарушать планы, составленные на год вперед. Команда, которая осуществляет планирование по принципу достаточности и поставляет продукт часто и небольшими «порциями», может получить отзывы об изменениях и учесть их при составлении будущих планов без лишних затрат.

Дело не только в показателях. Главное — это люди. Согласно Манифесту Agile, естественное человеческое отношение при взаимодействии важнее неукоснительного следования инструкциям. Сотрудничество с клиентами и коллегами важнее стандартных договоренностей. А решение проблемы клиента важнее проработанной до мелочей документации.

Agile-команда имеет общую цель и достигает ее наиболее эффективным, по ее мнению, способом. Каждая команда устанавливает свои критерии качества, удобства пользования и готовности работы. По ним можно оценить скорость выполнения работы команды. Поначалу руководителей компаний может пугать мысль о том, чтобы доверить agile-команде такую ответственность. Однако со временем они обнаруживают, что это доверие только усиливает чувство ответственности и команда прилагает все усилия для достижения общей цели.

Типы Agile-методологий

Agile - это общее название нескольких методик, объединенных идеей гибкости работы. В эту группу входят разные методы, такие как:

  • Scrum
  • Kanban
  • XP (Extreme Programming)
  • Crystal
Методология Agile: что это, отличия гибкой методологии - преимущества и  принципы системы Agile
Источник изображения: practicum.yandex.ru

Принципы Agile

Agile-подход к разработке строится на нескольких принципах:

  • Предпочтение взаимодействию и общению сотрудников над процессами и инструментами.
  • Предоставление работающего программного продукта вместо подробной документации.
  • Сотрудничество с клиентами вместо заключения договора о переговорах.
  • Готовность к изменениям вместо следования плану.
Что такое Agile разработка?
Источник изображения: indevlab.com

Организация Agile-команды

Работать по методологии Agile значит отказаться от стандартных принципов управления, потому что это не способ руководства, а способ взаимодействия. Команда разработки включает роли, которые берут на себя сотрудники из разных отделов. В сфере IT наиболее необходимые роли в Agile-проекте - это:

  • Product Owner - отвечает за формулировку требований к продукту.
  • Scrum Master - обеспечивает соблюдение Scrum-процесса и устранение препятствий.
  • Разработчики - отвечают за создание и тестирование программного продукта.
  • Тестировщики - проводят тестирование и обеспечивают качество продукта.

При этом даже человек на должности product owner формально не является руководителем, он просто берет на себя ответственность за формулировку требований к продукту: доносит до остальной команды видение того, как должен выглядеть продукт и каким функционалом он должен обладать.

Agile-подход к разработке проектов является гибким и эффективным способом достижения результатов. Он позволяет командам быстро адаптироваться к изменениям и взаимодействовать наиболее эффективным способом. В результате, продукт соответствует требованиям клиентов и ожиданиям рынка. Применение Agile-методологий может быть осуществлено в различных областях, таких как разработка программного обеспечения, управление проектами и другие.

Что нам скажет Википедия?

Гибкие методики разработки (англ. agile software development, agile-разработка) — обобщающий термин для целого ряда подходов и практик, основанных на ценностях Манифеста гибкой разработки программного обеспечения и 12 принципах, лежащих в его основе.

К гибким методикам, в частности, относят экстремальное программирование, DSDM, Scrum, FDD, BDD и другие.

Большинство гибких методик нацелены на минимизацию рисков путём сведения разработки к серии коротких циклов, называемых итерациями, которые обычно длятся две-три недели. Каждая итерация сама по себе выглядит как программный проект в миниатюре и включает все задачи, необходимые для выдачи мини-прироста по функциональности: планирование, анализ требований, проектирование, программирование, тестирование и документирование. Хотя отдельная итерация, как правило, недостаточна для выпуска новой версии продукта, подразумевается, что гибкий программный проект готов к выпуску в конце каждой итерации. По окончании каждой итерации команда выполняет переоценку приоритетов разработки.

Agile-методы делают упор на непосредственном общении лицом к лицу. Большинство agile-команд расположены в одном офисе, иногда называемом англ. bullpen. Как минимум, она включает и «заказчиков» (англ. product owner — заказчик или его полномочный представитель, определяющий требования к продукту; эту роль может выполнять менеджер проекта, бизнес-аналитик или клиент). Офис может также включать тестировщиков, дизайнеров интерфейса, технических писателей и менеджеров.

Основной метрикой agile-методов является рабочий продукт. Отдавая предпочтение непосредственному общению, agile-методы уменьшают объём письменной документации по сравнению с другими методами. Это привело к критике этих методов как недисциплинированных.

В течение 1990-х годов ряд легких методов разработки программного обеспечения развивался в ответ на преобладающие тяжелые методы, которые критики называли чрезмерно регулируемыми, планируемыми и микроуправляемыми. К ним относятся: быстрая разработка приложений (RAD) с 1991 года; унифицированный процесс и метод разработки динамических систем с 1994 года; Scrum, с 1995 года; Crystal Clear и экстремальное программирование (XP), как с 1996 года; и функционально-ориентированная разработка, начиная с 1997 года. Хотя все они возникли до публикации Манифеста гибкой методологии разработки программного обеспечения, теперь они все вместе называются гибкими методами разработки программного обеспечения.

В феврале 2001 года в штате Юта США был выпущен «Манифест гибкой разработки программного обеспечения». Он являлся альтернативой управляемым документацией «тяжеловесным» практикам разработки программного обеспечения, таким как «метод водопада», являвшимся золотым стандартом разработки в то время. Данный манифест был одобрен и подписан представителями методологий: экстремального программирования, Crystal Clear, DSDM, Feature driven development, Scrum, Adaptive software development, Pragmatic Programming. Гибкая методология разработки использовалась многими компаниями и до принятия манифеста, однако вхождение Agile-разработки в массы произошло именно после этого события.

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

Agile Manifesto разработан и принят 11—13 февраля 2001 года на лыжном курорте The Lodge at Snowbird в горах Юты. Agile Manifesto содержит 4 основные идеи и 12 принципов. Примечательно, что Agile Manifesto не содержит практических советов.

Один из повторяющихся пунктов критики: при agile-подходе часто пренебрегают созданием плана («дорожной карты») развития продукта, равно как и управлением требованиями, в процессе которого и формируется такая «карта». Гибкий подход к управлению требованиями не подразумевает далеко идущих планов (по сути, управления требованиями просто не существует в данной методологии), а подразумевает возможность заказчика вдруг и неожиданно в конце каждой итерации выставлять новые требования, часто противоречащие архитектуре уже созданного и поставляемого продукта. Такое иногда приводит к катастрофическим «авралам» с массовым рефакторингом и переделками практически на каждой очередной итерации.

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

Существуют методологии, которые придерживаются ценностей и принципов заявленных в Agile Manifesto, некоторые из них:

  • Scrum;
  • Extreme Programming (XP);
  • Lean Development (LD);
  • Feature Driven Development (FDD);
  • Dynamic Systems Development Method (DSDM);
  • Crystal Clear.

Люди также спрашивают

Что такое Agile простыми словами?

Agile — это группа методологий, в каждой из которых прослеживается стремление к безостановочному выполнению циклов обратной связи и непрерывному совершенствованию. В первой версии Манифеста agile не были закреплены двухнедельные итерации или оптимальный размер команды.

Полный ответ на сайте www.atlassian.com


Что такое Agile для чайников?

Что такое Agile? В переводе с английского языка agile означает живой, подвижный, но переводят его чаще как гибкий. В отрасли разработки программного обеспечения этот термин появился в начале 2000-х годов, когда в штате Юта был издан Манифест гибкой разработки ПО.


В чем разница Scrum и Agile?

Отличие Agile от Scrum Объяснить разницу между терминами просто. Agile — методология, принципы которой компании нового поколения используют как основу для развития. Scrum — структурный подход. Это один из инструментов Agile, который компании применяют чаще всего.

Полный ответ на сайте инсайдер.рф


Что такое Agile и зачем он нужен?

Agile — это гибкая методология управления проектами, которая позволяет подстроиться под запросы рынка и заказчика. Scrum и Kanban — разные подходы в рамках методологии. По данным исследования, после внедрения Agile 77% компаний отмечают, что скорость разработки и выхода новых продуктов на рынок увеличилась.

Полный ответ на сайте netology.ru


Видео

Agile и Scrum на пальцах / О Гибких методологиях разработки ПО понятным языком

Что такое Agile и Scrum? (И почему они не работают в российских компаниях?)

Что такое agile - аджайл это.

Что такое Agile методология НА Самом ДЕЛЕ? Agile от А ДО Я.

Что такое Agile, как его применять и что такое Скрам и Канбан?

Что такое Agile за 5 минут

Введение в Agile - основные принципы

Что такое Agile. Разбираем 4 принципа Agile. Welcome to Agile (part 1) Введение...