- Как появился 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, который приехать смог).
В итоге 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,
- и другие.
Какова цель встречи? Какими были ожидания?
Боб Мартин запустил встречу, поделившись своим взглядом на общее в существующих легковесных процессах, и предложил цель — зафиксировать эти общие характеристики во благо всей отрасли для создания полезного ПО. [4-BM]
Martin Fowler & Ward Cunningham стали фасилитаторами встречи. Кстати, знаменитую фотографию на странице Манифеста сделал именно Ward.
Ожидания от встречи у всех были разными, но не завышенными.
Я не ожидал, что конкретно эта группа сможет договориться о чём-то значительном.
Alistair Cockburn [2]
Я надеялся, что мы сможем узнать друг друга получше, и общение приведёт к чему-то интересному. Однако мы быстро нашли много общего.
Martin Fowler [3]
Дядя Боб Мартин в последствии охарактеризовал их так: [2-JH]
- Группа людей с набором близких ценностей, основанных на взаимном доверии и уважении,
- способствуют развитию организационных моделей, основанных на людях и сотрудничестве,
- выстраивают такие виды организационных сообществ, в которых хочется работать.
- создают хорошие продукты для клиентов в среде, где не просто говорят о “людях, как самом ценном ресурсе”, а но своим поведением показывают, что люди критически важны, без слова “ресурс”.
О чём договорились?
Договорились о многих аспектах разработки ПО, и поэтому решили оформить этот общий базис в виде боевого клича для всей отрасли. Хотели показать, что мы отстаиваем и чему сопротивляемся. [3-MF]
Вообще-то, это я и Мартин Фаулер, рисуя на доске во время обеда, сформулировали первые 3 сравнения. Группа расширила их до 5, а затем сократила до 4.
“PragDave” Thomas [4-BM]
“Мы хотим восстановить баланс” [2-JH]
Мы поддерживаем моделирование, но не ради того, чтобы диаграмма пылилась в корпоративном репозитории.
По поддерживаем документацию, но не сотни страниц никогда не актуализируемых и редко используемых томов.
Мы планируем, но признаём ограничения планирования в турбулентной среде.
Jim Highsmith [2]
Название, веб-страница, альянс
Группа оформила зафиксированные 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-подходов требует дисциплины,” это включает:
- Фиксированные временные интервалы.
- Оценка в относительных величинах.
- Общение с клиентом.
- Сотрудничество, и мн. др.
Agile был о дисциплине, профессионализме, ремесле.
Боб Мартин, 2016
- Agile — бизнес-практики.
- Ремесло — технические практики.
Это нужно исправлять: улучшать технические практики и снова объединять бизнес и ИТ.
Далее произошло разделение, снова:
[весь параграф из 1-BM]
Читайте по теме
- Что привело к необходимости появления «Манифеста Agile-разработки ПО»?
- История создания «Манифеста Agile-разработки ПО» (эта статья)
- Что такое Agile?
- Почему Agile так называется? Были другие варианты?
- Ответы на вопрос «Что такое Agile?» в разных источника Сети
- Как правильно произносить Agile? И как переводится?
Источники информации
Все источники — от авторов “Манифеста Agile-разработки ПО”. Если упорядочить по вкладу в эту статью, то так: 3, 2, 1.
- Видео-лекция 2016 Robert “Uncle Bob” Martin с хронологией развития программирования “The Future of Programming”.
- Заметки 2001 Jim Highsmith сразу после встречи на курорте Snowbird — важная страница на сайте AgileManifesto.org, которую мало кто читает, а зря 😉
- В статье в Agile-Lounge.com “18 Years of Agile Manifesto for Software Development #1: History by Jim Highsmith” копия этой же страницы.
- Заметки 2001–2006 Martin Fowler о создании Манифеста “Writing The Agile Manifesto”.
- Заметки 2007 Дяди Боба Мартина “The Founding of the Agile Alliance”.