Слушать новости
Телеграм: @gazetaru

Расскажу, зачем вам «бездари»-менеджеры

Фото: CI
Доброго времени суток! Как всегда – «камменты рулят». Хотя в целом отношение оказалось куда добрее, чем я ожидал. Ну и слава Богу! Хотелось бы ответить на некоторые вопросы и развеять некоторые недоразумения. Ну и, разумеется, лишний раз подчеркнуть, о чем собственно была написана статья (а написана она была совсем не о том, о чем многим показалось).

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

Прежде всего – многие жалеют о том, что статью написал человек, далекий от IT, и дают ценные советы – сначала попробовать самому попрограммировать, а потом уже писать на тему разработки ПО. Уважаемые господа клоуны! Я «пишу програмки» уже больше 10 лет, причем большую часть этих лет вполне успешно. Причем о некоторых из них подавляющее большинство из вас не могло не слышать. Рассказывать мне о «меняющихся требованиях» и «нечетких спецификациях», соответственно, достаточно нелепо, я со всем этим знаком не понаслышке. У меня есть к вам встречное предложение – а давайте ВЫ с начала попробуете поруководить хотя бы одним коммерческим проектом, а уже потом будете ввязываться в дискуссии по вопросам менеджмента в IT? А то пока ваше мнение сильно напоминает мнение ребенка о педагогике или солдата об уставе.

Другая интересная реакция – критика. Критика меня вообще и всех менеджеров в IT в частности.

90% писателей не пожалели своего рабочего времени на то, чтобы сообщить мне о том, что я очень плохой PM, как и все остальные представители этой бесславной профессии.

Уважаемые (и не очень) коллеги! Вы вполне можете быть правы. Я не буду даже пытаться доказать вам, что я хороший менеджер (или что ваш личный PM – профессионал мега-класса).

Но скажите на милость, какое это имеет отношение к предмету разговора? Или, еще точнее, каким образом низкая квалификация PM-а оправдывает низкую квалификацию его разработчиков, а тем более их безответственность и банальное разгильдяйство? Проекты проваливаются не только (и не столько) по вине разработчиков, сколько по вине менеджеров и аналитиков? Да, конечно. И каким образом это доказывает высочайшую квалификацию разработчика, отказывающегося нести ответственность за судьбу проекта, да и вообще делать что-либо кроме собственно кодирования? Боюсь, что этого мне не понять.

Я, будучи самым плохим PM-ом в истории, не могу оценить квалификацию программиста? Возможно, зато я могу сделать это, будучи опытным программистом сам. Я переоцениваю свою квалификацию? Опять же возможно, но что же тогда можно сказать о тех, кто делает свою работу в 5-10 раз хуже меня?

Итак – в чем суть претензий?

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

И вы говорите – тут от моей квалификации ничего не зависит. В таких условиях работать нельзя. Провал проекта практически неизбежен и я ничего не могу сделать – так что можно смело отправляться на сайт газеты ру и покидаться калом в очередного «аффтара».

Однако если вы думаете, что выше я описал ситуацию, в которой оказывается программист, которому не повезло с менеджером – то вы ошибаетесь. Я описал ситуацию, в которой я, в качестве PM-а, оказываюсь КАЖДЫЙ раз, когда начинаю работу над новым проектом.

Никто не ставит мне формальное техническое задание. Никто не дает мне четких и непротиворечивых требований к продукту. Сроки и объем разработки часто уже зафиксированы в контракте и изменению не подлежат. Ресурсы? Как всегда – людей мало, а квалификация – низкая.

Но я не ною и не впадаю в истерику. Я не посылаю начальство учить длинные и заковыристые аббревиатуры. Почему? А потому что это нормальная, рабочая ситуация.

Что нужно делать? Уточнить требования (с помощью аналитиков или самостоятельно), разработать общую архитектуру, разбить задачу на части, оценить примерные трудозатраты, распределить задачи, составить календарный план работ – и начать заниматься делом, а газета ру подождет просвета между факапами. Никакой мистики, просто обычная, повседневная работа.

Ваш менеджер не делает эту работу сам (скажем – не умеет) или делегирует вам ее часть? Ну, скажем, выделяет вам отдельный модуль, не дав четких указаний по реализации? Где стол аналитика, знаете? Мозги в голове есть? Ну так садитесь и делайте ту работу, которую нужно сделать, чтобы сдать проект вовремя. Почему я могу и должен это сделать, а вы не можете и не должны? Потому что я PM и это моя работа? Ответ неверный.

Моя работа, как PM-а, заключается в дроблении задачи на части (вполне возможно – с вашей помощью), распределению этой работы между участниками проектной команды и контролю прогресса выполнения.

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

Даже если вы себя оцениваете верно (что вряд ли), ваше Творчество, к сожалению, не помогает сдать проект в срок. Творите дома, в свободное от работы время.

Самый мощный и самый сложный инструмент в арсенале PM-а – делегирование. Вы не можете закодировать этот модуль без четкого технического задания? Отлично! Вот и напишите себе четкое техническое задание. Это не ваша работа? Ошибаетесь, с этого момента ваша. Почему? Потому что я так сказал. Я вам не начальник и не могу указывать? Да ну? Идем вместе к техническому директору, он подтверждает, что менеджер проекта – начальник над вами, вставляет вам огромных разделов пропистон (а заодно и мне – чтобы не расслаблялся) и мы возвращаемся к нашим баранам.

Что делает в такой ситуации профессиональный программист? Он делает то же, что сделал бы его менеджер, если бы у него было на это время (про квалификацию временно забываем).

Что делает в такой ситуации тупой кодер? Не знаете? А я знаю – он пытается переложить ответственность на аналитика.

Иногда небезуспешно и больше того – абсолютно справедливо, так как ожидания бизнес-пользователей должны быть предоставлены в полном объеме. Но тупому кодеру ни один вменяемый PM сложной и плохо описанной задачи не отдаст. А что если с точки зрения бизнеса задача описывается очень просто «А на вход – Б на выход», а вот внутреннее устройство системы из этого описания однозначно не вытекает? Аналитик тут – не помощник.

Тут с тупым кодером, как правило, случается истерика. Если еще каких-то три дня назад он презирал своего менеджера за неспособность полно и непротиворечиво поставить задачу, то теперь он его презирает за неспособность понять, что «написание формального ФС до начала кодирования» — это полная глупость и блажь.

Он обязательно попытается убедить всех и каждого, что правильно сложить два и два невозможно в принципе (Коллегам на заметку – не знаю почему, но грозное «Хочешь, чтобы я сам это сделал??!» почему-то работает безотказно).

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

Так что разница между специалистом квалифицированным и обычным – это небо и земля. Профессионал может в значительной степени компенсировать провалы в других отношениях (прежде всего – организационном и в аналитике), а «тупой кодер» может поломать казавшийся безотказно налаженным механизм. И ладно, если бы люди, отлынивающие от любой работы, кроме собственно кодирования, код выдавали высококачественный – так ведь нет. Одно тянет другое и одно невозможно без другого. Без общей дисциплины и ответственности качественного кодирования тоже не бывает (ну по крайней мере я не видел, не повезло мне, видать). Поэтому ценность такого члена команды в любом случае – весьма сомнительна. А куда деваться?

Так что умерьте пыл, уважаемые коллеги! Ваши PM-ы – полные идиоты и я вместе с ними? Процесс в ваших компаниях поставлен ужасно, аналитики – полные бездари, сроки – нереальны и вообще все плохо?

Ага. Все верно. Но я не вполне понимаю, как ваша позиция помогает улучшить ситуацию.

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

Все можно организовать гораздо лучше и таких проблем не будет? Ну вот и организуйте этот процесс в своей компании! Слабо? Вот и мне слабо. Пока. Но я стараюсь становиться лучше – шаг за шагом. И вам всем того же желаю!

С Наступающим!