… или мой опыт, про который не напишут в книжках. Вторая часть
Айтишник – это прежде всего тонкая и чувствительная натура, а уже потом грязно матерящийся скунс.
Давным-давно существует стандартная структура управления: наверху начальник, а внизу его подчиненные. Подчиненные тоже могут быть начальниками и так далее по нисходящей. Всё всем известно и понятно. Однако окружающие не стоят на месте и пытаются все время придумать нечто новое. Всякие agile, scrum и прочие красиво звучащие штуки. Одной из такой штук стало матричное управление.
Всякие умные слова можно прочитать … ну скажем, на e-xecutive.
Согласитесь же, круто все? Наша компания самая прогрессивная и вообще практически мгновенно адаптируется к изменяющимся условиям!
Однако … в общем, опять перейду на личности. В общем, в свое время я совершил две ошибки: во-первых, позволил этому зародиться в компании. Не подумал, пропустил, не смог доказать. Уже не важно. А во-вторых, вместо активного разъяснения я выбрал линию активного противодействия. Думаю, многие вспомнят совещания, где я прямым текстом говорил, что я дал команду подчиненным всех приходящих к ним с вопросами/задачами/еще чем посылать “на х.й”. Вообще всех. И все претензии отправлять мне. И мне было абсолютно пофиг на то, что айтишников ругали. Хорошо еще, что еще было кого ругать …
Что бы понять, почему я так возбудился, необходимо сделать небольшой экскурс в внутренности айтишника. Инженера, архитектора, черта лысого. Не важно.
Айтишник, по роду своей работы, просто вынужден оперировать многими сущностями. И число этих сущностей часто превышает несколько десятков. Причем иногда взаимосвязи между этими сущностями оказываются очень хитрыми и черезногузадирищенскими. Потребности бизнеса и все такое.
Не верите? Смотрите, что произойдет в гипотетической (да, она идеальная) организации при приеме на работу нового сотрудника. Кадровик вбивает в какую-нибудь систему “принят на работу Иванов Иван Иванович”. Система отправляет данные в кадровую систему (заплата, паспорт и так далее), кадровая система переварив данные и проверив все, плюет запрос в систему поддержки (компьютер со столом надо? к сети подключить надо?), система поддержки раскидывает запросы к АХОшникам (за столами и стульями) и к айтишникам (логин, пароль, распределение по группам и прочие). Данные от айтишников убегают назад в кадровую систему (где сидит), на портал (где типа все тусуются, можно посмотреть телефоны и прочее) и дальше расходятся по другим бизнес системам (где-то надо завести каталог, где-то скрипт выполнить, где-то еще что-то надо делать). И все это попутно проверяется на ошибки, синхронизируется между собой и так далее. А потом приходит Иван Иванович и отправляет запрос “не хочу быть Ivan, хочу быть Vanya” и начинается легкий армагеддец внутри систем, которые начинают внутри менять данные, да так что бы не порвать уже налаженные связи.
И это очень простой процесс. Вон, я кратко в абзац уложился. В реальности кто забивает на такие закидоны, кто пытается автоматизировать этот процесс.
К чему это я? И вот представьте себе айтишника, которому поручили добавить еще одну подсистему в уже существующую связку.
Сначала он укладывает в голове то, что существует сейчас. Примите как данность, что одинаковых систем не бывает и у всех есть нюансы, иногда (хорошо, почти всегда) не описанные.
Потом он мысленно пробегает по взаимосвязям в духе “ага, это идет туда, а потом собирается вот тут и тут”. Говоря другими словами имитирует деятельность системы прямо в голове.
Следующим шагом он добавляет в полученную схему новое. Мысленно. “тут надо перехватить, сюда идут, отсюда выходят …”
И наконец, проиграв еще раз схему, он ее реализует в реальности.
Так или примерно так работает башка у любого айтишника. Разница обычно в глубине “охвата” и “проработки” деталей. Кто-то способен в башке удержать инфраструктуру целиком, а у кого-то мозгов хватает только на одну функцию.
И вот состояние, в котором пребывает айтишник во время подобного, кто-то называет “потоком”, кто-то “размышлизмами”, кто-то еще как. У авиадиспетчеров вроде это называется “поймать картинку”.
А теперь самое противное: это состояние довольно легко прерывается и надо начинать все сначала (реально сначала, функции save или pause не предусмотрено). Прерывается шумом за окном, разговором, звонками. И кому-то получается отключиться от раздражителей просто так, а кому-то необходима помощь. И именно поэтому, зайдя в разгар дня в любую айтишную компанию, вы увидите людей с наушниками. Айтишные комнаты и так обычно самые тихие в компании, а тут еще и наушники одевают. Все именно для сохранения “потокового” состояния.
Вернемся к матричному управлению. Про недостатки можете сами прочитать по ссылке, которую я дал выше. Позвольте обратить ваше внимание на только один недостаток: многоначалие.
Для примера возьмем обычного инженера по системе Х. Система хорошая, используется самой компанией, плюс продается и внедряется другим. И этот инженер в структуре матричного управления по проектам, связанным с этой системой. Проекты обычно в разной стадии: где-то пресеил идет, где-то уже поддержка, а где-то внедрение …
И вот садится этот инженер, берет задачу “включить хрень в Х”. Читает документацию, вникает, заходит на систему, начинает править … И тут прибегает продажник с “тут клиент звонит, Х умеет такую фигню через пипку?”. Бабах! “Потока” почти нет. Выяснили, чем пипка от фиговинки отличается, умеет ли Х это и так далее, “поток” ушел совсем. Начинаем снова. Через некоторое время прибегает менеджер с другого проекта с вопросом “ну как там внедрение Х?”. Бабах! Начинаем снова. И это в зависимости от “проектной” загрузки повторяется с завидной частотой.
Результат: “включить хрень в Х” проседает по срокам и качеству напрочь. Инженер, как любой нормальный человек, начинает нервничать и пытаться хоть как-то вытянуть задачу, а раздражители продолжают сыпаться … Все последующее можете додумать сами.
И именно поэтому я дал команду всех посылать. Да, это невежливо, зато “поток” не прерывается. А уже пришедшим ко мне с претензиями я пытался объяснить, что у нас есть специальный человек, который занимается распределением задач по инженерам и контролирует их. Вот с ним все вопросы и решайте. А лучше, что бы и его не расстраивать и дергать понапрасну, идите в почту/систему управления проектами и там уже описывайте свои хотелки. И долго неайтишные люди не могли понять, что же они делают не так … “ведь я только спросить, чего вам жалко что ли …”.
К сожалению, только ближе к концу все поняли, что от них требуется и схема заработала без нервотрепки всех сторон. Сколько нервов было безвозвратно уничтожено – подсчету не поддается …
Я начальник, а значит подчиненные должны быть зае…ными!
Жила-была компания. Хорошо жила, развивалась. Постепенно внутренняя инфраструктура обрастала серверами в ответ на растущие потребности компании. Почта, CRM, файлопомойка, багтрекер, проджект-сервер и так далее и тому подобное. И во всех этих системах начали накапливаться результаты по проектам. В почте переписка, на помойке файлики, в проджекте графики и ход выполнения … В общем, жизнь кипит.
Любой начальник знает, что подчиненных надо контролировать. А то будут делать не то и не туда. А еще ему надо отчитываться перед вышестоящим начальником, а тому еще выше. А как контролировать подчиненных? Правильно, совещания. А какая основная цель совещания? Понять, что сделано (или не сделано) за прошедшее время и что надо сделать дальше.
И вот начальник придумал гениальную мысль: а пусть все подчиненные присылают отчеты! А я буду их смотреть и сравнивать, что изменилось между прошлым отчетом и этим. Ну и буду ругать согласно не сделанному. Потом, ведь эти отчеты можно будет использовать и для докладов вышестоящему начальству! Кругом же польза для меня любимого. Легко задавив робкие “так вон же, все данные лежат …”, быстро смастерил табличку и грозным рыком разослал по подчиненным.
Поматерились подчиненные, но делать нечего. Ты начальник, а я дурак. Стали заполнять таблички. Кто про время, кто про задачи, кто про проекты. Понравилось это начальнику. Всегда есть цифры и прочие слова, которые можно предъявить кому угодно. И время на совещаниях меньше тратит.
Но потом внезапно понял начальник, что он начал тонуть в отчетах. А потом пару раз произошли факапы. И наказать не получилось: сотрудники предъявили старые отчеты, в которых они прямо предупреждали о этом. А ведь перед вышестоящим начальником отвечать ему, а не его сотрудникам.
Думал-думал начальник и решил заставить сотрудников писать сводный отчет. Дескать, все мы в одной компании работаем, вот и собирайте все в кучу. И снова будем совещаться и обсуждать. И началось раздолье: кто не успел, тот виноват, ату его! А сотрудники стали тратить половину дня в выяснении, у кого последняя версия файла, почему кто-то записал то, когда в реальности вон то … нет, они потом сообразили использовать Google Docs, но все равно: потери времени были чудовищными.
А ведь будь начальник потолковее, возглавил бы процесс объединения систем, благо знания про такие системы были у его подчиненных, настроить отчетность как надо и реально получил бы инструмент контроля …