Как часто бывает в жизни: приходит новый менеджер и ставит задачу повысить количество реализуемых фич в 2 раза за следующий спринт. Разработчики, конечно, стараются, работают, остаются на выходные, выполняют поставленный план, но потом почему-то все увольняются.

Большинство людей видит продуктивность, исходя из парадигмы: чем больше ты производишь, чем больше делаешь, тем выше твоя продуктивность. Но истинная продуктивность есть функция двух элементов: полученного результата и затраченных ресурсов. Поддерживать баланс между результатом и ресурсами часто бывает довольно непросто. Однако в этом балансе и заключается вся суть. Он приводит к сбалансированности краткосрочного и долгосрочного.

Любой руководитель, будь то руководитель группы разработки или руководитель отдела, должен заботиться о повышении продуктивности работы своей команды. Но как это сделать разумно? Можно ли повысить продуктивность работы команды, например, в 10 раз?

Сегодня я попробую рассказать мою точку зрения на этот вопрос. Если вам интересно, добро пожаловать под кат!

Для начала нужно понять, что такое продуктивность и как она измеряется в вашей команде. При этом вы можете использовать совершенно разные показатели. Они могут быть количественные и качественные.

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

Для заведения качественных показателей нужно найти эталоны отношения. Например, текущая производительность комплекса и требования по железу N. Тогда метрикой будет являться повышение производительности продукта на 25% или ускорение исполнения длительных задач на те же 25%.

Неплохой метрикой является Cost per unit (стоимость за единицу продукции). Единицей продукции является все, что имеет хоть какое-то значение для пользователя (функциональность, исправление ошибки, повышение производительности и т.д.) Ее можно померить в разрезе на человека, продукт, проект и т.д. Это все те метрики, описанные выше, но выраженные в деньгах.

Для многих важной метрикой является Cycle time (время доставки изменения до клиента). Одно дело, когда вы выкатываете новые фичи и изменения каждый день, другое – раз в месяц или еще реже.

О продуктивности команды нельзя говорить в отрыве от качества поставляемого продукта. Безусловно, вы должны иметь целый набор метрик, оценивающие качество вашего продукта. Давайте приведем несколько примеров таких метрик:

  • количество ошибок, найденных клиентами за промежуток времени после поставки новой версии (пример внешней метрики)
  • количество найденных ошибок в отделе тестирования после передачи функциональности или исправления в верификацию (пример внутренней метрики).

Так как же повысить продуктивность команды?

Посмотрим на продукт, как результат работы команды. Всем известен принцип Парето, из которого следует, что 20% функциональности продукта покрывает 80% нужд пользователей. Остальной функционал либо совсем редко используется, либо не используется совсем. Очень важно тратить время команды именно на нужные и важные фичи, поэтому избавляйтесь от старого и ненужного кода, делайте рефакторинг, упрощайте код и его поддержку. В будущем это значительно повысит эффективность команды.

Невероятно легко попасть в ловушку активности, в круговорот дел и событий, все больше и больше усилий расходуя на то, чтобы делать какие-то новые бесполезные фичи, менять дизайн и т.д., чтобы в один момент осознать, что это никому не нужно. Можно быть и очень занятым человеком, не будучи эффективным.

Давайте разбираться с командой. Ни для кого не секрет, что определенные разработчики в разы, в 10-ки раз продуктивней своих коллег. Ваша задача как руководителя состоит в том, чтобы строить сильную команду и отбирать в нее только лучших кандидатов. Отсюда следует тот факт, что вам нужно прощаться с откровенно слабыми, снижающими продуктивность всей команды участниками. Постоянно задавайте себе вопрос: вы бы наняли этого человека на эту должность, зная то, что знаете сейчас? Если нет, он не должен ее занимать.

Однако, не рубите с плеча. Есть случаи, когда продуктивность отдельного участника команды низкая, но когда он/она находится в команде, продуктивность всей команды возрастает! Важно в команде иметь человека, который поднимал бы общий моральный дух команды. Пусть он даже делает меньше остальных, но зато сплочает коллектив и повышает общий результат.

