Открыть сервис

Манифест гибкой разработки

Манифест гибкой разработки программного обеспечения (англ. Manifesto for Agile Software Development) — это документ, сформулированный и опубликованный в феврале 2001 года группой из семнадцати разработчиков программного обеспечения, который определил набор ценностей и принципов, известных как гибкая методология разработки (Agile). Манифест стал реакцией на «тяжеловесные», бюрократизированные и документоориентированные процессы разработки, доминировавшие в индустрии в 1990-х годах (прежде всего, каскадная модель и различные варианты методологии Rational Unified Process). Документ не является строгим методом или инструкцией, а представляет собой философскую основу, на базе которой впоследствии возникли такие практики, как Scrum, Extreme Programming (XP), Kanban, Lean Software Development и другие.

История возникновения

В конце 1990-х годов в сообществе разработчиков программного обеспечения нарастало недовольство существующими процессами, которые требовали детального планирования на годы вперёд, объёмной документации и строгого следования изначальному плану. Многие проекты страдали от перерасхода бюджета, срыва сроков и несоответствия конечного продукта реальным потребностям заказчика.

В феврале 2001 года семнадцать ведущих специалистов и авторов альтернативных методологий собрались на горнолыжном курорте Сноубирд (штат Юта, США). Среди участников были Кент Бек (автор Extreme Programming), Джефф Сазерленд и Кен Швабер (соавторы Scrum), Мартин Фаулер, Роберт Мартин (дядя Боб), Алистер Кокберн, Джим Хайсмит и другие. Целью встречи было обсуждение общих принципов, объединяющих их подходы, и выработка единого документа.

После двух дней обсуждений участники сформулировали четыре ключевые ценности и двенадцать принципов, которые и составили Манифест гибкой разработки программного обеспечения. Название «Agile» (гибкий) было предложено как термин, наиболее точно отражающий суть подхода — способность быстро адаптироваться к изменениям.

Четыре ценности Манифеста

Манифест провозглашает, что авторы ценят определённые вещи больше, чем другие. Формулировки даны в виде парных утверждений, где первая часть считается более ценной, чем вторая:

  1. Люди и взаимодействие важнее процессов и инструментов.
  2. Работающий продукт важнее исчерпывающей документации.
  3. Сотрудничество с заказчиком важнее согласования условий контракта.
  4. Готовность к изменениям важнее следования первоначальному плану.

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

Двенадцать принципов гибкой разработки

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

  1. Наивысшим приоритетом является удовлетворение потребностей заказчика за счёт ранней и непрерывной поставки ценного программного обеспечения.
  2. Изменение требований приветствуется, даже на поздних стадиях разработки. Гибкие процессы позволяют использовать изменения для обеспечения конкурентного преимущества заказчика.
  3. Работающий продукт следует поставлять как можно чаще, с периодичностью от пары недель до пары месяцев, предпочтительно через короткие промежутки времени.
  4. Заказчик и разработчики должны работать вместе ежедневно на протяжении всего проекта.
  5. Над проектом должны работать мотивированные профессионалы. Для них нужно создать необходимые условия, обеспечить поддержку и доверие.
  6. Наиболее эффективным и действенным способом обмена информацией между членами команды является личный разговор (face-to-face).
  7. Работающий продукт — основной показатель прогресса.
  8. Гибкие процессы способствуют устойчивому развитию. Заказчики, разработчики и пользователи должны иметь возможность сохранять постоянный темп работы неопределённо долго.
  9. Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
  10. Простота — искусство минимизации лишней работы — является важнейшим принципом.
  11. Самые лучшие архитектуры, требования и проекты получаются у самоорганизующихся команд.
  12. Команда должна регулярно анализировать свою эффективность и в соответствии с этим корректировать своё поведение.

Влияние и критика

Влияние на индустрию

Манифест оказал огромное влияние на индустрию разработки программного обеспечения. Он стал основой для массового перехода от «водопадных» моделей к итеративным и инкрементальным подходам. Крупные корпорации (Microsoft, IBM, Google, Amazon) и государственные структуры (например, правительство США через 18F) внедрили элементы Agile в свои процессы. По данным опросов State of Agile, проводимых компанией VersionOne (ныне Digital.ai), более 90% респондентов заявляют об использовании Agile-практик в своих командах.

Критика

Несмотря на широкое распространение, Манифест и его интерпретации подвергаются критике по нескольким направлениям:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →