Парное программирование
Парное программирование – это практика гибкой разработки программного обеспечения, при которой два программиста используют одну рабочую станцию.
Один программист (называемый драйвером) пишет код, а другой (наблюдатель) наблюдает, просматривает и дает рекомендации. Два программиста часто меняются ролями. Иногда каждые 15 минут.
Примечание: команда инженеров может реализовать парное программирование удаленно. Драйвер и наблюдатель могут работать вместе в разных местах, если у них есть возможность совместного использования экрана.
Каковы преимущества парного программирования?
Есть несколько причин, по которым некоторые организации, занимающиеся гибкой разработкой, выбирают подход парного программирования. Вот некоторые часто упоминаемые преимущества.
1. Уменьшает количество багов и других ошибок.
Согласно исследованию, проведенному Ассоциацией компьютерной техники (ACM) и школой компьютерных наук Университета Юты, парное программирование привело к уменьшению ошибок на 15%.
Проверка их работы другим программистом в режиме реального времени может помочь кодировщикам выявить ошибки, опечатки и другие ошибки, которые они могли бы пропустить, если бы работали в одиночку.
2. Повышает общий уровень знаний команды.
Как отмечает Agile Alliance, еще одним преимуществом парного программирования является то, что оно ведет к лучшему распространению знаний в команде разработчиков.
Представьте себе, что кодировщик, впервые попавший в команду, работает вместе с другим программистом, который хорошо разбирается в предмете. Работая непосредственно со знающим программистом, другой кодер приобретет опыт быстрее, чем работая над задачами в одиночку.
3. Повышает сплоченность команды и повышает уровень удовлетворенности работой.
Согласно исследованию, цитируемому в другой научной статье, «Укрепление аргументов в пользу парного программирования», 96% парных программистов получают больше удовольствия от своей работы, чем когда они пишут код самостоятельно.
Одна из причин этого заключается в том, что он добавляет социальный компонент к традиционно уединенной и изолированной роли. Кроме того, профессиональные парные программисты говорят, что их уверенность в своей работе возрастает, когда они работают бок о бок с другим разработчиком программного обеспечения.
Кроме того, объединение программистов для совместной работы может повысить сплоченность, доверие и уважение команды. Со временем это возросшее чувство командной работы может улучшить общее качество продукции отдела программирования.
Каковы подводные камни парного программирования?
Хотя у парного программирования есть несколько преимуществ, этот подход к программированию также имеет несколько потенциальных недостатков. Вот несколько.
1. Это дороже сольного программирования.
Привлечение двух программистов к каждой задаче кодирования увеличит общие затраты на разработку.
Многие компании ошибочно предполагают, что затраты вырастут вдвое: зарплата двух программистов по сравнению с зарплатой одного программиста за тот же результат. Но поскольку два программиста могут вместе работать быстрее и с меньшим количеством ошибок, чем один программист, создающий код в одиночку, фактическое увеличение затрат менее чем вдвое. Тем не менее организация должна иметь в виду, что этот подход к разработке программного обеспечения потребует большего бюджета.
2. Это может быть контрпродуктивным для определенных типов кодировщиков.
Лучшая практика в парном программировании состоит в том, что два кодировщика поддерживают постоянный разговор. Вот почему такой подход часто называют «программированием вслух». Хотя обсуждение их мыслительных процессов с коллегой может помочь одним программистам, другим это может быть контрпродуктивным.
Застенчивые люди, интроверты и программисты, предпочитающие работать тихо, могут обнаружить, что парное программирование замедляет их работу или снижает качество их работы.
3. Это может подорвать инновации и творчество.
Если два программиста, объединившиеся для выполнения задания, обладают подлинным взаимопониманием, развивают чувство доверия и дополняют набор навыков друг друга, их совместная работа может привести к созданию инновационного и элегантного кода. Но если у пары не получается такой идеальной пары, их совместная работа может помешать их способности находить творческие решения.
Всего комментариев: 0