Отсеките всё лишнее: кто на самом деле является источником задач в Agile-проектах

– Как вам удаётся создавать такие великолепные статуи? – Я беру глыбу мрамора и отсекаю от нее все лишнее, – сказал Микеланджело Буонаротти в далёком 16-ом веке.

В прошлом посте я высказал несколько мыслей о том, почему не следует злоупотреблять уникальными технологиями и длительной фазой исследования в любом business-driven проекте. Не смотря на явно провокационный стиль статьи, я был удивлён тем сколько людей оскорбились до глубины души. “Беспрецедентный бред” – писали они, – “Я бы никогда не стал работать под вашим руководством”, – “Очередной менеджер-передаст пиарит сам себя”, – это если вырезать нецензурные комментарии.

Забавно, что все эти люди, после личного общения с каждым, меняли свою точку зрения на прямо противоположную. Где-то к 30-ому комментарию в фейсбуке они уже писали “да, я с удовольствием почитаю твой блог на досуге”, делились своим опытом и точками зрения. Как и следовало ожидать, люди просто накопили внутри себя обиду к менеджерам-дебилам, тупым задачам и скучным проектам, и увидели возможность выплеснуть всё это на автора.

Но мы отвлеклись. Так кто же реально ставит задачи в современных проектах? Кто определяет, что нужно делать, а что нет?

Начинающий менеджер скажет вам: задачи ставит Заказчик. Ясен фиг, ведь он платит деньги и заказывает музыку.

Нет. Каждый, кто хоть раз был на месте заказчика, вздохнёт и скажет: “чёрт побери, я готов ставить задачи, но вот бы мне кто вовремя подсказал – что реально нужно моему проекту в каждый текущий момент времени, чтобы максимально эффективно приносить результат”. Заказчик реально не знает и не может знать, куда вести проект, поэтому он всегда будет метаться из стороны в сторону, интуитивно и экспериментально нащупывая тропинку к светлому будущему. Пусть он будет на капитанском мостике, но не надейтесь что он встанет за штурвал.

Чуть более продвинутый менеджер скажет иначе: задачи ставят потребители. Нужно собирать их мнения и реализовывать их основные потребности.

Тоже нет. Если вы не Яндекс или Google, и не располагаете реально миллионными выборками или анализом рынка в аналогичных цифрах, скорее всего эта затея скатится к тупому публичному опроснику “а что бы вы хотели видеть в нашем продукте”. Даже если вы напряжетесь изо всех сил и попытаетесь состыковать все требования, то в реальности скорее всего ваш публичный опросник превратится в гадюшник в стиле “эти дебилы до сих пор не реализовали фичу X” (в новом стиле: “они уже два года не втянули мой pull-реквест”). А ваш проект постигнет судьба 401-го Москвича, у которого предыдущие 400 не смогли выехать за ворота завода.

Что же делать?

Вспомните, как вы делали проект не под заказ, а реально для себя. Для развлечения, для друзей или знакомых, для общей тусовки, для альтернативного источника дохода. Попробую угадать: вы быстро набросали общий прототип из говна и палок, постоянно говоря себе: “вот здесь надо доработать, вот тут попозже надо улучшить, а ещё нам надо сделать вот эту штуку”.

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

Так кто же ставит задачи в Agile-проекте?

Ответ прост: задачи ставит сам ваш проект. Ни Заказчик, ни исследования рынка, ни техническое задание, ни модный бэклог или вишлист – не дадут вам миллиграммов той ценной информации, которая возникает в потоке работы “здесь надо сделать вот такую штуку”.

Поэтому ни освоение новых технологий, ни длительная “фаза исследования инструментов”, – не скажут вам тех простых истин, которые скажет ваш рабочий прототип. Чем быстрее вы соберёте рабочий прототип и забросите его в холодные воды реальности, тем быстрее вы реально поймёте что вообще происходит, какие перед вами стоят задачи и какие проблемы вам придётся решать.

За свою жизнь вы, вероятно, написали или прочитали сотни Технических заданий. Вы сотни раз сталкивались с фатальными проблемами при деплое и запуске проекта, когда все сроки просрочены, и каждый час на вес золота, и каждая ошибка грозит миллионами потерь. Рецепт прост: возьмите любое ТЗ, и переставьте пункт “Деплой и запуск проекта” на первое место. Вы даже не представляете, как изменится ваша жизнь.

Every block of stone has a statue inside it, and it is the task of the sculptor to discover it.