История создания «Манифеста Agile-разработки ПО»

  • Как появился Agile? А если точнее, то как создавался «Манифест гибкой разработки ПО»?
  • Кто организовал встречу и зачем?
  • Почему именно такой состав участников?
  • Авторы довольны результатом?

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

Весной 2000 на встречу в The Rogue River Lodge для обсуждения разных вопросов по XP, которая называлась «Extreme Programming Leadership Conference», Кент Бэк пригласил:

  • активных практиков XP, включая (Uncle) Bob Martin, Ron Jeffries, Ken Auer, Martin Fowler,
  • других заинтересованных, в частности, Alistair Cockburn, Jim Highsmith, Dave Thomas.

На встрече они обсуждали связь между XP и другими методами, которые в то время называли Lightweight Methods. Найдя много общего, участники договорились, что (Uncle) Bob Martin соберёт встречу с представителями более широкого круга методов. В это же время Alistair Cockburn собирал похожую встречу. Два списки объединили, да и вообще, постарались собрать всех активных, кому может быть интересно. Рабочим названием встречи было «Lightweight Methods Summit». [3, 4]

Встреча в 2001 в Snowbird в Юте

Кого приглашали? Кто приехал?

Естественным образом организацию встречи подхватил 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 «умников» [3] экспертов-практиков разработки ПО собрались в кондоминиуме The Lodge горнолыжного курорта Snowbird в горах Уосатч в штате Юта — это в западной части континентальных США недалеко от Солт-Лейк Cити.

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

  • Extreme Programming,
  • Scrum,
  • DSDM, Dynamic Systems Development Method, 
  • Adaptive Software Development,
  • Семейство Crystal, вкл. Clear,
  • FDD, Feature-Driven Development,
  • Pragmatic Programming,
  • и другие.
Авторы Манифеста Agile-разработки ПО

Какова цель встречи? Какими были ожидания?

Боб Мартин запустил встречу, поделившись своим взглядом на общее в существующих легковесных процессах, и предложил цель — зафиксировать эти общие характеристики во благо всей отрасли для создания полезного ПО. [4-BM]

Martin Fowler & Ward Cunningham стали фасилитаторами встречи. Кстати, знаменитую фотографию на странице Манифеста сделал именно Ward.

Snowbird Lodge - создание Agle Manifesto
Snowbird Lodge. Создание Agile Manifesto

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

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

Alistair Cockburn [2]

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

Martin Fowler [3]

Дядя Боб Мартин в последствии охарактеризовал их так: [2-JH]

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

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

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

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

«PragDave» Thomas [4-BM]

«Мы хотим восстановить баланс» [2-JH]

Мы поддерживаем моделирование, но не ради того, чтобы диаграмма пылилась в корпоративном репозитории.

По поддерживаем документацию, но не сотни страниц никогда не актуализируемых и редко используемых томов.

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

Jim Highsmith [2]
Snowbird Lodge - создание Agle Manifesto
Snowbird Lodge. Создание Agile Manifesto

Название, веб-страница, альянс

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

Почему именно «Манифест»? Читайте в статье «Почему Agile так называется? Были другие варианты?«

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

Мартин Фаулер [3]

Группа назвала себя «The Agile Alliance.»  [2-JH]

Черновик 12 принципов группа записала во второй части встречи, и ещё пару месяц дорабатывала их. Ward Cunningham, который изобрёл технологию wiki, создал страницу AgileManifesto.org [3-MF, 4-BM].

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

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

Мартин Фаулер в 2006 [3]

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

Uncle Bob Martin в 2007 [4]

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

Alistair Cockburn в 2001 [2]

После встречи

В следующий раз почти все снова встретились в октябре 2001 на конференции OOPSLA, где сказали, что не хотят какой-то выделенной роли в распространении ценностей и принципов Agile-разработки, и это могут делать не только они. [3-MF]

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

Размышления Боба Мартина в 2016 году

Цель Agile: Вылечить разрыв между бизнесом и программированием.

Кент Бэк на встрече в 2001

«Использование Agile-подходов требует дисциплины,» это включает:

  1. Фиксированные временные интервалы.
  2. Оценка в относительных величинах.
  3. Общение с клиентом.
  4. Сотрудничество, и мн. др.

Agile был о дисциплине, профессионализме, ремесле.

Боб Мартин, 2016
  • Agile — бизнес-практики.
  • Ремесло — технические практики.

Это нужно исправлять: улучшать технические практики и снова объединять бизнес и ИТ.

Далее произошло разделение, снова:

[весь параграф из 1-BM]


Читайте по теме

  1. Что привело к необходимости появления «Манифеста Agile-разработки ПО»?
  2. История создания «Манифеста Agile-разработки ПО» (эта статья)
  3. Что такое Agile?
  4. Почему Agile так называется? Были другие варианты?
  5. Ответы на вопрос «Что такое Agile?» в разных источника Сети
  6. Как правильно произносить Agile? И как переводится?

Источники информации

Все источники — от авторов «Манифеста Agile-разработки ПО». Если упорядочить по вкладу в эту статью, то так: 3, 2, 1.

  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».

Оставить ответ