Agile и пирожки

Автор: | 22.08.2008

Disсlaimer: запись на тему «Люди, мы дышим воздухом, воздухом, люди!». Но это надо, это важное.

I. Бабушка «фурычит» в пирожках

Технология создания пирожков слегка запутанная.

Одни пирожки пекутся в духовой печи.

Другие жарятся во фритюре.

Третьи сперва обмакиваются в кляр.

Тесто для пирожков делают различное:

  1. слоеное,
  2. рассыпчатое,
  3. рубленое,
  4. блинчатое,
  5. заварное,
  6. на дрожжах — постное и скоромное.

Конечные пирожки тоже бывают разными:

  1. слоеные в виде рога изобилия с фаршем из мозгов
  2. с грибным фаршем
  3. с фаршем из печенки, с ромом и мадерою
  4. с фаршем из щуки или окуня
  5. с сыром
  6. с телячьим ливером
  7. с вишней

Поклонникам Елены Молоховец — полный расклад пирожковой индустрии.

Теперь идем к такой-то бабушке и просим пирожков.

Нормальная бабушка спросит только: «Какие именно, внучара? Творог, капуста, вишня?«

Ненормальная бабушка спросит: «Какие именно тебе нужны пирожки? Одни пирожки пекутся в духовой печи, другие жарятся во фритюре, третьи — обмакиваются сперва в кляр. Я могу сделать слоеные в виде рога изобилия с фаршем из мозгов, или с грибным фаршем, или с фаршем из печенки, с ромом и мадерою, или с фаршем из щуки или окуня, или с сыром, или с телячьим ливером, или с вишней…«

Нам нас жаль…

И бабушку жаль. Когда-то она была бригадиром (тим-лид) девелоперов, теперь характер у нее въедливый, анордический…

II. Сколько раз в неделю нужно проводить daily-митинги?

На любой тусовке agile-девелоперов кто-то из пришедших обязательно спрашивает о следующем:

  • сколько раз в неделю нужно проводить daily-митинги?
  • как и когда agile-тестировщикам нужно сочинять тест-кейсы?
  • как девелопить без документации по проекту?
  • как убить убедить заказчика в том, что он сам не знает, чего захочет через несколько итераций?
  • как «уйти» от фиксыд-прайс-прожэкта? (имеется ввиду «fixed-price project», якобы антипод agile-ориентированного процесса)
  • как продавать agile-процесс?

Все эти вопросы вы уже где-то видели — это же темы семинаров по agile. Пример последнего семинара…

Вот о последнем и хочется сказать: НИКАК.

Еще раз: как продать процесс создания пирожка человеку, которому нужен собственно пирожок?

Продаются пирожки, а не процесс их создания.

Исключение — продажа патента на пирожковое производство.

III. У нас офигенный процесс производства сайтов

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

Наш менеджер по продажам, рекламе и мозгойопству где-то допер до соображения о том, что «для успешного бизнеса надо, чтобы компания чем-то отличалась от всех других» (даже спец-термин есть: дифференциация). Случился диалог:

  • Леша, чем наша кишиневская студия веб-дизайна отличается от других кишиневских студий веб-дизайна? Вот, например, у нас офигенный процесс производства сайтов — мы все делаем поэтапно. Сбор информации, затем расписание контента будущего сайта, потом постановка творческих задач для дизайнера и программиста, потом передача готового сайта клиенту. И на каждом этапе мы согласовываем результат с клиентом. Мы начинаем делать дизайн только тогда, когда решен вопрос с контентом. Мы программируем только тогда, когда есть готовый, обсужденный и одобренный дизайн. Ну, и так далее… Леха?
  • …(тупое молчание)…

Мне реально нечего было ответить. В тот момент я понял, что весь наш прекрасный процесс не имеет никакого значения в глазах клиента. Клиенту нужен сайт, «пирожок», а как именно мы станем его делать — наша тема.

У нас есть сотня вариантов того, что мы можем сделать. У нас есть десяток вариантов того, как именно мы это будем делать (толкую о рабочих процессах). Для решения задачи нужно выбрать «наилучшие» вариант и процесс. Можно сделать по этапам. Можно сделать быстро. Можно изрядно задокументироваться… Можно всё! Критерий успешности — решение задачи.

Как решить задачу? Удобнее средствами Waterfall? Нате вам. Удобнее использовать V-Model? Welcome! Кому тут кажется, что все проекты лучше всего делать через agile? А через задницу проекты делать не приходилось?

Они же все разные, проекты эти 🙂 Можно ли в agile-way делать софт для управления системами боевого истребителя Su-35? Если ответ «Да», то мне очень приятно познакомиться с вами, вождь Бромден. Старшая медсестра Милдред Рэтчед уже ждет вас.

Разумно ли делать «GMail» ватерфольным методом? О, мистер Буш, проходите, бушмены у нас сидят справа.

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

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

Если хочется напугать кого-то словом agile, то пожалуйте пример:

Вы строите дома? Мне нужен дом!

— Построим. Мы уверены, что вы не знаете, какой дом вы хотите.

Что значит — не знаю?

— Не знаете, не знаете. Ни один заказчик не знает точно, чего он хочет. Поверьте моему опыту.