Рассмотрим организационные и процессные моменты. Вы, как руководитель, обязаны следовать следующему процессу:

  1. устранить «бутылочное горлышко» в ваших текущих процессах и команде,
  2. установить обратную связь по изменению,
  3. повторять этот процесс бесконечное количество раз.

Устранив единожды узкое место, оно вылезет в другом месте. Устранив новое узкое место, вы получите его снова, скорее всего в более маленьком масштабе. В какой-то момент вы поймете, что поиск горлышка для вас стал слишком сложным и его устранение дороже, чем бонус от результата. Для вас настала пора экспериментирования в процессах! Ищите лучшие практики, пробуйте переложить их на свою команду, адаптируйте! Не нужно бояться неудач, не все лучшие практики приживаются в конкретных командах. Следует сделать выводы и двигаться дальше.

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

Ну, и финальное правило для руководителей и всех, кто хочет развиваться!

Выходите из зоны комфорта! Остерегайтесь синдрома «лягушки в кипятке». Говорят, если бросить лягушку в горячую воду, она немедленно выпрыгнет. Но если поместить ту же лягушку в воду комнатной температуры и постепенно нагревать воду до кипения, лягушка не будет пытаться выбраться и в итоге просто сварится. Я не знаю, насколько правдива эта байка в отношении лягушек, но нечто подобное я периодически наблюдаю у руководителей и сотрудников. Люди склонны постепенно привыкать к неприемлемым вещам, которые повергли бы их в шок, если бы они увидели их свежим взглядом.

Развивайтесь, растите, добивайтесь успеха!

