Автор Тема: Позитивное про парное программирование,  (Прочитано 8032 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
http://www.itaddict.ru/2011/02/blog-post_25.html
Цитировать
Экстремальное парное программирование

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

Болтливый кодер

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

Что вы думаете? Принадлежит ли это к этому домену или нет? Много ли выполняет этот класс?

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

Герой в наушниках

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


Трололокодер

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


Техники парного программирования:

"Пинг-понг" программирование

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

Слияние пары и саморазвитие

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

Удаленное парное программирование

Здесь может возникнуть множество проблем при становлении пары. Но если пара сработается, то не будет уже особой разницы, сидят они за одним столом или находятся на разных континентах. Сейчас существует огромное количество различных способов удаленного взаимодействия, так что всех их здесь описывать не имеет смысла.

Ротация пар

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

Илья Ермаков

  • Full Member
  • ***
  • Сообщений: 177
    • Просмотр профиля
    • OberonCore
Re:Позитивное про парное программирование,
« Ответ #1 : Февраль 28, 2011, 09:39:53 pm »
Практика показывает, что молодёжь - студенты, работающие над творческим проектом реальным на производственной практике производственной - хорошо и продуктивно "шуруют" в паре. Я убеждён на опыте таких пар в эффективности этого метода. Просто его не обязательно применять всё время, а периодически, сводя определённых программистов для определённых целей (в первую очередь их роста обычно).