Посещая форумы по программированию, я постоянно встречаю людей, обсуждающих организацию дел в компаниях, где они работают. И часто в очень обиженных тонах.
Более того, я сам вдруг, совершенно неожиданно получил письмо от хорошего, грамотного разработчика о серьезных управленческих ошибках со стороны руководства, которые подрывают мотивацию команды и ее веру в светлое будущее.
В письме обычно приводился анализ какой-то цепочки ситуаций, а затем сообщалось, что автор устал и больше не видит для себя возможности работать в компании.
Я не наивен и понимаю, что, скорее всего, разработчик видел, например, более привлекательные финансовые перспективы где-то еще.
Однако не стоит упрощать — иногда люди переходят в другую компанию ровно за такую же зарплату, а иногда (и к нам, и от нас) даже с убытком.
Уход разработчика всегда не только крайне разочаровывает, но и потому, что команда теряет ценного сотрудника.
Уход может оказаться критическим, так как Компания уже взяла на себя обязательства по этому работнику и неисполнение этих обязательств грозит Компании различными неприятностями, в том числе невозможностью своевременно выплатить заработную плату большому количеству невиновных товарищей.
Обнаружив, что разработчики часто имеют довольно смутное представление о том, как работают «глобальные» бизнес-процессы в компании, я решил попробовать объяснить разработчикам, в чем проблемы тех, кто пытается организовать свою работу и направить ее в «мирное русло».
лицо.
При управлении любой структурой менеджерам приходится принимать множество различных решений, меняющих как саму структуру, так и происходящие в ней процессы.
Это очень похоже на программирование.
Допустим, есть необходимость ускорить работу программы - этого требует Клиент, иначе он ее не купит. Вы начинаете думать о том, как этого добиться.
У вас есть идеи, вам нужно внести изменения в код, чтобы их протестировать — и когда вы это делаете, вы принимаете управленческие решения.
Менеджер делает ровно то же самое — вносит изменения в код, в алгоритмы взаимодействия частей управляемой системы, то есть сотрудников.
Правда, система гораздо сложнее программы, поскольку содержит в себе еще и такие факторы, как психология, эмоции, чувство справедливости и многое другое.
Не все решения оказываются успешными.
Точно как программист. Некоторые изменения в коде в определенных случаях приводят к ухудшению работы программы, а иногда и к ее сбою.
Правда, в отличие от менеджера, программист может запускать свою программу много раз и смотреть, что происходит и как она работает. Но даже в этих случаях, как показывает наша практика, код может содержать множество важных и даже критических ошибок.
Что будет дальше? Ваш код тщательно тестируется тестировщиками и другими специалистами (разработчиками, менеджерами проектов и т. д.) и информирует вас о обнаруженных дефектах, что дает вам возможность их исправить.
Но даже после этого Клиент может столкнуться с новыми ошибками.
Он сообщает о них.
Тестировщики их локализуют — и программист получает следующую информацию: в таком-то месте программы есть такая-то ошибка, приводящая к таким-то неприятным последствиям.
А теперь представьте, что все молчат об ошибках, найденных в вашем коде, и ничего вам не говорят. Но они обижаются на все новые и новые ошибки, рассуждая так: «Ну и что такое? Этот парень продолжает совершать все больше и больше ошибок! Как вы можете предоставить нам программное обеспечение с такими ошибками? Просто поток ошибок! Он нас совсем не уважает! Наша мотивация работать с ним падает все ниже и ниже.
» Наконец решение принято: «Этого больше нельзя терпеть! Мы больше не хотим с ним работать!» Как вы думаете, правильно ли так поступать по отношению к программисту? Будет ли он производить хороший код без отзывов об ошибках и необходимости тех или иных улучшений? Есть ли перспектива добиться хорошего результата при таком подходе? Я думаю, ответ очевиден.
Но менеджер оказывается именно в такой ситуации.
Он, как и программист, допускает различные ошибки, но потребители его управленческого кода, его подчиненные чаще всего упорно молчат и обижаются, обижаются и молчат. И тогда они заявляют о своей отставке.
Было бы нормально, если бы Клиент сначала долго терпел ошибки в нашем ПО, ничего о них не сообщая, а потом, в конце концов, просто отправлял нас, потому что такие ошибки больше терпеть просто нельзя! Я думаю, это не нормально.
Правильная ситуация – это сотрудничество с Клиентом, который указывает нам на наши ошибки, вносит предложения по улучшению ситуации – и тогда совместными усилиями мы получаем достойный продукт, который сейчас у нас закупают ведущие мировые компании.
Ровно то же самое относится и к менеджменту.
Следуя потребностям наших Клиентов, в стремлении к улучшениям мы вынуждены менять нашу компанию, принимать различные управленческие решения, вносить изменения в ее код. Иногда мы совершаем ошибки.
Программисты знают, что можно написать тысячу строк правильного кода и еще пару строк, которые сделают неработоспособной всю программу — как написанную сейчас, так и написанную ранее вами и другими людьми до вас.
Рецепт борьбы с этой неизбежной неприятностью прост: обнаружить ошибку, сообщить о ней, локализовать, исправить.
Ровно то же самое относится и к менеджменту.
Менеджеры, как и программисты, всегда будут совершать ошибки.
Но благодаря отзывам они смогут их исправить.
И вместе с подчинёнными делать всё более эффективную систему, которая сможет работать лучше и зарабатывать всё больше.
Несмотря на постоянное потрясение и большое искреннее горе, я уже почти свыкся с теми недоразумениями, которые описал в статье.
в начале письма (потому что они случались со мной десятки раз).
Но меня всегда поражает наивная вера программистов — людей, имеющих реальный опыт создания сложных систем, — что в управлении все должно быть правильно, а менеджеры не должны допускать ошибок.
А если реальность в Компании не такая, то они обижаются (ну или у них падает мотивация - как хотите это называйте).
То есть Клиент не говорит: «Ребята, у вас тут ошибка, исправьте ее», а молчит и все больше обижается на неправильное отношение к его потребностям и стремлениям.
Он считает несправедливым, что ему дают код с ошибками, и тогда реально страдают тысячи людей.
Но он считает справедливым назвать это отвратительным с нашей стороны.
Представьте себе, когда у нас есть правильный Клиент, мы совместными усилиями, пройдя через определенные трудности, все же можем, в конце концов, создать действительно отличную систему, которая будет все больше и больше удовлетворять его потребности, с которыми он будет все больше и больше комфортный.
комфортный.
И совершенно невероятно, что Клиент получит то, что ему нужно, то, что ему комфортно, если его молча обидеть.
Даже если мы все облажаемся, результат не будет хорошим, потому что из-за незнания и непонимания мы будем совершать все больше и больше ошибок, и ситуация будет становиться все хуже и хуже.
Я пишу это потому, что мы сами являемся архитекторами своего счастья.
Мы можем эффективно двигаться в правильном направлении, чтобы все участники разработки были довольны и счастливы, если у нас есть отзывы и мы вместе работаем над улучшением нашей системы — нашей компании.
Мы требуем от Клиента оплаты наших услуг в обмен на его удовлетворенность нашим продуктом.
Нам нужна эффективная работа от Застройщика в обмен на удовлетворение его работой в нашей компании.
Клиент в идеале хотел бы, чтобы мы работали за 20 000 рублей в месяц и сразу выдавали то, что ему нужно, желательно не через год, а через пару недель, и чтобы все сразу работало идеально, без ошибок и без глупостей.
вопросы, что для него лучше – так или иначе («Вы правда не знаете, чего я хочу? Вы называете себя специалистами!»)? Мы с вами понимаем, что это невозможно.
Мы не будем работать за 20 000 рублей в месяц.
Даже гений не может сделать многие вещи за пару недель, так как эта работа занимает у команды из трех человек полгода, если им повезет и не возникнут неведомые трудности.
Программы работают как надо только после нескольких итераций, исправлено множество ошибок и внесено множество дополнительных улучшений, предложенных Клиентом.
Но осознав, что за хороший конечный результат отвечаем мы оба – и Подрядчик, и Заказчик, что этот результат возможен только как плод совместных усилий и компромиссов, правильный Заказчик в конечном итоге получает то, что ему нужно, что дает ему конкурентное преимущество.
над соперниками.
Программисту в идеале хотелось бы, чтобы ему платили 150 тысяч рублей и никогда не было сверхурочных; он мог делать не то, что нужно Компании, а то, что его интересует. И желательно, чтобы штрафы, которые иногда приходится платить компании за критические ошибки в ее коде, вообще на нее не влияли.
Компания, у которой в результате его ошибок осталось на 300 тысяч рублей меньше на закупку нового оборудования, мебели и т. д., должна просто объяснить команде проекта, которая получает гораздо меньшую зарплату, чем программисты, но получает бонус от команды проекта.
дохода, что они теперь будут получать на вознаграждение на 100 тысяч рублей меньше каждому.
А вот программистов, передавших Клиенту непроверенный код, нельзя оштрафовать даже на пару сотен, то есть процент от потерь компании, потому что им так некомфортно - им хочется ответственности - финансовой, даже символической по сравнению с потерями других, программисты ответственности не понесли ни в коем случае (как говорится, «штрафы демотивируют разработчиков»).
Мы понимаем, что это невозможно.
Невозможно получать большее вознаграждение, ничем для этого не жертвуя, не становясь лучше, не пройдя сложный путь к совершенству, до того момента, когда Клиенты действительно согласны платить много, ведь мы, как компания, этого стоим.
Для этого нам нужна репутация, которую мы постепенно и трудно зарабатываем и которую легко потерять после нескольких перелетов.
Невозможно всегда избегать ответственности за ошибки.
Если бы многие люди в компании действительно пострадали морально (клиент, с которым они постоянно общаются и от которого зависит успех их работы, считает, что его грубо подставили, потому что он простоял целый день и каждый из 200 агентов и парочки десяток супервайзеров недоработали в этом месяце 5% от зарплаты, а собственник 10% от прибыли - и все на них злятся), и в материальном плане: доходы проекта стали заметно меньше - и их вознаграждение стало заметно меньше.
Невозможно объяснить команде проекта (а это много людей), которые работали честно и на которых обиженный Клиент возложил как моральную, так и материальную ответственность, почему только они должны нести ответственность за эту ошибку, к которой они не имеют прямого отношения , а тот, кто не несет ответственности, вообще не должен нести ответственность.
кто это позволил.
Обратите внимание, мы не говорим о том, что код должен быть без ошибок — мы говорим о том, что он был доставлен Клиенту вообще без тестирования.
В этой ситуации руководитель уже не может даже принимать никаких решений.
Справедливости от него требуют десятки пострадавших, которые будут ужасно обижены на Компанию совершенно безвозвратно, если настоящие виновники их бед не разделят с ними хотя бы реальную, то есть финансовую ответственность.
Но если программист, как и Клиент в его случае, не ждет чуда, не надеется, что какие-то дяди-менеджеры организуют ему все так, что за ту же самую работу, ради которой он не желает нести значительная ответственность, почему-то со временем он будет получать все больше и больше, а, наоборот, будет указывать менеджерам на их ошибки, помогать локализовать проблему, предлагать свое видение решения, тогда мы, как и в случае итеративного создания программного обеспечения будет итеративно улучшать нашу организацию, нашу ответственность и наши методы мотивации.
Мы будем развивать и укреплять с таким трудом завоеванное лидерство, которое у нас есть сегодня.
И Клиенты будут платить нам все охотнее.
И зарплата программистов действительно увеличится, потому что повысится их эффективность.
Не только благодаря росту индивидуального мастерства, но и благодаря более правильной, более рациональной организации нашей работы.
Ведь лучшая стратегия повышения заработной платы – это повышение эффективности и качества.
Есть известный пример, иллюстрирующий позицию лидера.
На чемпионате по гольфу призовой фонд для победителя составляет один миллион четыреста тысяч долларов, за второе место – шестьдесят тысяч, а за третье место – только двенадцать тысяч.
При этом результат первого всего на полпроцента лучше второго и на полтора процента лучше третьего.
Точно такие же правила действуют и в бизнесе.
Лидер, который на пару процентов лучше второго, получает вознаграждение в разы больше.
Вы должны стремиться быть первым – и награда не заставит себя долго ждать.
У нас очень сложный бизнес, в котором все сильно зависят друг от друга.
Может быть, 40 человек очень стараются и работают усердно и честно, но неправильные действия одного портят работу многим.
Помните пословицу о ложке дегтя? Мы живем в 21 веке и не очень понимаем, что такое деготь.
Позвольте мне внести ясность.
В целой бочке была маленькая чайная ложка дерьма.
Вряд ли вы, зная это, захотите его съесть.
Результат работы конкретного программиста может кардинально повлиять на результат работы всей команды разработчиков, внедрителей и менеджеров.
Было бы здорово, если бы мы могли совместно найти способ повысить индивидуальную ответственность разработчиков, поскольку от этой индивидуальной ответственности порой зависят многие люди.
Представьте себе, что на автомобильном конвейере на одном из участков сборки двигателей установлена гильза цилиндра с нарушениями технологии.
Этот косяк обесценивает честный труд всех остальных участников процесса, ведь независимо от добросовестной работы всех остальных в результате получается брак.
Правильный путь, с моей точки зрения, — не требовать освобождения от ответственности.
Потому что оно все равно приходит и от него нельзя освободиться – можно только передать другим.
Помните «Накажи невиновных, вознагради невиновных»? Это неправильная, губительная стратегия! Нам нужно организовать себя так, чтобы этой ответственности не возникало, потому что у нас действительно все хорошо.
Условия, в которых мы существуем, объективны.
И менеджеры совершают ошибки, так же, как и программисты, из лучших побуждений, из желания сделать систему лучше, дополнить ее возможностями, улучшить производительность, срезать углы в логике.
Только исправив ошибки управления, мы сможем сделать нашу систему лучше, а нашу жизнь интереснее и комфортнее.
Еще пара аналогий между программированием и управлением.
Думаю, нам уже ясно, что решения зачастую нуждаются в корректировке так же, как и программный код, и что для этого необходима обратная связь от потребителей управленческих решений, то есть от сотрудников.
Иногда клиенты сталкиваются с серьезной ошибкой/проблемой, которую невозможно исправить немедленно.
Иногда, чтобы устранить ошибку/проблему, нужны серьезные усилия и много времени, ведь иногда нужно, как в анекдоте, «менять всю систему».
Глупый Клиент иногда не понимает: «Я вам рассказал о проблеме 3 недели назад, а она до сих пор не устранена! Вы ничего не делаете! Он иногда не может понять, что у нас очередь задач по разработке, и мы не можем решить все проблемы сразу.
Что проблема сложна и требует многих месяцев работы и изменений ряда взаимозависимых подсистем.
Если он будет терпелив, то в конечном итоге получит то, что ему нужно.
И его система будет лучше, чем у конкурентов, потому что он помог нам сделать ее лучше, чем у конкурентов.
Вряд ли результат будет хорошим, если Клиент займет позицию: «Я Клиент и поэтому я всегда прав.
Не обременяй меня своими проблемами — просто сделай меня счастливым».
Если Клиент для вас слишком далеко (жаль, если это так), то представьте на его месте тестировщика, который ничего не объясняет, не указывает на ошибки, а просто требует, чтобы вы убедились, что он доволен.
И прямо к следующей среде.
Скажите, есть ли нормальные конструктивные перспективы в этой ситуации? И здесь, даже если сотрудники не будут молчать, этого недостаточно для решения всех проблем.
Многие сотрудники действительно искренне заинтересованы в улучшениях и сообщают менеджерам о проблемах.
Это очень полезно и позволяет менеджерам осознавать эти проблемы и искать их решения.
Но часто слышу следующее — «мы уже говорили об этой проблеме в мае, но дела все те же — в этой компании ничего не происходит» (читай: «и поэтому наша мотивация неуклонно снижается»)! Разве мы сами не говорим Клиенту, что эту проблему невозможно решить за две недели – она требует упорных и ДЛИТЕЛЬНЫХ усилий всей команды.
А иногда даже (какой кошмар!) мы осознаем проблему, но еще не придумали, как с ней бороться.
Но мы обязательно придумаем решение (еще никогда не было, чтобы мы в итоге не решили поставленные перед собой задачи!).
Вам нужно помочь найти выход, и нужно набраться терпения.
Терпение – добродетель, которая вознаграждается в нужном месте.
Два года назад на предприятии работало 70 человек.
И сейчас здесь работает 250 человек.
Все эти люди сильно зависят от работы программистов, то есть от вас.
Чтобы не дрожать по ночам, им необходимо быть уверенными в том, что те, от кого они так сильно зависят, — спокойные, рассудительные и ответственные люди.
И ни в какой момент не скажут: делай что хочешь, а я пойду.
Вот мое заявление об увольнении.
Обещания, которые ты дал мне, меня не беспокоят. Мне все равно, что будет с коллегами, подтвердившими эти обещания лично на глазах Клиентов.
Я не могу крестить ими детей.
Когда это, к сожалению, все же происходит, руководству приходится учитывать не только интересы того, кто собирается уйти, но и интересы тех двух с половиной сотен человек, которые остаются и никому не сделали ничего плохого.
чтобы так легко страдать.
Поэтому мы стараемся в данном случае объяснить, что нам очень поможет, если они поработают хотя бы месяц, и мы сможем как-то сориентироваться и договориться с Клиентами.
У тех, кто хочет уйти, есть права, но наши менеджеры были бы бесполезны, если бы они также не защищали права тех, кто остался.
Мы всегда с большим уважением относимся к кандидатам, которые говорят: «Я хочу у вас работать, но у меня есть обязательства на старом месте и я должен их закрыть.
Сможешь ли ты подождатьЭ».
Ответственность – очень важное качество, и мы всегда говорим: «Конечно.
Мы потерпим.
Покрой свои долги».
Мы хотели бы, чтобы к нашим нуждам относились так же ответственно, как мы относимся к другим.
Попросив нас поработать месяц-два вместо двух недель, мы удерживаем ребят от неправильного поступка, за который потом (когда они вырастут) им будет стыдно.
Повторяю еще раз: Наша компания, наша организационная структура, наши процессы — это код, который мы пишем вместе.
Дайте нам обратную связь, идеи по улучшению, помогите нам их реализовать – и мы будем гордиться своей компанией, потому что работать в ней будет комфортно и интересно.
Теги: #Менеджмент #программисты #мотивация #Управление проектами
-
Лекарство От Синдрома «Незаконных Операций»
19 Oct, 24 -
Вышло Обновление Для Nokia N900
19 Oct, 24 -
Запретный Город Онлайн
19 Oct, 24