Комментарии (16)


  1. red_perez
    23.05.2019 15:06
    +1

    Разработчики, конечно, стараются, работают, остаются на выходные, выполняют поставленный план, но потом почему-то все увольняются.

    Я раскрою страшный секрет, так бывает когда человек не видит связи между повышением продуктивности и зарплатой.


    1. evgenyk
      23.05.2019 15:32
      +1

      Ну зарплата тоже еще не все определяет. На фига зарплата, если времени на жизнь не остается?


      1. red_perez
        23.05.2019 15:38
        +1

        Я для краткости сказал — зарплата.
        На самом деле демотивирует любое отсутствие положительной обратной связи между сотрудником и результатом труда.
        Зарплата самое очевидное…
        Нафига она нужна если времени на жизнь не остается?
        Накопите денег и прекратите работать в 40, дальше живите в свое удовольствие, как вариант.


        1. evgenyk
          23.05.2019 17:32
          +4

          Накопите денег и прекратите работать в 40, дальше живите в свое удовольствие, как вариант.

          Как шутка это годится, как работающий вариант — нет.


          1. red_perez
            23.05.2019 17:47
            +1

            Почему шутка — у меня достаточно много знакомых так поступили.
            Либо останвиться на достигнутом и протихоньку прожигать накопления на себя, либо вложиться в бизнес, купить гостиничку, автомойку, студию и заниматься бизнесом.
            Сосед работал в лондонском сити года 4, потом уволился из банка, сдал дом в аренду и махнул в кругосветку на пол-года.
            Как то так наверное надо. Балланс поддерживать между копить/тратить.
            Смысла работать не видя света белого, складировать деньги в паллеты и помереть за неделю до пенсии точно нет.


            1. evgenyk
              23.05.2019 18:30
              +3

              На длинных отрезках это не работает. Современный мир устроен так, чтобы не было возможности накопить деньги.


              1. red_perez
                23.05.2019 19:12

                Смотря как копить и как тратить.
                Если вы живете и работаете в Калифорнии, то бросив работать оставаться в таком дорогом месте неразумно.
                Красивые закаты и рассветы, чистые пляжи и хрустальная вода бывают и в других местах.
                Я живу в доме хозяин которого вложил заработаное в покупку недвиги и укатил в Латинскую Америку.
                За аренду я плачу $1400 что составляет где то 3-4 средних латиноамериканских зарплаты.
                Классический дауншифтинг.


                1. andi123
                  24.05.2019 12:40

                  Скучно ничего не делать. Особенно после 40. Особенно когда уже есть возможности для реализации задуманного которых нет в 20.

                  Так что не верю. Только если патологический лентяй, тогда откуда финансовая независимость? Не сходится.


                  1. red_perez
                    24.05.2019 12:57

                    Скучно ничего не делать. Особенно после 40. Особенно когда уже есть возможности для реализации задуманного которых нет в 20.

                    Воу-воу, а кто говорит обязательно ничего не делать?
                    Добро пожаловать на новую ступень пирамиды Маслоу.
                    Смысл не в том чтобы ничего не делать.
                    Смысл что у вас достаточно денег чтобы не работать за еду.
                    Открываются возможности для самовыражения.
                    Можн дом строить, детей растить.
                    Можно запилить проект на киккстартер тот который давно хотел но времени не было.
                    Купить винтажный авто и занятся реставрированием.
                    Можно вести кружок и учить школьников программированию.
                    Ходить в хоспис помогать больным.
                    Строить храм.
                    Стать лидером политической партии.


                    1. andi123
                      24.05.2019 15:03

                      А почему нельзя всем этим заниматься сразу?
                      Получается сначало 20 лет на галерах пот выжимать, а потом 20 лет в хосписе винтажные храмы программировать.

                      Лучше по возможности сразу заниматься тем что нравиться.


  1. testopatolog
    23.05.2019 20:36
    +1

    Главная проблема нового Менеджера — это когда он уверен в своих будущих сверх результатах, считает, что у него нет проблем с тем, чтобы постоянно повышать продуктивность, что вначале это, можно делать во многие в разы, но, с другой стороны, лучше постепенно, «нагревая», иначе слабонервные разработчики будут повергнуты в шок, представив, что дано видеть «свежим взглядом» этого, не боящегося неудач и экспериментов, героя статьи.
    История, как известно, повторяется,- предыдущий до нового тоже был Менеджером и также наверняка знал, что такое «истинная продуктивность» как её измерить и повысить, и «повторять этот процесс бесконечное количество раз».

    А если серьёзно, то мне по опыту ближе грамотные самоорганизующиеся команды, где Менеджер типа больше спец по связям со смежниками/руководством/заказчиком, по документации, ведению плана, решению трудовых вопросов, которому понятно, чем методология управления отличается от методологии разработки и где там его зона.
    Работа над ошибками внутри команды и способность Менеджера понимать и своевременно решать проблемы, с которыми она к нему обращается, советоваться для принятия разумного решения — это залог увеличения продуктивности.


    1. digore Автор
      23.05.2019 20:57

      Поделитесь, пожалуйста, опытом, как построить самоорганизующуюся команду?


      1. testopatolog
        23.05.2019 22:42

        Чтобы построить самоорганизующуюся команду, требуются подобрать талантливых ребят. Лучше, если они уже ранее сработались, получая удовольствие от результата своей работы, т.е. реализованных проектов, которыми они заслуженно гордятся. Назначить управлять этой командой неглупого разгильдяя-менеджера, который бы регулярно спорил при всех с таким же, как он, менеджером из другого проекта, кто из них эффективнее и больше понимает в управлении, приводящих разные аргументы.


      1. ddinochrome
        24.05.2019 19:53

        Как вариант — отправиться на обучение к тому, кто уже успешно создавал такие команды. И на практике в контексте реальной задачи всё освоить.


  1. Peter03
    23.05.2019 21:30
    +2

    Самое главное забыли, реальные примеры из собственного опыта, nmivan вот показывает.

    В противном случае это звучит как теория, на уровне:

    чтобы корова меньше ела и больше давала молока ее нужно меньше кормить и больше доить


  1. NeverIn
    24.05.2019 12:29

    Каждый думает о себе. Такова идеология современности.

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

    Перевыполнять норму вредно, это легко становится новой нормой и новыми обязанностями. И в этом контексте все эти переработки в выходные теряют смысл — пусть директор сам выйдет и поработает вместо поездок на Мальдивы или в горы. В конце концов это его бизнес и начинать разговор о переработке с сотрудником следует с предложения некоторой компенсации, на которую работник может и не согласиться.

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