Моя команда занималась парным программированием с самого начала, задолго до того, как я там работала, как часть магазина, в основном в стиле "экстремального программирования". Парное программирование является состоянием по умолчанию ; люди действительно идут в одиночку, если есть нечетное число, или время от времени для расследований, особенно тех, которые включают в себя возиться с враждебным оборудованием и пытаться заставить его работать.
«Младший / старший» не единственный путь. «Средний / младший» полезен; это помогает парню среднего уровня синтезировать знания, которые он получил, заставляя его передать это кому-то еще. Задачи «Средний / Средний» два человека работают вместе, чтобы делиться своими знаниями, общаться и работать в команде. И даже если у вас есть два действительно старших парня, скорее всего, они имеют разные области знаний и могут предложить разные подходы. Аспекты обмена знаниями не заканчиваются, когда кто-то смутно «набирает скорость» в проекте. Скорее, парное программирование является воплощением обучающейся организации . Новые методы и лучшие практики быстро распространяются.
Парное программирование также помогает поддерживать качество кода (меньше дефектов) и здравый смысл кода (он не просто делает то, что намеревается, но делает то, что должен ... в идеале, не отказываясь от многонедельного кролика. дыра, делающая неправильную вещь, или две разные правильные вещи, которые будут дико конфликтовать). Это помогает программистам сохранять свое внимание: здесь, в сердце Силиконовой долины, где находится 80-часовая рабочая неделя, мы можем работать всего 40 часов в неделю, потому что мы интенсивно программируем по восемь часов в день, переключая вещи друг с другом (Кроме того, если бы вы занялись парным программированием дольше, вы, вероятно, перевернулись бы. Или, по крайней мере, сгорели.) Это отлично подходит для баланса между работой и личной жизнью, а также помогает вашей организации, когда важно иметь быстрый оборот (в частности, оборот с малой задержкой).
Это не все, полностью, 100% персики и сливки; Я считаю, что парное программирование иногда является препятствием для моего применения интуитивных мозговых процессов, которые полезны при определенных проблемах. Совсем недавно, на задачу утечки памяти, я провел некоторое время с парами и без; без этого я чувствовал себя свободнее возиться и пробовать эксперименты, не зная точно, как объяснить, что я делал в любой момент. Есть также некоторые преимущества в работе синглтона, когда он может работать по касательной и выполнять определенные дикие рефакторинги (оцениваемые в методологии XP) по прихоти.
Но, в целом, преимущества намного перевешивают затраты, и сопряжение сработало для нас очень хорошо: от начального этапа до приобретения более крупной компанией и нашей последующей интеграции. (Кстати, парное программирование помогло нам сохранить непрерывность культуры за счет расширения и несмотря на небольшой оборот).
(Мы разрабатываем программное обеспечение на Perl, ~ 4000–40 000 долл. По прейскуранту.)