Психологические роли разработчика
8 ноября 2009
Ицхак Адизес написал несколько книг про менеджмент и про психологические типы и роли в компании, про то как они сочетаются. Разложил по полочкам эти характеристики, и показал то что в развивающейся компании нужны конфликтующие роли и соответствующие люди для них, иначе все плохо. Может и ничего нового, но хорошо расписал и это отличная система для организации и понимания команды.
Он выделил 4 роли: Producer — Administrator — Enterpreneur — Integrator — сокращенно PAEI. Адизес описал все в общем случае, мне же это интересно на примере команды разработки ПО. Только я позволю себе перевести названия ролей не дословно.
Стахановец — Producer
Делает работу, здесь и сейчас. Поставь ему задачу и он ею тут же займется. И у него всегда много задач, всегда есть что делать, даже поздно вечером и даже ночью. Почти идеальный работник, большинство хороших разработчиков именно такие.
Ему важно что он делает, и как. С презрением смотрит на все что не помогает в его работе. Ну например багтрекер, отчеты о проделанной работе, письма и тем более все эти совещания. Зачем они ему? Он и так знает что он делает, что сделал и что дальше ему делать. И каждая минуты потраченная на эти, казалось бы, бесполезные вещи отнимает время от выполнения своей основной работы, что он очень не любит.
Бюрократ — Administrator
Этому уже важен не столько результат как процесс. Главное чтобы все было сделано правильно, оптимально, с использованием наилучшей технологии, чтобы все потенциальны ошибки были учтены в документации, все требования собраны, а весь код протестирован и задокументирован, и т.д. И он все сделает для того что бы так и было.
Он потратит неделю на вылизывание небольшого скрипта, пусть и одноразового. Для него просто унизительно сделать что-то неправильно, даже если цена правильности в сотни раз выше цены задачи. Но задачу доведет до конца, сделает все как положено, в этом можно на него положиться. Если задача правильная, конечно, за неправильную задачу вообще не возьмется.
Изобретатель — Interpreneur
У него всегда куча идей о том что еще нужно сделать, что улучшить, что вообще переписать, просто фонтан предложений. Когда у него появляется задачка, совсем маленькая, он добавит кучу дополнительных фич, и предложит большое комплексное решение, уже совсем новое. Возможно даже прорыв, не что-то серое, что было в начале, а гениальное изобретение.
Когда он начнет воплощать идею в код, на это не хватит всего времени, да и вообще все будет переделываться бесконечное число раз, так и не получив никакого работающего продукта, нарушив все планы, даже если в процессе возникали десятки гениальных бетаверсий, так и не доведенных до конца.
Политик — Integrator
Ему важно чтобы все были согласны с задачей, и пока все не скажут что они обсудили и нужно сделать именно так как они говорят. Он не нажмет и клавиши, даже если в багтерекере задача стоит с максимальным приоритетом. Ему важно чтобы задача была действительно важная, нужная всем, что бы все договорились и пришли к единому мнению. И пока он этого не увидит, он будет со всем соглашаться, поддакивать, но ничего не делать, пока будет сомневаться в том что все уже решено. Лишь потому что он не готов делать что-то, что может кому-то не понравиться.
Конфликт ролей
Все эти типы, конечно, не будут так выражены как я написал, у большинства людей будет какая то смесь. Четвертый тип вообще огромная редкость, он всегда в паре с другим (я, правда, встречал исключение). И никакой из них не является плохим, все хороши и нужны. Но в любом случае все они конфликтую друг с другом, одним важно что делать, другим как делать, одним будущее, другим настоящее. И важно уметь различать эти роли, видеть конфликт интересов, и делать чтобы он был конструктивным. А конфликт нужен, не надо его избегать, это развитие компании. Важно лишь наладить конструктивное взаимодействие разных типов, иначе будет плохо, команда будет разваливаться, или, в лучшем случае, идти не туда, скорее к краху компании. Я пару раз наступил на эти грабли, неправильно организовав процесс по отношению к некоторым разработчикам, неверно распознав их тип, надеюсь не повторится.
Рекомендую прочитать одну из книг этого автора, например Идеальный руководитель: Почему им нельзя стать и что из этого следует или почитать в инете, если интересны подробности, и, например, то как согласовать эти роли и добиться конструктивного конфликта. Я, в свою очередь, постараюсь тоже написать об этом, чуть позже.

ноября 30, 2009 в 13:00
[...] предыдущей заметке про психологические роли разработчика я сказал что они явно конфликтуют друг с другом, и я [...]
декабря 21, 2009 в 14:17
А вот это как согласуется с вашей жизненной концепцией — peter631.wordpress.com/20...%bd%d0%b8%d0%b5/ Готов предположить что вы сами больше подпадаете под категорию Дзенин!
P.S. А можно эту капчу убрать — я дальтоник!!!
марта 1, 2010 в 17:31
[...] Психологические роли разработчика [...]
апреля 23, 2010 в 13:49
[...] Психологические роли разработчика [...]
декабря 29, 2010 в 09:41
Чертовски верная классификация. Именно поэтому, имея дело с разработчиками второго и третьего типа, всегда хочется впасть в одну из двух крайностей: либо просто прекратить иметь с ними дело навсегда, либо начать их нещадно пиздить, приковав к батарее наручниками, чтобы они забыли начисто о том, что у них есть какие-то там роли.