И что вы предлагаете?

— Я предлагаю вам гибкий подход к строительству дома. Мы не будем знать общую стоимость проекта. Сперва мы возведем первый этаж. Затем напишем общий план постройки. Юз-кейс простой — человек хочет жить в доме. Запишем это в бэклог, и… вам плохо?

Нет. А подвал построите?

— Ну, это же подразумевается. Потом оценим результаты первого спринта, и если вам понравится первый этаж (вы в нем поживете), то мы начнем делать второй этаж.

И на втором надо будет пожить?

— Да.

А если мне не понравится?

— Снесем и начнем строить заново…

IV. Agile оценивается в задочасах, а не в пирожках

Сложно принимать сомнения тех, которые понимают agile как «проект, для которого невозможно назначить фиксированную цену». Очень даже можно. Просто рассчитывать тут придется не количество воплощенных функций, а количество задочасов.

(откашлявшись) Для ориентира: один задочас — это одна восьмая обычного восьмичасового рабочего дня.

Это разумнее, чем ляпнуть «Функция поиска на сайте стоит $100», и не суметь объяснить, почему именно $100, а не $99.

Зная стоимость одного задочаса (примерная оценка), и время разработки той или иной функции (примерная оценка), можно точно сказать, сколько времени будет длиться весь проект, и сколько он будет стоить (тоже примерная, но обсуждаемая оценка). Если в будущем проект выйдет за эти рамки или даже займет меньше ресурсов — какие проблемы? Все течет, все изменяется…

В Agile-разработке тоже существуют сроки, как и в Waterfall (wow, what a surprise!). Эти сроки оговариваются и должны соблюдаться. И в Waterfall тоже есть короткие итерации, постоянная смена ориентиров и сроков. Нетрудно даже провести параллели.

Подробнее о том, как оценивать будуший проект, см. в книге «Scrum and XP from the trenches«. Подсказка: оценивать надо в стори-пойнтах.

Еще надо знать: неграмотное внедрение Agile-процессов требует человеческих жертв. Первой жертвой будет тот, кто громче всех звал народ на agile-бастионы, соблазняя преимуществами TDD перед АКМ.

Резюме: хватить болтать ерундой! Agile не продается. Продаются пирожки.

Проще Родину продать, чем agile…

Третьи стороны медали

  1. Денис Петелин, рулевой agilebelarus.org рассказывает о том, «Как продать Agile?»
    • Вкратце: декларации об agile надо подтверждать клиенту наличием опытной команды.
  2. Michele Sliger, consultant and co-author of The Software Project Manager’s Bridge to Agility, talks about the role of project managers in an agile environment.
    • Вкратце: Don’t think that transitioning to agile is simply a matter of tool substitution. Don’t think you can put down the Gantt chart and pick up a burndown chart, and poof, you’ll be agile.

Agile и пирожки: 5 комментариев

  1. Уведомление: Источник всех бед « QA - грамотно

  2. Саша

    >>как продавать agile-процесс?
    лучше спросить: как убедить заказчика согласиться с особенностями agile и работать по итерациям, постоянно отрываясь от текущих задач, постоянно отвлекаясь на трудности и вопросы со стороны исполнителя, периодично участвуя в review meeting-ах и проч.

  3. Andrew

    >> Резюме: хватить болтать ерундой! Agile не продается. Продаются пирожки.
    Не согласен… Нет, конечно есть заказчики, которых интересует только результат! Но, вот есть более крупные компании, в которых есть свои собственные ИТ подразделения, и которые аутсоурсят свои проекты. Там тоже сидят управленцы которые повелись на всю эту маркетинговую шумиху по поводу Agile. Они убедили своих боссов, а те свох (и т.д. по цепочке) — вот Agile (XP, SCRUM whatever) эта та серебрянная пуля которая нас спасет! Поэтому они ищут субподрядчиков у которых разработка идет именно по Agile процессам. И кто их лучше сумеет убедить в своей крутости, тот и получает заказ. Что бы не быть голословным — пример Питерский StarSoft, а ныне купленный Exigen. Они продают именно процесс! И надо сказать очень успешно…

  4. Алексей Лупан

    Процесс как товар — действительно круто.
    Сейчас наблюдаю за одной компанией, в которой по разным причинам процесс разработки был скорректирован из крутого, но непонятного и пока еще рискового agile в простой и понятный RUP:
    * та же итеративная модель разработки (привет скраму)
    * те же игроки, но уже рассаженные в отдельные комнаты по первичным девелоперским признакам (тестировщики — отдельно, девелоперы — отдельно)
    * те же заказчики, но уже увеличенная команда не разбита по отдельным подпроектам или направлениям (в частности — добавлены тестировщики-автоматизаторы, которые должны разгребать накопившиеся дела)
    * ужесточение сроков разработки со стороны бизнеса (давай продукт к определенному дню, ибо надо).
    Дело пока не ясное и не закрыто, поэтому запись все еще лежит в черновиках. Увлекательно следить за мутациями проектов.

  5. Уведомление: $ grep -w ‘crazy cat’ aliceinwonderland.txt /dev/null « QA – грамотно

Добавить комментарий