Привет, Хабр! В своей работе мы используем парное программирование и сегодня хотим поделиться с сообществом советами, которые помогают нам повысить эффективность этого метода.
При парном программировании два программиста решают задачу совместными усилиями, сидя плечом друг к другу за одним компьютером. Первый выступает «водителем», который печатает код на клавиатуре, а второй служит «штурманом» — он следит за тем, чтобы в программе не было ошибок, занимается архитектурой кода, планирует последовательность действий и думает о правильности кодирования в стратегическом масштабе. Такой способ разработки позволяет поддерживать более высокую концентрацию, стимулирует тщательно продумывать решение еще до его реализации и значительно снижает количество ошибок и повышает качество кода.
Парное программирование имеет целый ряд достоинств:
Чтобы извлечь из всех преимуществ парного программирования еще большую пользу, нужно соблюдать несколько простых правил:
Парное программирование теряет эффективность, если члены пары тратят время на споры о стиле кодирования. Чтобы избежать разногласий, нужно стандартизировать «несущественные атрибуты» программирования, чтобы разработчики могли сосредоточиться на стоящей перед ними «существенной» задаче и не отвлекались на согласование стилей.
Парное программирование — это совместная работа, а не наблюдение одного разработчика за другим. Программист, который не занимается непосредственно написанием кода, должен принимать активное участие в разработке: анализировать код, планировать следующий этап, оценивать проект программы в целом, думать о том, как проводить тестирование и т.д.
В большинстве компаний, использующих парное программирование, в итоге приходят к выводу, что в парах лучше выполнять не все, а только некоторые части работы. С реализацией простых фрагментов кода разработчик эффективнее справится самостоятельно. Кроме того, в некоторых случаях для написания наиболее сложного кода выгоднее посвятить 15 минут детальному проектированию на доске и затем программировать поодиночке.
Как и при использовании других методик совместной разработки, одно из главных преимуществ парного программирования в том, что каждый из разработчиков изучает разные части системы. Регулярная смена состава пар помогает стимулировать обмен опытом и знаниями между всеми членами команды. Некоторые эксперты рекомендуют менять состав пар ежедневно.
Когда один из партнеров работает слишком быстро, второму приходится стараться успевать за его темпом, что снижает качество анализа кода. В таком случае парное программирование не выполняет нужную функцию и начинает терять смысл. Член пары с более высокой скоростью должен снизить темп, либо пару нужно разбить и переформировать в другом составе.
Убедитесь в том, что оба разработчика хорошо разбирают код на экране. Неправильное расположение монитора или слишком мелкий шрифт могут снижать эффективность парного программирования.
Не стоит забывать и об эргономике — когда при передаче клавиатуры от одного члена пары другому, она остается в центре стола и каждому приходится наклоняться, оба быстро устанут и начнут терять концентрацию.
Как и в других совместных задачах, чем лучше отношения между членами пары и чем больше они соответствуют друг другу по характеру, тем выше будет результативность работы. Эффективность парного программирования зависит от того, насколько хорошо разработчики ладят друг с другом, поэтому объединять в пару людей, у которых не очень складываются отношения, бессмысленно.
Максимальную выгоду от парного программирования можно получить, если хотя бы один из разработчиков в паре уже имел опыт парного программирования и сможет научить второго.
Когда все члены команды хотят выполнить реализовать все задачи, используя программирование в парах, выберите ответственного за распределение задачи и контроль результатов проекта.
А вы используете парное программирование? Поделитесь своими секретами в комментариях!
При парном программировании два программиста решают задачу совместными усилиями, сидя плечом друг к другу за одним компьютером. Первый выступает «водителем», который печатает код на клавиатуре, а второй служит «штурманом» — он следит за тем, чтобы в программе не было ошибок, занимается архитектурой кода, планирует последовательность действий и думает о правильности кодирования в стратегическом масштабе. Такой способ разработки позволяет поддерживать более высокую концентрацию, стимулирует тщательно продумывать решение еще до его реализации и значительно снижает количество ошибок и повышает качество кода.
Почему мы используем в работе парное программирование?
Парное программирование имеет целый ряд достоинств:
- В сравнении с одиночным программированием оно позволяет программистам успешнее противостоять стрессу. Члены пары поощряют друг друга поддерживать высокое качество кода даже в напряженных условиях, когда может возникать желание написать «грязный» код для ускорения выполнения задачи.
- Парное программирование повышает качество кода, благодаря тому, что наблюдатель постоянно проверяет, следит за качеством и понятностью кода и задает уточняющие вопросы. Таким образом, удобочитаемость и понятность кода всех разработчиков повышаются до уровня кода лучшего программиста группы.
- Парное программирование ускоряет разработку системы. Как правило, пары пишут код быстрее, и большинство ошибок можно обнаружить сразу в процессе кодирования, а не тестирования. Соответственно в конце проекта группе приходится тратить намного меньше времени на исправление дефектов.
- Парное программирование усиливает взаимодействие внутри команды. Во время работы над проектом пары рекомендуется перемешивать, чтобы каждый разработчик в команде к моменту окончания проекта обладал глубокими знаниями о каждой из его частей.
- Парное программирование обеспечивает все остальные общие преимущества совместного конструирования, такие как распространение корпоративной культуры, обучение начинающих программистов и содействие совместному владению результатами работы.
Как сделать парное программирование более успешным
Чтобы извлечь из всех преимуществ парного программирования еще большую пользу, нужно соблюдать несколько простых правил:
№1. Поддерживайте парное программирование стандартами кодирования
Парное программирование теряет эффективность, если члены пары тратят время на споры о стиле кодирования. Чтобы избежать разногласий, нужно стандартизировать «несущественные атрибуты» программирования, чтобы разработчики могли сосредоточиться на стоящей перед ними «существенной» задаче и не отвлекались на согласование стилей.
№2. Не превращайте парное программирование в наблюдение
Парное программирование — это совместная работа, а не наблюдение одного разработчика за другим. Программист, который не занимается непосредственно написанием кода, должен принимать активное участие в разработке: анализировать код, планировать следующий этап, оценивать проект программы в целом, думать о том, как проводить тестирование и т.д.
№3. Определяйте задачи, которые целесообразно решать в парах
В большинстве компаний, использующих парное программирование, в итоге приходят к выводу, что в парах лучше выполнять не все, а только некоторые части работы. С реализацией простых фрагментов кода разработчик эффективнее справится самостоятельно. Кроме того, в некоторых случаях для написания наиболее сложного кода выгоднее посвятить 15 минут детальному проектированию на доске и затем программировать поодиночке.
№4. Постоянно меняйте состав пар и назначаемые им задачи
Как и при использовании других методик совместной разработки, одно из главных преимуществ парного программирования в том, что каждый из разработчиков изучает разные части системы. Регулярная смена состава пар помогает стимулировать обмен опытом и знаниями между всеми членами команды. Некоторые эксперты рекомендуют менять состав пар ежедневно.
№5. Старайтесь объединять в пару людей с одинаковым темпом работы
Когда один из партнеров работает слишком быстро, второму приходится стараться успевать за его темпом, что снижает качество анализа кода. В таком случае парное программирование не выполняет нужную функцию и начинает терять смысл. Член пары с более высокой скоростью должен снизить темп, либо пару нужно разбить и переформировать в другом составе.
№6. Оба члена пары должны хорошо видеть экран
Убедитесь в том, что оба разработчика хорошо разбирают код на экране. Неправильное расположение монитора или слишком мелкий шрифт могут снижать эффективность парного программирования.
Не стоит забывать и об эргономике — когда при передаче клавиатуры от одного члена пары другому, она остается в центре стола и каждому приходится наклоняться, оба быстро устанут и начнут терять концентрацию.
№7. Не объединяйте в пару людей, которые не нравятся друг другу
Как и в других совместных задачах, чем лучше отношения между членами пары и чем больше они соответствуют друг другу по характеру, тем выше будет результативность работы. Эффективность парного программирования зависит от того, насколько хорошо разработчики ладят друг с другом, поэтому объединять в пару людей, у которых не очень складываются отношения, бессмысленно.
№8. Не составляйте пару из людей, которые ранее не имели опыта в парном программировании
Максимальную выгоду от парного программирования можно получить, если хотя бы один из разработчиков в паре уже имел опыт парного программирования и сможет научить второго.
№9. Выбирайте лидера группы
Когда все члены команды хотят выполнить реализовать все задачи, используя программирование в парах, выберите ответственного за распределение задачи и контроль результатов проекта.
А вы используете парное программирование? Поделитесь своими секретами в комментариях!