Общая идея, поддерживаемая большинством теоретиков Agile / XP , заключается в том, что пары должны регулярно меняться местами. Например, каждый программист должен менять пары один раз в день; половина людей меняет местами в начале дня, половина людей меняет местами после обеда: из-за внешних факторов, таких как встречи, праздники и т. п., большинство людей склонны менять время обмена один или два раза в неделю, чтобы парные конфигурации распределялись довольно равномерно по всей команде.
Одним из обоснований частой замены является то, что знания распределяются среди команды быстро и равномерно, а не концентрируются на конкретных навыках и знаниях у отдельных людей - это означает, что работа может продолжаться гладко, если люди либо уезжают, либо покидают компанию. Другое обоснование, которое является своего рода следствием догмы, связанной с самим парным программированием, заключается в том, что каждый раз, когда кто-то меняет вас, вы получаете новый обзор кода свежей парой глаз, так что это может только улучшить качество кода.
Оба утверждения звучат разумно; с точки зрения менеджмента это звучит так, как будто вы получаете повышение как стабильности, так и качества, и, как следствие такого частого обмена, это в значительной степени стандартная теория в большинстве книг по Agile / XP, на которые я смотрел.
Итак, когда на самом деле применяются на практике, что люди на самом деле думают о парном обмене с
- Точка зрения программиста?
- Точка зрения менеджера?
И
- Что должно определить, когда кто-то поменяется с / на пару?
Ответы:
Парное программирование сложно.
Это сложно, потому что это работает лучше всего, когда 2 вовлеченных человека близки по уровню квалификации, и это может быть сложно в некоторых рабочих условиях. Это может быть сложнее, когда вы меняете место, потому что вам нужно найти кого-то другого с соответствующим уровнем квалификации, а затем довести его до скорости по текущей проблеме. Преимущество заключается в том, что все больше людей получают доступ к любому фрагменту кода, который был связан. Это должно привести к меньшему количеству случаев, когда код не может быть исправлен, потому что никто не знает об этом достаточно. Он также должен пропагандировать групповое владение и способность любого взять на себя любую работу.
Я обнаружил, что даже в средах, где выполняется сопряжение, обмен парами не стоит затрат. Однако это может быть связано с тем, что наши задачи никогда не занимают более 1,5 дней. Мы нашли большое преимущество в том, чтобы разбивать задачи не более чем на 1,5 дня работы. Обмен парами может иметь больше смысла в контексте более длительных задач.
источник
Я и программист, и менеджер. Вот мой дубль:
Регулярная замена это здорово. Я предпочитаю обмениваться 2-4 раза в день, что примерно так же быстро, как я думаю, вы можете пойти. Для нас это происходит в естественных переломных моментах: обычно обед и полдень. Менять каждый день или два, наверное, хорошо, но я бы беспокоился о том, чтобы идти намного дольше. (Я слышал об одном месте, которое обменивается так же редко, как каждые шесть недель, что, на мой взгляд, безумие; после такого большого количества времени вместе вы будете готовы нанести удар святому.)
Как программист, мне это нравится, потому что я получаю свежие взгляды, проверяю другие области кода и могу либо придерживаться чего-либо, либо двигаться дальше по своему усмотрению. Я только недавно перешел от одиночного кодирования к парному соединению, и я в восторге: я учусь больше, получаю больше удовольствия и делаю больше.
Как менеджер, я думаю, что это здорово, потому что это решает множество проблем, связанных с грузовиками и узкими местами. Например, в эти выходные я беру долгие выходные на свадьбу друга, и я совсем не волнуюсь: все, над чем я работал, также работали другие люди. Я также думаю, что это действительно помогает членам команды ценить сильные и слабые стороны друг друга и поощрять коллективное владение кодом.
Что касается того, кто остается с текущей работой, я чувствую, что это в основном зависит от вовлеченных людей. Иногда вы хотите что-то увидеть, а иногда вы готовы к переменам. Мы также иногда обмениваемся, чтобы привнести опыт, или чтобы кто-то мог узнать что-то, в чем он заинтересован. Мы стараемся, чтобы наши единицы работы были довольно небольшими (0,5-2,0 пары дней), так что это не имеет большого значения, однако обмен происходит ,
источник
Хорошо, здесь идет ответ от самопровозглашенного прагматичного программиста Agile / XP. Я занимаюсь парным программированием уже более двух лет. Если парное программирование хорошо, меняйте пары часто (в идеале каждые два часа, если не каждые полдня). В нашем офисе мы рекомендуем менять пары каждый день (обычно) или каждые два дня (в худшем случае). Выполнение этого само по себе может дать нам большую уверенность в качестве кода, который мы фиксируем и изучаем или отнимаем, который мы имеем при каждой ротации пары (мы знаем, что проверка кода хороша, чем больше, тем лучше и чем раньше, тем лучше. Это то, чего достигает «парное программирование, включая практику обмена парами» .
Почему мы не меняем пары каждые два / четыре часа? Ну, на самом деле я был в командах, которые практикуют это тоже. Это, конечно, намного круче и продуктивнее. Но здесь дело в том, что временной интервал обмена парами не должен быть правилом, это должно происходить само по себе; только тогда менеджер или бизнес увидят его преимущества.
Я был свидетелем и испытал это. Теперь я его евангелист. Это не теория. Скорее прагматично :) Счастливое соединение в пинг-понге и обмен парами.
источник