Много лун назад я написал в твиттере о том, как повысить продуктивность разработчиков:

Время отслеживания

В сообществе разработчиков программного обеспечения существуют довольно большие разногласия по поводу регистрации времени. Конечно, если вы платите, вам нужно регистрировать свое время, но что, если это не так? Нужно ли отслеживать время, которое вы тратите на написание кода? Способствует ли отслеживание времени повышению производительности разработчиков?

Теперь я знаю, что никто не любит отслеживать свое время. Это боль. Сложно быть точным. Трудно правильно классифицировать время. Но это может быть неоценимо для принятия этих важных бизнес-решений. Я не собираюсь решать этот спор здесь.

Но есть большая проблема с измерением времени. Единственное, что вы действительно можете измерить, это «время ягодиц». Butt Time — это фактическое количество времени, в течение которого кто-то сидит на стуле во время работы над проектом.

Конечно, вам нужно время приклада, чтобы выполнить любую работу. Но менеджеры не должны настаивать на большом количестве прикладного времени. Butt Time — это не то, что вы хотите максимизировать. То, что вы действительно хотите развивать, — это Brain Time.

Что вы действительно хотите измерить?

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

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

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

Зона

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

Но это очень сложно, если не невозможно, сделать. Получить точные и содержательные измерения времени стыка достаточно сложно. Но как вообще можно измерить Brain Time?

Я утверждаю, что вы действительно не можете. В конце концов, «Время для ягодиц» — всего лишь плохой аналог «Время для мозга». И слишком часто менеджеры используют время прикладывания в качестве меры производительности. Что нам нужно сделать, так это попытаться увеличить соотношение времени ягодиц и времени мозга, создав среду, в которой время мозга максимизируется в процентах от общего времени ягодиц. Крайне важно повысить продуктивность разработчиков.

Что вы можете сделать, чтобы повысить продуктивность разработчиков?

Есть способы сделать это — убедитесь, что у ваших разработчиков есть офис с дверью, которую они могут закрыть, — это важный первый шаг. Книга Peopleware — настоящая Библия для этого, и Джоэл Спольски тоже много говорил об этом. Непрерывное тихое время является ключевым моментом. Оставить разработчиков в покое крайне важно для максимизации Brain Time.

Разработчики изначально знают, что «время стыковки» на самом деле не важно. Они знают, что время, потраченное на размышления, гораздо ценнее. Я знаю разработчиков, которые лучше всего думают, бродя по коридорам, якобы «ничего не делая» (не дай Бог, чтобы разработчик не сидел в своем кресле!), или готовя чашку кофе.

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

Присоединяйтесь к обсуждению всего, что связано с разработкой программного обеспечения, на Dev Interrupted Discord Server!

Менеджеры должны признать это и поощрять свою команду делать то, что им нужно делать, чтобы мыслить наилучшим образом. Если разработчик может сконцентрироваться ночью с 22:00 до 3:00, то его следует поощрять к работе именно в это время. Все разработчики разные, и хороший менеджер узнает, что работает для членов его команды, и обеспечит это.

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

Butt Time легко найти и довольно легко измерить. Мозговое время, однако, является драгоценным и трудно поддающимся измерению товаром, который необходимо лелеять и уважать. Если вы действительно хотите повысить продуктивность разработчиков, оптимизируйте для Brain Time.

Первоначально опубликовано на https://linearb.io 23 апреля 2021 г.