История создания Agile-манифеста

11–13 февраля 2021 исполнилось 20 лет Манифесту Agile-разработки ПО. Давайте вспомним, какие подходы существовали до него, почему возникла потребность в таком манифесте, как он создавался, кто в этом участвовал, как появился термин "agile", и что думают авторы о полученном результате.

Что было до Agile-манифеста

Уже существовали итеративные подходы.

  • Наример, был RUP. Кстати, он использует UML, настраивается под нужды и не требует использования всего-всего, что в нем описано.
  • Был и Скрам, о котором Кен и Джефф рассказали в 1995 на конференции OOPSLA. А вот первая книга по Скраму "Agile Software Development with Scrum" вышла только в октябре 2001, а первая версия Scrum Guide только в 2010. При переводе книги "Agile project management with Scrum", с одной стороны, ее старались адаптировать к текущей версии Руководства по Скраму (тогда это была версия 2017 года), а с другой, не сильно отступать от оригинала, поэтому, читая ее, понимаешь, что в 2004 и Скрам был другим.
  • Первый проект по XP стартовал в 1996, а оформился подход в 1999. Тогда же и TDD.
  • Ещё были менее популярные сейчас Crystal c 1994 года и FDD c 1997.
  • Уже давно существовал Lean manufacturing 1988-1996 (а TPS сильно раньше), а вот Lean software development появился позднее в 2003 в одноименной книге.

Встреча в 2000 в Орегоне

Весной 2000 Kent Beck (один из авторов eXtreme Programming и TDD) на встречу с названием "Extreme Programming Leadership Conference" в The Rogue River Lodge недалеко от города Медфорд в штате Орегон пригласил:

На встрече в числе других вопросов обсуждали:

  • связь между XP и другими методами, которые в то время называли Lightweight Methods,
  • и создание организации для их продвижения и поддержки.

Идея была холодно поддержана некоторыми участниками. Поэтому (Uncle) Bob Martin и Martin Fowler в перерыве договорились организовать встречу с представителями более широкого круга методов, включая Scrum и Crystal.

2. Встреча в 2001 в Юте

Организация встречи

Bob Martin и Martin Fowler составили предварительный список. Примерно в то же время Alistair Cockburn собирал похожую встречу. Два списка объединили, да и вообще постарались собрать всех активных, кому может быть интересно. Рабочим названием встречи стало "Lightweight Methods Summit", а в качестве цели в приглашении указали:

Создание манифеста, описывающего общие характеристики легковесных подходов.

Организацию логистики подхватил Alistair Cockburn. Он предложил встретиться недалеко от Солт-Лейк-Сити в штате Юта. Вместе с Jim Highsmith они организовали проживание, питание и активности.

Кто-то из ~20 приглашённых приехать не смог, например, Grady Booch (один из авторов языка UML) и "Big Dave" Thomas (тёзка другого Дейва — "Pragmatic Dave" Thomas, который приехать смог).

The Lodge at Snowbird
The Lodge at Snowbird

11–13 февраля 2001 года 17 "умников" экспертов-практиков разработки ПО собрались в кондоминиуме The Lodge горнолыжного курорта Snowbird в горах Уосатч в штате Юта — это в западной части континентальных США недалеко от Солт-Лейк Cити.

Каждый практиковал какую-то альтернативу тяжеловесным процессам, основанным на документации. Они собрались, чтобы поговорить, покататься на лыжах, отдохнуть и найти то общее, что объединяет их процессы/методы, которые в то время уже называли lightweight (легковесными).

Авторы Манифеста Agile-разработки ПО и их сферы интересов
Авторы Манифеста Agile-разработки ПО и их сферы интересов
  • eXtreme Programming, TDD,
  • Scrum,
  • DSDM — Dynamic Systems Development Method,
  • RAD — Rapid Application Development,
  • Adaptive Software Development,
  • Семейство Crystal, включая Clear,
  • FDD — Feature-Driven Development,
  • Pragmatic Programming, и другие.
Авторы Манифеста Agile-разработки ПО С просторов интернета
Авторы Манифеста Agile-разработки ПО С просторов интернета

Сама встреча

