«Парное программирование - отличный тест на технические и социальные навыки». - Кент Бек

Программисты пишут код, но не всегда в синглтоне. Быть индивидуальным участником - это нормально. Но работа в команде или в парах улучшит ваши способности и технические навыки.

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

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

Парное программирование - широко известная для инженеров методология парного программирования. Для ознакомления: один разработчик объединяется с другим и пишет код. Когда вы пишете код в тандеме, вполне естественно использовать разные подходы к одной и той же проблеме. Дело не в самом решении, а в том, как вы его получите, обсуждениях и компромиссах.

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

Проектирование парной системы

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

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

Просмотр пары

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

Парное рецензирование сократит время цикла обзора и сократит постоянное общение (длинные цепочки обсуждения), которое могло бы произойти в противном случае.

Отладка пары

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

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

«Отладка вдвое сложнее, чем написание кода с самого начала. Следовательно, если вы напишете код настолько умно, насколько это возможно, вы по определению недостаточно умны, чтобы отлаживать его ». - Брайан Керниган (соавтор языка программирования C)

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

Парное обучение

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

Парное обучение также может превратиться в парное обучение, когда новичка тренирует эксперт в этой области. Но обучение неизбежно для обеих сторон, поскольку последние могут также изучить что-то новое, тренируя новичка.

В паре с неспециалистами

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

Сообщая им технические проблемы, они приобретут сочувствие и поймут, КАК МЫ ЭТО ДЕЛАЕМ.

На этом пока все.

Какой фруктовый вкус из всех этих вкусов вам нравится больше всего? - Хотелось бы узнать ваши мысли.