Вот есть грузовик. Принципиальная схема грузовика проста: есть кузов, который перевозит груз. Перевозка груза происходит потому что к кузову приделаны колеса, которые крутятся и передвигают корпус. Колеса крутятся потому что их вращает двигатель посредством вращающегося вала. Двигатель вращает вал так как в нем сгорает бензин, который при сгорании толкает поршень, который сообщает движение валу. Поэтому бензин сгорает, толкает поршень, колеса крутятся, кузов движется, возникает польза – передвижение груза. Каждая деталь – на своем месте, вместе они образуют концептуальное единство.
Никому не приходит в голову сказать “о! классная штука – автомобиль! давайте ее использовать, только мотор выкинем!” или “мысль понятна, но вот про заливание бензина – мне кажется лишнее, он денег стоит, пусть она без бензина едет”. Маразм? Маразм, все понимают. И мастерство водителя здесь совершенно ни при чем – вроде никому в голову не приходит говорить “вот продемонстрируй, какой ты профессиональный водитель – настоящий профессионал должен уметь ездить даже на машине без мотора!” или “настоящий водитель никогда не заправляется!”.
Теперь описываю принципиальную схему agile-проекта. Есть продукт, который производится часто и при релизе имеет пригодный для эксплуатации вид. Его производит команда, которая реализует “хотелки” заказчика, для чего Заказчик каждый день плотно работает с командой. Чтобы темп производства не падал, используются ежедневные собрания, на которых люди говорят “что сделано” и на которых им совестно сказать “ничего не сделано”. Им совестно так сказать потому что они очень хотят выпуска продукта и потому что они уважают коллег, в глазах которых они не желают упасть как профессионалы. Иными словами – профессионалы которые хотят зарелизить продукт собираются каждый день похвастаться друг перед другом успехами в деле выпуска этого продукта через что происходит высокая интенсивность работы над пожеланиями Заказчика который все время находится рядом чтобы направлять команду, и как следствие – мы способны релизить часто, релизить со смыслом и пользой, и добиваться при этом приемлемого качества. Принципиальная схема думаю понятна. А теперь внимание.
Давайте выкинем нафиг “профессионалов”. А потом выкинем “которые хотят сделать продукт!” То есть давайте выкинем из машины мотор, или давайте не зальем бензина – пусть она так едет! А тренеру этой команды мы скажем “настоящий тренер – он сделает agile-проект даже с людьми которые ненавидят другу друга, никогда не программировали, а проект видали в гробу в белых тапках!” Перечитайте часть про грузовик – ничего не напоминает?
Да, даже в таких условиях проект можно сделать. Но в такой ситуации не тренинги по аджайлу нужны, а сержант Хартманн. И никакой аджайл здесь не заработает, я про это уже писал. Тренинги или не тренинги, fogbugz или rally, subversion или VSS – это совершенно неважно.
Один из 12 принципиальных узлов, из которых построен грузовик agile – projects built around motivated individuals. Это один из принципиальных узлов, это мотор (команда) и топливо (мотивация) грузовика. Нет мотора – грузовик, даже самый совершенный, не тронется с места.
Что сделать, чтобы люди хотели сделать проект? Ответ – думайте. Из своей практики могу сказать, что никто обычно не скрывает от чего в работе он приходит в восторг, а отчего впадает в депрессию. Обычно не требуется ничего сверхъественного для того, чтобы человеку было интересно работать над проектом. У кого-то преобладают социальные мотивы, у кого-то – материальные, и есть растения, которые не хотят ничего – но это не повод не анализировать мотивацию своих коллег.
Потому что одно могу сказать точно – ваш проектный agile-грузовик без мотора и бензина не поедет. Можете убиться веником – но мотор (команда) и бензин (мотивация) нужны. Нет, можно конечно запрячь в грузовик четверик, но эффективная телега – это совсем другая система, и фирма Caterpillar явно бы не одобрила свой логотип на такой колымаге (так что подумайте прежде чем говорить “мы делаем agile”, ага).
Есть еще такая распространенная байка – “настоящий девелопер самомотивирован” – почему-то в контексте "его можно поставить разгребать любой свинарник”. У каждого осмысленного человека есть мотивация (набор мотивов деятельности) – это факт. Каждый осмысленный человек ищет путей реализации этих мотивов – это факт.
Именно поэтому “самомотивирован” не имеет ничего общего с “согласен делать что угодно” – если предлагаемая деятельность не вяжется с его мотивами, он будет ужасающе непродуктивен в этой деятельности. Именно поэтому он скорее всего не будет это делать, или будет делать это плохо. У меня например внутренняя мотивация – чистое торнадо, но если мне предложат заняться высокоинтеллектуальной деятельностью “вот тебе документ, вставь в него из ста других документов по кусочку, потому что это очень важно для компании” – я точно не приду от этого в восторг, и точно моя продуктивность на этой задаче будет ниже плинтуса.
Это разъяснение я написал чтоб в конце красным сделать вот такое сообщение: Камрады менеджеры, пока вы не поймете принцип projects built around motivated individuals и не увидите девелоперов, страстно желающих начать ваш проект – не приходите ко мне с просьбами “мои люди не хотят делать agileпроект, и тренинг по agile они не хотят, но надо провести для них тренинг чтоб переубедить!”. Слезно вас прошу – отстаньте! перечитайте текст выше, реализуйте принцип на практике – и тогда они сами попросят у вас тренинг.