Встречу начал Боб Мартин, поделившись своим взглядом на общие моменты в существующих легковесных процессах, и предложил цель — зафиксировать эти общие характеристики во благо всей отрасли для создания полезного ПО. Далее фасилитировать встречу стали Martin Fowler & Ward Cunningham. Кстати, знаменитую фотографию, выложенную на странице Манифеста, сделал именно Уорд.

The Lodge at Snowbird. Создание Agile Manifesto
The Lodge at Snowbird. Создание Agile Manifesto

Ожидания от встречи у всех были разными, но не завышенными.

Я не ожидал, что конкретно эта группа сможет договориться о чём-то значительном.

Alistair Cockburn, Crystal family, Use cases

Я надеялся, что мы сможем узнать друг друга получше, и общение приведёт к чему-то интересному. Однако мы быстро нашли много общего.

Martin Fowler, XP, UML, Patterns

"Дядя Боб" Мартин впоследствии охарактеризовал их так:

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

О чём договорились?

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

Вообще-то, это я и Мартин Фаулер, рисуя на доске во время обеда, сформулировали первые 3 сравнения. Группа расширила их до 5, а затем сократила до 4.

"PragDave" Thomas
The Lodge at Snowbird. Создание Agile Manifesto
The Lodge at Snowbird. Создание Agile Manifesto

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

Jim Highsmith, Adaptive software development

Группа оформила зафиксированные 4 ценности в виде "Манифеста Agile-разработки ПО".

Надеюсь, что Манифест прояснит, что является и не является agile.

Martin Fowler, XP, UML, Patterns

Почему именно "Манифест"? Почему именно "Agile"? Читайте в статье "Почему Agile так называется?"

Черновик 12 принципов группа записала во второй части встречи.

Заметки Анди Ханта на встрече в 2001 Andrew Hunt, AgileUprising
Заметки Анди Ханта на встрече в 2001 Andrew Hunt, AgileUprising

Группа назвала себя "The Agile Alliance".

После Юты

После встречи группа ещё пару месяцев дорабатывала формулировки 12 принципов. Ward Cunningham (изобретатель технологии wiki) позднее создал страницу AgileManifesto.org.

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

В конце 2001 они организовали НКО Agile Alliance для развития Agile-методов.

Итоговые впечатления

Я очень доволен результатом.

Martin Fowler, 2006

Думаю, я никогда не участвовал во встрече, на которой группа так сохраняла фокус и достигла целей с лёгкостью и минимумом конфликтов.

Uncle Bob Martin, 2007

Лично я в восторге от итоговой формулировки Манифеста. Я был удивлён, что и другие так же довольны итоговыми фразами. Так что, мы всё же договорились о чём-то значительном.

Alistair Cockburn, 2001

Что сейчас

Были попытки докрутить манифест 2001 года, и есть несколько вариаций от других авторов, но сам оригинал остался неизменным.

Статистика применения Agile-подходов собирается по большей части с компаний, их использующих: "по результатам онлайн-опроса 100% россиян пользуются интернетом". Поэтому скажу из своего опыта работы с ИТ-компаниями. С каждым годом Манифест выглядит всё менее революционным:

  • бизнес-участники работают рядом с техническими спецами,
  • всё меньше кабинетов и больше open spaces,
  • всё меньше проектных матриц и больше стабильных команд.

Участники тренингов, знакомясь с Манифестом, отвечают: "Ну, так это логично. У нас почти так и есть." И это хорошо! Значит, движемся в хорошем направлении: от формализма и бюрократии к людям и крутым продуктам!

Все причастные к этому движению,

с 20-летием Agile-манифеста вас!

Если интересно, то ещё можете прочитать:

Использованные источники:

  1. Видео-лекция 2016 Robert "Uncle Bob" Martin с хронологией развития программирования "The Future of Programming".
  2. Заметки 2001 Jim Highsmith сразу после встречи на курорте Snowbird — важная страница на сайте AgileManifesto.org.
  3. Заметки 2001–2006 Martin Fowler о создании Манифеста "Writing The Agile Manifesto".
  4. Заметки 2007 Роберта "Дяди Боба" Мартина "The Founding of the Agile Alliance".
22
Начать дискуссию