Czy warto stosować programowanie w parze ?

Czy warto stosować programowanie w parze?

O programowaniu w parze na pewno wiele osób słyszało. Ale ile z Was stosuje je w pracy? Dzięki pair programmigu można stworzyć kod wyższej jakości niż pracując pojedynczo. Jednak nie jest to łatwa metodyka i nie każdemu będzie odpowiadać.

Czas

Pierwsza kwestia która wydaje się tu najważniejsza, można sadzić że na programowanie w parach tracone jest dwa razy więcej czasu. Dwóch developerów siedzi nad tym samym zadaniem.  Jednak jest to iluzoryczne bo przy takim podejściu, kod który powstaje jest wyższej jakości niż pisany przez jedną osobę. Dzięki temu czas  poświęcony na code review jest krótszy. Również przy trudniejszych kwestiach łatwiej wymyślić coś we dwie osoby, niż samemu. Tym samym całkowity czas poświęcony na taska będzie krótszy niż w tradycyjnym programowaniu.

Co daje programowanie w parze

Dzięki pair programingu można się nauczyć wielu rzeczy. Od rzeczy technicznych związanych z językiem, po nowe skróty klawiszowe w ide. Niewątpliwym atutem wspólnego kodowania jest poszerzanie wiedzy w zespole, zwłaszcza gdy osoba pracowała w innej części systemu. Nie da się ukryć, że pracując razem z kimś trzeba rozmawiać i się komunikować. A trening umiejętności miękkich zawsze programistom się przyda.

Minusy programowania w parze

Największym wadą jest to, że siedzisz z obcą osobą w odległości kilkunastu-kilkudziesięciu centymetrów przez kilka godzin. Dla wielu takie naruszenie ich strefy intymnej może być ciężkim przeżyciem. Niestety masz wtedy mniejszą swobodę i może być trudno zrestartować Ci się przy obrazkach kotów.  Podświadomie możesz próbować pokazać, że potrafisz pracować przez cały czas na 100%.

Kiedy używać

Programowanie w parach dobrze jest używać podczas prac nad kodem rozwojowym. Mam tu na myśli dodawanie nowych funkcjonalności jak i wprowadzanie nowych idei do projektu. Czasem zdarza się, że nowy feature jest dosyć skomplikowany i we dwie osoby łatwiej wymyślić rozwiązanie. Tak samo praca w parze w sytuacji gdy jedna osoba ma wiedzę na temat danego zagadnienia, np ddd, inny paradygmat programowania jest bardzo korzystna. Zarówno dla drugiej osoby jak i dla projektu.

Nowe osoby w zespole

Tutaj programowanie w parze pokazuje całą swoją moc. W wielu firmach nowa osoba czyta dokumentację, poprawia testy, jest przez kogoś wprowadzana na sucho w projekt. Wszystko się zmienia gdy wspólnie te osoby pokodują. Nowy członek teamu, może zobaczyć jak wygląda praca z kodem na żywo. Dzięki temu poznaje standardy i konwencje w projekcie, architekturę, jak wygląda CI i CD a także to nad czym zespół pracuje. Wtedy osoba opiekująca się nowym programistom nie traci swojego czasu na teoretyczne opowiadanie o systemie a wykonuje swoje taski.

Rekrutacja

programowanie w parze na rekrutacji
rekrutacja

Ciekawą opcją na wykorzystanie pair programmingu jest proces rekrutacji. Kilkanaście minut wspólnej pracy nad prostym zadaniem może o kandydacie więcej powiedzieć niż długie teoretyczne rozmowy. Po takiej sesji masz pogląd jak możliwy przyszły współpracownik się zachowuje, jakie ma nawyki, jakie zasady stosuje, jak się komunikuje. Jeśli jeszcze nie próbowałeś pair programmingu przy rekrutacji to naprawdę polecam.

Kiedy nie używać

Nie w każdej sytuacji stosowanie programowania w parze ma sens. Do takich momentów można zaliczyć proste zadania wykorzystujące istniejący kod. Również taski w których jest więcej wyszukiwania informacji na jakiś temat lepiej pomijać przy wspólnym kodowaniu. Także zadania w których tropisz buga, masz długie sesje na debugerze nie sprzyjają wspólnej pracy. Nie ma też sensu stosować programowania w parze jednocześnie przez dwie niedoświadczone osoby.

Jak używać

Po pierwsze trzeba zmieniać osoby z którymi programujemy w parze. Jest to ważne dla naszego zdrowia psychicznego. Nawet co każdą sesję może to być ktoś inny. Taka pojedyncza sesja nie powinna trwać całego dnia tylko kilka godzin. Nawet w pracy każdy potrzebuje trochę samotności. Oczywiście często powinny być zmiany przy klawiaturze aby obie osoby mogły być porównywalny czas piszącym i nawigatorem. Może się tu sprawdzić technika pomodoro.

Czy warto stosować pair programming? Moim zdaniem tak ale nie przez cały czas. W głównej mierze zależy to od problemu z którym się mierzysz oraz osoby z którą będziesz w parze.