Словарь

Agile

Agile software development (гибкий подход к разработке программного обеспечения) — это термин, обозначающий набор практик и структур, основанных на 12 принципах и 4 идеях Manifesto for Agile Software Development. К таким методологиям относят SCRUM, Kanban, Lean, DSDM, BDD, FDD (Feature-Driven Development), а также Extreme Programming.

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

Agile-подходы главным образом обеспечивают минимизацию рисков, которая достигается через разделение процесса разработки на короткие итерации (циклы по 2–3 недели).

Каждый цикл подразумевает одновременную работу над следующими пунктами:

  • планирование;
  • анализ требований;
  • проектирование;
  • кодирование;
  • модульное тестирование;
  • приемочное тестирование.

В конце каждой итерации продукт представляется клиентам и прочим значимым участникам проекта, после чего ведётся анализ и переоценка приоритетов разработки. Таким образом, agile-продукт номинально готов к выпуску в конце каждой итерации.

Agile полезен для проектной работы в небольших командах, чья деятельность подразумевает постоянное создание чего-то нового (например, отделы маркетинга, IT-департаменты и т. д.).

4 идеи Agile Manifesto:

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

12 принципов Agile Manifesto:

  • главный приоритет — удовлетворение клиента путем своевременной поставки ПО;
  • готовность к изменениям даже на поздних стадиях разработки может обеспечить конкурентные преимущества для клиента;
  • поставка работающего ПО в короткие сроки (от 2 недель до нескольких месяцев);
  • взаимодействие заказчика с разработчиками ежедневно на протяжении всего проекта;
  • создание проектов в среде мотивированных людей, которым дается необходимая среда и поддержка для выполнения работы;
  • лучший способ передачи информации в команду разработчиков — личный разговор;
  • основная мера прогресса — работающее ПО;
  • спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп в неопределенные сроки;
  • внимание к хорошему дизайну и техническому совершенству повышает гибкость;
  • простота — это искусство минимизировать количество лишней работы;
  • лучшие решения возникают у самоорганизующихся команд;
  • команда систематически анализирует и корректирует стиль своей работы.

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

У вас остались вопросы?
Свяжитесь с нами, и наши менеджеры проконсультируют вас.
Пользуясь настоящим сайтом, вы даете свое согласие на использование файлов cookies