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

Проработав последние восемь лет в индустрии разработки программного обеспечения и производя его традиционно, появилась великолепная возможность стать частью Code for Australia. Лишь на третий день первой недели я понял, что все будет не так, как было раньше.

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

Это трудно? Да, но не невозможно. К счастью, я не один, меня на этой лодке сопровождают фантастический дизайнер, ориентированный на человека, и потрясающий тренер по javascript-разработчикам.

Все идет хорошо, но временами мне было интересно, как я могу внести свой вклад? Термины и понятия, с которыми я был не очень хорошо знаком, среди прочего, «agile», «двойной ромб», «ценностное предложение», подождите!

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

Вместе с моим товарищем по Code for Australia мы провели несколько тестов и отрефакторили фрагмент кода, применив парное программирование, и именно в этот момент я считаю, что эта практика может принести много преимуществ для разработки программного обеспечения.

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

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

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

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

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

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

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

А пока мы надеемся на успех нашего продукта и каждый раз будем применять парное программирование.

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

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