Ползите и клопките на програмирането на двойки на работното място

Програмирането по двойки е двама програмисти, работещи заедно на една работна станция.

Формално един програмист е водачът и пише код. Другият е наблюдателят или навигаторът, който преглежда всеки ред код, както е въведен.

Неофициално те седят заедно на една кодова база и говорят за неща и разбиват проблеми. Всеки от тях може да пише код и никой от тях не прави нещо друго като проверка на телефона.

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

И все пак изглежда като неефективно използване на ресурси. Имаме двама програмисти. И двамата биха могли да изграждат различни функции за една седмица, в края ще имаме двойно повече функции. Но това не е така и може да се окажете с 2 комплекта от 95% готови функции, които не могат да бъдат изпратени. Програмирането заедно може да увеличи нетната сума на действително пълните функции, които изпращате.

Ползите

По-малко грешки и задържане на грешки

Всички сме имали луди твърди грешки. Те могат да бъдат от основни недостатъци в целия подход или печатна грешка, неправилна инсталация или необходимост от рестартиране.

Като екип има шанс някой от вас да е направил подобна грешка и преди. Или е вероятно някой от вас да познава някой друг, който е срещнал проблема. И е по-вероятно да отделите точното време за проблем, преди да се върнете към чертожната дъска.

Можете да обсъдите по-добри стратегии. Това е по-добре, отколкото да държите проблема скрит цял ​​ден, без да го споделяте с други.

По-лесно да продължите - Морална подкрепа

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

По-трудно за отлагане

Работата в екип означава, че не можете да спрете и да проверите имейла си, Slack или Whatsapp за желано разсейване.

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

Споделени най-добри практики

Кодирането заедно е чудесен начин за споделяне на знания във вашата компания. Кодерите могат да си дават съвети, докато вървят, за да подобрят своя подход и да увеличат скоростта си.

Съвместната работа може да разкрие знания, които може да не са във вашия нов наръчник за служители.

По-бързо качване на борда

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

Идентифицирайте и намалете лошите наеми

Тя може да помогне за ранното идентифициране на лошите наеми, ако някой не е подходящ за бизнес или е нает за грешна роля. Можете да направите нещо по-рано, преди да загубите времето на двете страни.

По време на интервю за наемане екип, запознат с програмирането по двойки, ще бъде по-добър в преценката дали кандидатът може да програмира с други. Ако нормалният човек, който провежда интервюта, отсъства, можете да бъдете уверени, че някой друг може да го замести и да направи справедлив анализ.

Увеличете удовлетвореността на служителите

Кодирането заедно може да сближи служителите, тъй като те споделят опит и имат повече теми, за които да говорят. Когато другите хора разберат какво замисляте, ще имате повече общи неща. Това може да засегне много важни бизнес области. Той дори може да подобри темите за разговор на обяд, за да намали оттичането на служителите.

Кодирането може да бъде самотно преследване, когато сте зад компютъра сами и ви е казано да създавате функции. Намаляването на всяко отчуждение в дадена компания е важно. Това е една от причините, поради които бих предложил да има система за програмиране по двойки както за стартиращи предприятия на ранен етап, така и за големи предприятия.

Проблеми - Когато сдвояването става лошо

Програмирането по двойки може да обърка нещата и се нуждае от разумен подход.

Не прекалявайте (или под него)

Принуждаването на хората да прекарват по цял ден заедно не е разумно и може в крайна сметка да се мразят.

1,5–2,5-часови изблици обикновено работят най-добре. По-малкото е твърде кратко и е загуба на време.

Наградете споделен принос

Ако сте дали важни срокове на двама програмисти и след това сте назначили единия да помага на другия с неговата задача, вие се насочвате към потенциална катастрофа. Когато преглеждате кой е изпълнил задачите си и човек се чувства, че не е направил нищо, личните показатели страдат. Психически това е лошо. Но ако е свързано с някаква система за възнаграждение, вие си стреляте в крака. Като scrum master трябва да сте сигурни, че отчитате сдвояването и често задавате задачи.

Уморени кодери

Повече кафе и сдвояване не винаги е отговорът. Когато сте уморени и стресирани, може да не общувате правилно.

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

Комплексен код - сдвояване или обсъждане

За по-сложен код може да е отвличане на вниманието при опит за сдвояване. Понякога седенето и обяснението на проблема може да бъде по-полезно.

Официално да седнете заедно и да пишете код ред по ред, всъщност може да бъде разсейващо.

други мисли

Но какво ще кажете за отдалечени работници?

Служителите, работещи отдалечено, могат да сдвоят програма с инструменти за онлайн споделяне на екрана. Отстраних кода на приятели в Брюксел, докато седях в кафене в Казахстан. Повярвайте ми, че е възможно.

Някакво доказателство?

Това са размисли от моя опит. Разбрах тези предимства, докато работя с различни бизнеси и различни обувки.

Като учен приемам, че никога не съм правил двойно сляпо проучване на ползите. Разбира се, това никога не е било достатъчно голям приоритет в сравнение с това просто да се свършат нещата.

Но бих се радвал на проучване с над 100 участници, работещи по същия набор от проблеми. Едната група от 50 души може да работи по двойки, а другата група може да работи самостоятелно. Бих искал да видя какво ще стане. Това би могло да бъде хубаво проучване за всеки преподавател по компютърни науки.

Заключение

Както виждате, аз съм фен на програмирането по двойки. Някои програмисти не смятат, че това е ефективно използване на времето им. Ако сте мениджър, зависи от вас да прецените ситуацията и да се възползвате максимално от екипа си. Така или иначе, това определено е нещо, което всички компании трябва да позволяват понякога.

Той трябва да се прилага динамично, а не да се налага. Всеки обувателен лагер трябва да го включи в курса си за изграждане на добре закръглен кодер.

Използваме го често в собствената ми агенция за разработчици, от решаването на най-трудните ни проблеми до вливането на нов персонал. Това е процес, който с удоволствие използваме за повишаване на производителността и знанията в цялата компания. Разбира се, ние не го прилагаме през целия ден и всеки ден! Но ние го харесваме и го пазим.

Както казва старата поговорка „ Проблем, споделен, е проблем наполовина.

Пускам подкаст за мислене за растеж и технологично стартиране. Ако ви е харесало това, ще научите повече, като се абонирате.

Ако сте използвали програмиране по двойки, бих се радвал да чуя вашите мисли за това. Какви практики или съвети използвате, за да решите кога да сдвоите или не?