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

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

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

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

Максим продемонстрировал, что ум и смекалка позволяют справиться даже с такими снобами, причём играя по их правилам и на их поле. Снобы требуют, чтобы у вас был план проекта, а вам хочется сохранить гибкость? Нет проблем, пишем план, в котором в качестве работ указаны «Итерация 1», «Итерация 2», «Итерация 3» и так далее, а на вопрос, что является результатом каждой из этих итераций, отвечаем, что это будет «работающий продукт, но с не полностью реализованной функциональностью». Нужен план конфигурационного управления? Рисуем на бумажке или белой доске схему репозитория, правила обозначения версий и релизов, диаграмму процесса сборки, сканируем или фотографируем, на получившейся картинке проставляем нужные данные (кто и когда создал документ, кто и когда завизировал) и дело в шляпе. Ну и так далее, принцип ясен? Всё гениальное, как всегда, очень просто.
Следующий доклад, на котором Александр Кондаков рассказывал про то, как скрестить agile и CMMI, я практически полностью пропустил. Про это я с разными вариациями наслушался на прошедшей конференции SECR.
Доклад Сергея Архипенкова про «Антипаттерны командного поведения» опять не имел ни малейшего отношения к agile, но от этого он не стал менее интересен. Замечательное психологическое исследование, прекрасно дополняющее не менее замечательные книги того же автора, посвященные управлению проектами. Как книжки, так и презентацию доклада можно найти на сайте www.arkhipenkov.ru. Даже писать много не буду — качайте и читайте, оно стоит того.

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

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

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