Disсlaimer: запись на тему «Люди, мы дышим воздухом, воздухом, люди!». Но это надо, это важное.
I. Бабушка «фурычит» в пирожках
Технология создания пирожков слегка запутанная.
Одни пирожки пекутся в духовой печи.
Другие жарятся во фритюре.
Третьи сперва обмакиваются в кляр.
Тесто для пирожков делают различное:
- слоеное,
- рассыпчатое,
- рубленое,
- блинчатое,
- заварное,
- на дрожжах — постное и скоромное.
Конечные пирожки тоже бывают разными:
- слоеные в виде рога изобилия с фаршем из мозгов
- с грибным фаршем
- с фаршем из печенки, с ромом и мадерою
- с фаршем из щуки или окуня
- с сыром
- с телячьим ливером
- с вишней
Поклонникам Елены Молоховец — полный расклад пирожковой индустрии.
Теперь идем к такой-то бабушке и просим пирожков.
Нормальная бабушка спросит только: «Какие именно, внучара? Творог, капуста, вишня?«
Ненормальная бабушка спросит: «Какие именно тебе нужны пирожки? Одни пирожки пекутся в духовой печи, другие жарятся во фритюре, третьи — обмакиваются сперва в кляр. Я могу сделать слоеные в виде рога изобилия с фаршем из мозгов, или с грибным фаршем, или с фаршем из печенки, с ромом и мадерою, или с фаршем из щуки или окуня, или с сыром, или с телячьим ливером, или с вишней…«
Нам нас жаль…
И бабушку жаль. Когда-то она была бригадиром (тим-лид) девелоперов, теперь характер у нее въедливый, анордический…
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…
Третьи стороны медали
- Денис Петелин, рулевой agilebelarus.org рассказывает о том, «Как продать Agile?»
- Вкратце: декларации об agile надо подтверждать клиенту наличием опытной команды.
- 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.
Уведомление: Источник всех бед « QA - грамотно
>>как продавать agile-процесс?
лучше спросить: как убедить заказчика согласиться с особенностями agile и работать по итерациям, постоянно отрываясь от текущих задач, постоянно отвлекаясь на трудности и вопросы со стороны исполнителя, периодично участвуя в review meeting-ах и проч.
>> Резюме: хватить болтать ерундой! Agile не продается. Продаются пирожки.
Не согласен… Нет, конечно есть заказчики, которых интересует только результат! Но, вот есть более крупные компании, в которых есть свои собственные ИТ подразделения, и которые аутсоурсят свои проекты. Там тоже сидят управленцы которые повелись на всю эту маркетинговую шумиху по поводу Agile. Они убедили своих боссов, а те свох (и т.д. по цепочке) — вот Agile (XP, SCRUM whatever) эта та серебрянная пуля которая нас спасет! Поэтому они ищут субподрядчиков у которых разработка идет именно по Agile процессам. И кто их лучше сумеет убедить в своей крутости, тот и получает заказ. Что бы не быть голословным — пример Питерский StarSoft, а ныне купленный Exigen. Они продают именно процесс! И надо сказать очень успешно…
Процесс как товар — действительно круто.
Сейчас наблюдаю за одной компанией, в которой по разным причинам процесс разработки был скорректирован из крутого, но непонятного и пока еще рискового agile в простой и понятный RUP:
* та же итеративная модель разработки (привет скраму)
* те же игроки, но уже рассаженные в отдельные комнаты по первичным девелоперским признакам (тестировщики — отдельно, девелоперы — отдельно)
* те же заказчики, но уже увеличенная команда не разбита по отдельным подпроектам или направлениям (в частности — добавлены тестировщики-автоматизаторы, которые должны разгребать накопившиеся дела)
* ужесточение сроков разработки со стороны бизнеса (давай продукт к определенному дню, ибо надо).
Дело пока не ясное и не закрыто, поэтому запись все еще лежит в черновиках. Увлекательно следить за мутациями проектов.
Уведомление: $ grep -w ‘crazy cat’ aliceinwonderland.txt /dev/null « QA – грамотно