Насколько популярным является парное программирование?

Насколько популярны в мире (я знаю, что сообщество stackoverflow происходит из разных частей мира) - это парное программирование? Вы когда-нибудь работали, работаете ли вы или работаете ли вы в компании, занимающейся парным программированием?

Каково ваше мнение по этому вопросу?

Ответ 1

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

Я бы сказал, что я чувствовал себя наиболее продуктивным, когда мы делали это на полную ставку. Это, я думаю, связано с тем, что оно поощряет такую ​​высокую степень сотрудничества с командой. Однако было также важно, чтобы мы регулярно меняли пары - один или два раза в день. Вот несколько снимков установки на прежнем месте:

http://www.cornetdesign.com/images/carfax

Реализация парного программирования, однако, означает, что вы преодолели несколько элементов в Five Dysfunctions of the team - в первую очередь доверие и общение. Это также полезно, чтобы иметь возможность попасть в поток - мы использовали программирование Ping-Pong - можно было бы написать неудачный тест, другой - заставить его пройти и написать следующий неудачный тест, причем оба из нас участвуют в рефакторинге, поскольку нам нужно было.

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

Ответ 2

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

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

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

G'day,

Я использовал парное программирование в нескольких контекстах. Все из них являются коммерческими BTW.

Я многому научился, работая с людьми с большим опытом.

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

Для хорошего обсуждения различных типов парного программирования взгляните на книгу Лори Уильямса и Роберта Кесслера "" Pair Programming Illuminated".

Эта книга также является отличным источником информации об экономике парного программирования.

веселит,

Rob

Ответ 6

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

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

Ответ 7

У меня был негативный опыт программирования на парах. Вам нужны программисты подобного опыта, чтобы сделать это полезным. Вы ставите лучшее с худшим, а худшее позволит лучше написать весь код с небольшим или отсутствием ввода. Вы ставите лучшее вместе, а худшее вместе, и лучшее будет по-прежнему выдавать высококачественный код, но худшее будет производить дерьмо, но только на 50% меньше (так как только два из них полируют турку).

Ответ 8

В настоящее время работает с компанией, которая использует много парных программ

Я думаю, что программирование на парах отлично, потому что оно улучшило меня как разработчика следующими способами:

  • Лучше знать IDE, чтобы я мог работать быстрее и умнее (большая любовь к быстрому исправлению затмения!)

  • Остановил меня, делая глупые вещи

  • Быстрое ускорение на массивной кодовой базе очень быстро

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

  • Наставники младших программистов эффективно передают мою мудрость [sic!]

  • Повысить знание языка

  • Улучшение навыков программирования

Ответ 9

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

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

Википедия для Pair Programming ссылается на некоторые из исследований, о которых я упоминаю выше.

Ответ 10

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

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

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

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

Ответ 11

Я сделал это более 30 лет назад при написании ISDN-протоколов для телекоммуникационной компании (тогда это не называлось "парным программированием", но мы были названы "unix twins" нашим менеджером проектов. Поскольку мы были наняты в качестве консультантов, менеджеры ИТ были скептически настроены изначально, как вы можете себе представить. Но тогда им понравилась идея и фактически она продолжала работать некоторое время даже после того, как мы уехали (как мне сказали парни, которые взяли на себя наш код).

Я все еще использую его сегодня (больше не для кода ядра C, тем не менее)

PS: Я помню один момент, когда я заболел, и мне пришлось оставаться в постели в течение недели или около того. Когда я снова появился, мой приятель синхронизовал меня на 10-минутном брифинге, рассказывая мне, что он сделал и почему, а затем мы продолжили, как обычно. Не было реального прерывания, пока я был в отъезде, поскольку мы оба смогли создать резервную копию другой (статистика ошибок немного выросла на этой неделе)

Ответ 12

Этот ответ показывает парное программирование как способ научить младших программистов, как писать тесты и стать лучшими программистами.

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

Ответ 13

Паровое программирование помогает понять домен/проект/архитектуру для вновь подключенного сотрудника. Это помогает сократить общее время разработки (например: front end и поддерживаемый разработчик работает вместе в Agile), и, следовательно, он увеличивает производительность. Выполняя обзор кода с другим разработчиком/архитектурой, он также помогает узнать что-то новое с точки зрения внедрения новых шаблонов проектирования и следовать стандартным форматам кодирования. Для меня всегда работает парное программирование.

1) QA не откроет больше дефектов (код бездефектного кода) 2) Быстрое ускорение на массивной кодовой базе очень быстро 3) Улучшение навыков программирования 4) Увеличивайте знания домена при выполнении парного программирования.