пятница, апреля 03, 2009

Отчёт о конференции Agile Labs, 31 марта 2009 г.

Два дня назад, 31 марта, я посетил конференцию Agile Labs, организованную УЦ Люксофт при поддержке ГУ ВШЭ.

Изначально я был настроен скептически, потому что доклады про agile-методы уже примелькались, осенью было много сказано об этом на конференции SECR 2008, была специализированная мини-конференция AgileDays. В общем, я ждал повторения в докладах тех же уже порядком затёртых идей. Поэтому я планировал сходить послушать парочку докладов утром, а потом ещё прийти вечером на обещанную "битву гигантов: противники agile против сторонников, Панкратов против Уразбаева.

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

Открыл конференцию Асхат Уразбаев с докладом "Процессные заболевания и методы их лечения". Я думал, что это иносказательное название. Ничего подобного -- доклад был чисто медицинский! Мне всегда нравился организмический подход, поэтому я с большим удовольствием послушал Асхата.

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

А где там agile, спросите вы? Да в общем-то не было там ничего про agile. Ну так, разве что в качестве примера. Предложенные методы лечения довольно универсальны. И это самое замечательное!

Затем Слава Панкратов удивил своим докладом "Почему я не верю в Agile". Он нападал на гибкие методы гораздо слабее, чем я ожидал. Слава в основном упирал на два пункта:

  1. что делать, если проект большой или распределённый (включая возможное наличие субподрядчиков),
  2. что делать, если заказчик не работает по agile (либо не вовлекается, либо вовлекается, но начинает играть "против", гипертрофируя особенности agile -- например, меняет требования слишком часто).

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

Далее Александр Ермакович должен был выступить с рассказом про "Тестирование в agile-проектах". Но он с самого начала прямо заявил, что не является поклонником agile, занимает нейтральную позицию, и будет на самом деле говорить про тестирование вообще. Даже напротив, некоторые из его тезисов, на мой взгляд, совершенно не совместимы с agile. Как вам, например, такое утверждение: планирование тестирования должно быть независимым от планирования разработки, ну и само тестирование, понятное дело, тоже должно быть независимым. Боюсь, что это уже за гранью agile. Картинки в его презентации тоже были как будто срисованы с RUP-диаграмм -- артефакты, рабочие процессы, роли.

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

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

После обеда Максим Дорофеев сделал отличный доклад про "Agile в мире снобов". В качестве снобов выступали "жрецы" великого стандарта DO-178B, основного регламентирующего документа в области разработки встраиваемого ПО для авионики. Вот это было действительно про agile.

Максим продемонстрировал, что ум и смекалка позволяют справиться даже с такими снобами, причём играя по их правилам и на их поле. Снобы требуют, чтобы у вас был план проекта, а вам хочется сохранить гибкость? Нет проблем, пишем план, в котором в качестве работ указаны "Итерация 1", "Итерация 2", "Итерация 3" и так далее, а на вопрос, что является результатом каждой из этих итераций, отвечаем, что это будет "работающий продукт, но с не полностью реализованной функциональностью". Нужен план конфигурационного управления? Рисуем на бумажке или белой доске схему репозитория, правила обозначения версий и релизов, диаграмму процесса сборки, сканируем или фотографируем, на получившейся картинке проставляем нужные данные (кто и когда создал документ, кто и когда завизировал) и дело в шляпе. Ну и так далее, принцип ясен? Всё гениальное, как всегда, очень просто.

Следующий доклад, на котором Александр Кондаков рассказывал про то, как скрестить agile и CMMI, я практически полностью пропустил. Про это я с разными вариациями наслушался на прошедшей конференции SECR.

Доклад Сергея Архипенкова про "Антипаттерны командного поведения" опять не имел ни малейшего отношения к agile, но от этого он не стал менее интересен. Замечательное психологическое исследование, прекрасно дополняющее не менее замечательные книги того же автора, посвященные управлению проектами. Как книжки, так и презентацию доклада можно найти на сайте http://www.arkhipenkov.ru/. Даже писать много не буду -- качайте и читайте, оно стоит того.

Дальше все пошли играть в Lego. Под чутким руководством Алексея Кривицкого три команды по шесть человек строили игрушечный город -- домики, машинки, светофоры, деревья. Но строили не просто так, а в полном соответствии со Scrum'ом. Играли в Planning Poker, двигали жёлтые бумажки по белой доске, вели переговоры, в общем, всё как на самом деле. К сожалению, как это часто бывает с играми-симуляциями, отведённое время закончилось когда игра была в самом разгаре. Получаса явно не хватило, для полноценного результата надо было бы выделить часа полтора, чтобы можно было не только доиграть до конца, но и обсудить полученный опыт. Тем не менее, это было весело, ждите видео!

Ну и под занавес конференции состоялась широко разрекламированная "битва гигантов". Слава Панкратов обещал раскатать agile в блин и свернуть в трубочку, а Асхату Уразбаеву выпала честь защищать гибкие методы. Гиганты не удовлетворились единоборьем, каждая из сторон была удвоена -- на помощь Асхату вышел Алексей Кривицкий, а нападение было усилено Александром Александровым. В роли рефери выступил Сергей Мартыненко.

Увы, битвы не получилось. Бойцы покружили друг вокруг друга и разошлись без особых шрамов и повреждений. Со стороны нападения прозвучали главным образом все те же агрументы, которые Слава высказывал ещё утром и которые я уже перечислил выше. И даже несмотря на то, что Сергей явно подыгрывал нападающим, Асхат без труда отбил все нацеленные в agile удары. Точнее говоря, он вообще не стал их отбивать, а просто погасил, признав по всем пунктам, что agile иногда работает, а иногда нет. Что, в общем-то, и так практически всем ясно.

Пожалуй, наиболее сильным ударом можно считать брошенный Александровым как бы вскользь вопрос, действительно ли в agile есть что-то совершенно уникальное, или это просто успешный маркетинговый ход. Признание Асхата в том, что это в значительной степени так, явно было очком в пользу нападения.

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

Ну а под конец Сергей (на мой взгляд совершенно напрасно) добавил ещё одну ложку дёгтя, решив напомнить всем, что собственно предмет спора весьма неопределён, никто не может внятно сформулировать, что же такое agile, где он начинается и где заканчивается. В результате вся дискуссия сразу стала ни о чём и сдулась. Гиганты издалека погрозили друг другу и разошлись.

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

Ждём следующую конференцию в серии -- в июне планируется проведение Training Labs.

Иллюстрации в тексте кликабельные и ведут вот на эту коллекцию фотографий с конференции.

2 комментария:

Анонимный комментирует...

С удовольствием прочитала отчет и посмотрела коллекцию фотографий. О лего фотки смотрели вместе с 7 летней дочерью Настей. Спасибо, Алексей.
Vita

atriplex комментирует...

Первый доклад уже активно обсуждается здесь: http://groups.google.com/group/agile-ukraine/browse_thread/thread/2c30ad5d0564f91c

Панкратов свои отзывы разместил на своём блоге: http://pankratov.org.ua/it/agilelabs-2009-afterparty

Ну и я пожалуй скоро тоже что-нибудь напишу ...