Поведение и навыки, продемонстрированные лучшими парными программистами.

Доктор Саллианн Фройденберг - инженер-программист и психолог, который провел много времени, наблюдая за поведением высокопроизводительных команд разработчиков программного обеспечения. Ее блоги содержат массу информации для любого программиста, желающего отточить свои навыки.

Как инженер без какого-либо психологического образования, я не мог не думать - это действительно, действительно хороший материал. Он доступен, понятен и понятен. Я подумал ... может, я ошибся карьерой? Может, я психолог! Я прочитал немного Фрейда и о боже мой ужас, так что я определенно все еще инженер и больше не интересуюсь психологией. Также я не могу смотреть маме в глаза.

В любом случае, после многих часов повторяющихся усилий, вызывающих травмы, вот что я произвел. Сборник советов, основанный на работе доктора Фройденберга. Я надеюсь, что вы воспользуетесь этим в качестве учебника или закуски, если хотите, прежде чем погрузиться в работу доктора Фройденберга и выработать более полное понимание. Давайте начнем.

Делайте регулярные перерывы

Легко открыть. Я знаю, что в молодости я походила на твою мать. Она предостерегла вас от квадратных глаз. Что ж, она ошибалась насчет квадратных глаз, но была права, что время от времени делала чертовски перерыв.

Регулярные перерывы хорошо понимаются в психологии. В контексте парного программирования они:

  • Не допускайте чрезмерного накопления контекста. Разрывы ломают вещи.
  • Снизьте когнитивную нагрузку и обеспечьте более длительные сеансы парного программирования в целом.
  • Сделайте вас счастливее!

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

Нажмите на клавиатуру, не бери

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

Водитель - узнайте, когда нужно остановиться.

Пример из исследования доктора Фройденберга иллюстрирует это.

Пример 1 (Анна ориентируется, Бен за рулем):

Анна: «Если ты… .. пойди в…»

Бен: (придвигая к ней клавиатуру) «(Ты) водишь… это проще».

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

Навигатор - не лишайте силы.

Когда смотрите, смотрите. Делайте намеки, будьте дружелюбны, но не вынуждайте водителя терять контроль. Это вызывает негодование. Обращайтесь с этой клавиатурой осторожно.

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

Есть где рисовать.

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

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

Иногда вещи сложно передать без наспех нарисованной картинки. Если у вас нет доски, используйте блокнот. В одном примере доктор Фройденберг наблюдал, как кто-то водит пальцем по диаграмме. Рисование искры радости людям!

Пригласите спонтанную помощь извне

Итак, вы работаете над проблемой. API, который необходимо использовать и сохранить в базе данных. Вы дискутируете, обсуждаете и начинаете писать. Ничего не работает, и вы не знаете почему, но если вы можете просто сосредоточиться… еще немного. Еще несколько часов без перерыва.

Затем… Билл из отдела платежей наклоняется и спрашивает вас о том, что вы только что сказали.

Но Билл прав.

«Эй, эта конечная точка на самом деле использует модель, отличную от других API-интерфейсов», - бормочет Билл, остро ощущая грозовой взгляд в ваших глазах. Вы могли злиться на Билла, но правда в том, что он был прав, что остановил вас. Вы собирались написать какой-то взломанный код. Билл - враг? Нет. Ваш способ работы.

Могут случиться перебои, особенно когда вы создаете неправильный материал. По правде говоря, Билл только что спас твой бекон. Согласно исследованию доктора Фройденберга, такого рода открытое общение приветствовалось высокопроизводительными парами. Это увеличило передачу знаний и сделало объединение более эффективным.

Так что извинись перед Биллом. Он просто сэкономил вам кучу времени и свежие седые волосы.

Сохранить контекст

Проблема с предыдущим сценарием заключалась в контексте. Может быть, Билл мог бы потренировать личные границы, но если бы это был не Билл, то это была бы Сандра из отдела операций. Кровавая Сандра…

Этот сложный часовой механизм контекста в вашем воображении доступен только в вашей гостиной. На рабочем месте вам придется разговаривать, и не всегда на своих условиях. Доктор Фройденберг объясняет, что инженеры-программисты должны одновременно работать на нескольких уровнях абстракции, постоянно переходя на уровни детализации и выходя из них. Это создает проблемы при создании в уме больших сложных изображений. Как с этим справляются высокопроизводительные пары?

Списки, глупый гусь

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

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

И еще кое-что о списках

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

Разделите бремя с командой тегов.

Кофе номер семь. Этот проклятый тест не станет «зеленым», как бы вы ни старались. Вы решили поменяться местами, когда это произошло, поэтому вы ехали уже более часа. Вы устали, вашему партнеру скучно, и прогресс практически остановился. Скоро вы пойдете домой и будете пить виски, как любой американский боевик 90-х.

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

В этом есть интуитивный смысл, правда? На ринге, если S холодный Стив Остин устает, вы знаете, что он собирается пометить Рок (мои знания о рестлинге устарели). Если у вас заканчивается заряд, это должно быть законной причиной для смены драйверов. Не спотыкайтесь и не впадайте в марш смерти.

Следите за сообщениями доктора Фройденберга в Twitter! Я делаю, и ты тоже должен. Кроме того, исходный материал для этой статьи (включая все соответствующие академические источники) доступен в Замечательном блоге Сала.

Пока вы это делаете, подписывайтесь на меня в твиттере. Я регулярно веду блог о работе других, более умных людей.